RecentChanges
|
FindPage
|
LikePages
|
BackLinks
View Source:
TpcH
Note:
This page has been locked and cannot be edited.
!!! Requêtes décisionnelles avec TPC H !!Préparation Lire le [sujet|http://www-poleia.lip6.fr/~doucet/CoursBDWA/td-tpc-H.pdf] du TME, et le [schema | http://www-master.ufr-info-p6.jussieu.fr/2005/IMG/naacke/bdwa/bdwa2006/extra/tme/tpch-schema_entites_associations.pdf] de TPC-H * Configurer l'environnement Linux: (voir [ConnexionOracle| http://www-bd.lip6.fr/wiki/site/enseignement/documentation/oracle/connexionoracle]) * Copier les fichiers du TME puis démarrer l'éditeur emacs ** tar zxvf $BD_TOOL/tpch-etu.tgz ** cd tpch-etu ** emacs etu-r0.sql & * depuis **emacs** se connecter au serveur de données __ora11__ (voir [ConnexionOracle| http://www-bd.lip6.fr/wiki/site/enseignement/documentation/oracle/connexionoracle]) * dans le buffer etu-r0.sql, aller sur la ligne suivante pour créer les synonymes vers la base TPCH de petite taille @tpch (puis saisir 2 fois Ctrl-C) * Vérifier que le résulat de la requête R0 s'affiche. !! Exercice Ecrire les requêtes décisionnelles R1 à R23. * Valeurs d'attributs à utiliser pour tester les requêtes ** Q1: l_shipdate <= '01/01/1993' ** Q2: r_name='EUROPE' AND p_type __like__ '%COPPER' AND p_size=26 !! Documentation * Nom des attributs ** Dans la base TPCH, le nom des attributs est préfixé par la première lettre de la relation. Ex. la date de livraison est nommée __L___shipdate. Le préfixe pour les attributs de Partsupp est PS. * Regroupement: __group by__ : Impossible de projeter sur un attribut dont la valeur n'est pas identique pour tous les tuples d'un même groupe. Autrement dit: seuls les attributs mentionnés dans le ''group by'' peuvent apparaître dans le ''select'', les autres attributs doivent être préalablement aggrégés. Exemples : __Erreur__ à cause de l'étoile : <verbatim> Select * From Lineitem Group by L_linestatus; </verbatim> __Syntaxe correcte__ : <verbatim> Select L_linestatus, count(*) From Lineitem Group by L_linestatus; </verbatim> * Requêtes paramétrées: __define__ ** définir des variables pour les requêtes paramétrées, voir etu-r0. * le livre [SQL Reference | http://www-ari.ufr-info-p6.jussieu.fr/OUTILS/documentation/doc/oracle/doc10G-2/server.102/b14200/toc.htm] de la [DocumentationOracle|http://www-bd.lip6.fr/wiki/site/enseignement/documentation/oracle/start] !!Divers Pour installer l'extrait de la base TPC-H chez soi, récupérer le contenu sous la forme de 8 [fichiers plats | http://www-master.ufr-info-p6.jussieu.fr/2005/IMG/naacke/bdwa/bdwa2006/extra/tme/spool_small_database.zip] et le [schéma | http://www-master.ufr-info-p6.jussieu.fr/2005/IMG/naacke/bdwa/bdwa2006/extra/tme/installation_small_database.zip] de la base. Adaptez les instructions de création de la base à votre environnement. * Eventuellement, adapter le format par défaut des dates pour qu'il corresponde à celui du fichier texte ** alter session set NLS_DATE_FORMAT = 'DD/MM/YY'; * [Spécification TPC-H| http://www-master.ufr-info-p6.jussieu.fr/2005/IMG/naacke/bdwa/bdwa2006/extra/tme/tpch-spec-2.3.0.pdf] (avec les requêtes SQL, à lire seulement en fin de TME...) ---- LesCours, LesTme, [Accueil]