SQL pour. Oracle 10g. Razvan Bizoï. Tsoft, Groupe Eyrolles, 2006, ISBN : , ISBN 13 :

Dimension: px
Commencer à balayer dès la page:

Download "SQL pour. Oracle 10g. Razvan Bizoï. Tsoft, Groupe Eyrolles, 2006, ISBN : 2-212-12055-9, ISBN 13 : 978-2-212-12055-4"

Transcription

1 SQL pour Oracle 10g Razvan Bizoï Tsoft, Groupe Eyrolles, 2006, ISBN : , ISBN 13 :

2 CUBE ROLLUP Fonctions de classement Partitionnement GROUPING Module 11 : Les requêtes multi-tables Objectifs A la fin de ce module, vous serez à même d effectuer les tâches suivantes : Effectuer des requêtes multi-tables. Sélectionner des lignes sans créer de produit cartésien. Effectuer des interrogations avec des alliasses de tables. Effectuer des interrogations en utilisant la syntaxe d Oracle pour les jointures. Effectuer des interrogations en utilisant la syntaxe ANSI SQL :1999. Contenu Requêtes multi-tables L opérateur CROSS JOIN La jointure sans condition L opérateur NATURAL JOIN La jointure avec condition L opérateur JOIN USING La jointure externe L autojointure Atelier L opérateur JOIN ON L opérateur JOIN ON L opérateur OUTER JOIN SQL : Atelier Eyrolles/Tsoft SQL pour Oracle10g 11-1

3 Requêtes multi-tables Requêtes multi-tables Module 11 : Les requêtes multitables - Diapo 11.3 Jusqu'ici, nous avons extrait des données, brutes ou dérivées, issues d'une seule table. Nous examinerons dans cette section comment coupler les lignes de deux ou plusieurs tables afin d'en extraire des données corrélées. Dans un environnement réel de production, les informations utiles sont souvent contenues dans plusieurs tables. Par exemple, vous pouvez avoir besoin du nom des catégories de produits alors que la table PRODUITS ne contient que les codes des catégories. Vous devez alors coupler les deux tables, PRODUITS et la table CATEGORIES. Les bases de données relationnelles permettent dans leur principe d'associer deux ou plusieurs tables par des colonnes communes et qui participent à la formation de clés. Il existe deux types de clés, primaire et étrangère. Une clé primaire, composée d'un ou de plusieurs champs, permet d'identifier de façon unique un enregistrement de la table. Dans la table CATEGORIES, la clé primaire est représentée par une seule colonne, CODE_CATEGORIE. La table PRODUITS contient aussi cette colonne, mais il s'agit pour elle d'une clé étrangère. Une clé étrangère permet d'extraire des informations contenues dans une autre table (étrangère). Une telle opération d'association de tables porte le nom de jointure. Les jointures sont classifiées : La jointure sans condition. La jointure avec condition. La jointure externe L auto jointure 11-2 Eyrolles/Tsoft SQL pour Oracle10g

4 La jointure sans condition La jointure sans condition Module 11 : Les requêtes multitables - Diapo 11.4 Une requête sans condition affiche pour chaque ligne de la première table l ensemble des lignes de la deuxième, si d autres tables sont définies dans la clause «FROM», pour chaque ligne du résultat précèdent les lignes de la table suivante, etc. SQL> SELECT COUNT(*) FROM PRODUITS; COUNT(*) SQL> SELECT COUNT(*) FROM CATEGORIES; COUNT(*) SQL> SELECT NOM_PRODUIT, NOM_CATEGORIE FROM PRODUITS, CATEGORIES; NOM_PRODUIT NOM_CATEGORIE Chai Boissons Chang Boissons Aniseed Syrup Boissons Chef Anton's Cajun Seasoning Boissons ligne(s) sélectionnée(s). La requête précédente risque cependant d'être extrêmement coûteuse (le résultat contiendrait ici 77 x 8 = 616 lignes) et n'offrirait aucun intérêt. Cette opération est le produit relationnel, le plus souvent appelé (abusivement, car le résultat n'est pas un ensemble de couples de lignes) produit cartésien dans la littérature. Eyrolles/Tsoft SQL pour Oracle10g 11-3

5 La jointure avec condition La jointure avec condition Module 11 : Les requêtes multitables - Diapo 11.5 Pour coupler deux tables, il faut d'abord préciser les tables dans la clause «FROM», ainsi que la règle d'association des lignes de ces deux tables, les conditions correspondantes dans la clause «WHERE», dont les valeurs sont extraites. Cette règle se présente sous la forme d une égalité des valeurs de deux colonnes. SQL> SELECT A.CODE_CATEGORIE CAT, 2 NOM_PRODUIT "Produit", 3 NOM_CATEGORIE "Categorie" 4 FROM PRODUITS A, CATEGORIES B 5 WHERE A.CODE_CATEGORIE=B.CODE_CATEGORIE AND ROWNUM < 8 6 ORDER BY REF_PRODUIT; CAT Produit Categorie Chai Boissons 1 Chang Boissons 2 Aniseed Syrup Condiments 2 Chef Anton's Cajun Seasoning Condiments 2 Chef Anton's Gumbo Mix Condiments 2 Grandma's Boysenberry Spread Condiments 7 Uncle Bob's Organic Dried Pears Produits secs La requête précédente affiche, pour chaque produit, le nom de la catégorie correspondante. Dans la clause «FROM», vous remarquerez les alias A et B pour les tables PRODUITS et CATEGORIES, utilisées pour faciliter l écriture de la requête et pour lever certaines ambiguïtés, comme dans notre cas où les deux tables possèdent une colonne de même nom CODE_CATEGORIE. SQL> SELECT NOM ' ' PRENOM "Vendeur", 2 SOCIETE "Client", 3 TO_CHAR( DATE_COMMANDE,'DD/MM/YYYY') "Commande", 4 PORT "Port" 11-4 Eyrolles/Tsoft SQL pour Oracle10g

6 5 FROM CLIENTS A,EMPLOYES B,COMMANDES C 6 WHERE A.CODE_CLIENT = C.CODE_CLIENT AND 7 B.NO_EMPLOYE = C.NO_EMPLOYE AND 8 DATE_COMMANDE > '01/05/1998'; Vendeur Client Commande Port Andrew Lehmanns Marktstand 05/05/1998 6,80 Nancy Drachenblut Delikatessen 04/05/ ,90 Callahan Laura Queen Cozinha 04/05/ ,75 Nancy Tortuga Restaurante 04/05/ ,35 Nancy LILA-Supermercado 05/05/1998 4,65 Peacock Margaret Ernst Handel 05/05/ ,20 Andrew Pericles Comidas clßsicas 05/05/ ,75 King Robert Simons bistro 06/05/ ,20 Callahan Laura Richter Supermarkt 06/05/ ,95 Peacock Margaret Bon app' 06/05/ ,40 Nancy Rattlesnake Canyon Grocery 06/05/ ,65 Les conditions telles que A.CODE_CLIENT = C.CODE_CLIENT sont appelées conditions de jointure, car elles régissent les associations entre les lignes de COMMANDES et CLIENTS. Techniquement, cependant, il s'agit d'une condition ordinaire appliquée aux colonnes de chaque couple de lignes, et qui peut apparaître au milieu d'autres conditions de sélection, comme dans la requête précédente, pour limiter le résultat aux commandes ultérieures au 01 mai Eyrolles/Tsoft SQL pour Oracle10g 11-5

7 La jointure externe La jointure externe Module 11 : Les requêtes multitables - Diapo 11.6 Dans le cas d'une jointure classique, lorsqu'une ligne d'une table ne satisfait pas à la condition de jointure, cette ligne n'apparaît pas dans le résultat final. Il peut cependant être souhaitable de conserver les lignes d'une table qui ne répondent pas à la condition de jointure. On parle alors de jointure externe (outer join). SQL> SELECT NOM "Employé", 2 EXTRACT ( YEAR FROM DATE_COMMANDE) "Année", 3 SUM( PORT) 4 FROM EMPLOYES A,COMMANDES B 5 WHERE A.NO_EMPLOYE = B.NO_EMPLOYE (+) 6 GROUP BY NOM, 7 EXTRACT ( YEAR FROM DATE_COMMANDE) ; Employé Année SUM(PORT) Peacock ,95 Buchanan ,29 Callahan Suyama , ,35 Suyama ,85 Dodsworth , ,89 Leverling ,1 Peacock ,43 Suyama ,82 Dodsworth ,34 Leverling , Eyrolles/Tsoft SQL pour Oracle10g

8 Dans l'exemple précédent la jointure externe consiste à ajouter au résultat de la jointure normale, l'ensemble des employés qui n'ont pas effectué de ventes. Ce résultat est obtenu en ajoutant le symbole «+» juste après COMMANDES.NO_EMPLOYE. Le signe «+» permet d'ajouter une ligne fictive de valeur nulle, mais qui vérifie la condition de jointure. SQL> SELECT NOM "Employé", 2 SOCIETE "Client" 3 FROM EMPLOYES A,COMMANDES B,CLIENTS C 4 WHERE A.NO_EMPLOYE = B.NO_EMPLOYE (+) AND 5 B.CODE_CLIENT= C.CODE_CLIENT AND 6 NVL(DATE_COMMANDE,'02/05/1998') > '01/05/1998'; Employé Client King Lehmanns Marktstand Drachenblut Delikatessen Queen Cozinha Tortuga Restaurante LILA-Supermercado Peacock Ernst Handel King Pericles Comidas clßsicas King Simons bistro Richter Supermarkt Peacock Bon app' Rattlesnake Canyon Grocery La requête précédente ne retourne que les employés qui ont effectué des ventes, malgré la jointure externe entre la table EMPLOYES et COMMANDES. En effet la condition B.CODE_CLIENT = C.CODE_CLIENT impose l existence d un enregistrement dans la table B (COMMANDE). Pour pouvoir visualiser l ensemble des employés et pour ceux qui ont effectués des ventes les clients correspondants, il faut transformer la jointure entre les tables COMMANDES et CLIENTS en jointure externe. SQL> SELECT NOM "Employé", NVL(SOCIETE, '- Pas de client-') "Client" 3 FROM EMPLOYES A,COMMANDES B,CLIENTS C 4 WHERE A.NO_EMPLOYE = B.NO_EMPLOYE (+) AND 5 B.CODE_CLIENT= C.CODE_CLIENT(+) AND 6 NVL(DATE_COMMANDE,'02/05/1998') > '01/05/1998' ; Employé Client Drachenblut Delikatessen Queen Cozinha Tortuga Restaurante LILA-Supermercado Richter Supermarkt Rattlesnake Canyon Grocery - Pas de client- Peacock Ernst Handel Peacock Bon app' Buchanan - Pas de client-... Eyrolles/Tsoft SQL pour Oracle10g 11-7

9 L autojointure L autojointure Module 11 : Les requêtes multitables - Diapo 11.7 L'autojointure met en corrélation les lignes d'une table avec d'autres lignes de la même table. Elle permet donc de ramener sur la même ligne de résultat des informations venant d'une ligne plus des informations venant d'une autre ligne de la même table. La jointure d'une table à elle-même n'est possible qu'à condition d'utiliser des "alias" ou abréviations de table pour faire référence à une même table sous des noms différents. L'utilisation d'un alias (ou nom d'emprunt ou synonyme) permet de renommer une des tables et évite les problèmes d'ambiguïté pour les noms de colonnes qui doivent être préfixés par le synonyme des différentes tables. 3 FROM EMPLOYES A,EMPLOYES B 4 WHERE A.REND_COMPTE = B.NO_EMPLOYE (+) ; Employé Supérieur Callahan Buchanan Peacock Leverling Dodsworth Buchanan King -- Pas de supérieur -- Suyama Buchanan La requête comporte une jointure externe pour pouvoir afficher tous les employés, y compris ceux qui n ont pas de supérieur hiérarchique Eyrolles/Tsoft SQL pour Oracle10g

10 Atelier 11.1 Atelier 11.1 Les équijointures Les jointures externes et autojointures Durée : 25 minutes Module 11 : Les requêtes multitables - Diapo 11.8 Questions Sachant que la table COMMANDES a 830 enregistrements et la table DETAILS_COMMANDES a 2155 enregistrements, combien d enregistrements retournent une requête qui interroge ces deux tables sans aucune jointure? Quelles sont les syntaxes incorrectes? A. SELECT COUNT(DISTINCT A.NO_EMPLOYE) FROM EMPLOYES A, COMMANDES B WHERE A.NO_EMPLOYE = B.NO_EMPLOYE (+); B. SELECT COUNT(DISTINCT A.NO_EMPLOYE) FROM EMPLOYES A, COMMANDES B WHERE A.NO_EMPLOYE = (+)B.NO_EMPLOYE; C. SELECT COUNT(DISTINCT A.NO_EMPLOYE) FROM EMPLOYES A, COMMANDES B WHERE A.NO_EMPLOYE(+)= B.NO_EMPLOYE ; D. SELECT COUNT(DISTINCT A.NO_EMPLOYE) FROM EMPLOYES A, COMMANDES B WHERE (+)A.NO_EMPLOYE = B.NO_EMPLOYE (+); E. SELECT COUNT(DISTINCT A.NO_EMPLOYE) FROM EMPLOYES A, COMMANDES B WHERE A.NO_EMPLOYE = B.NO_EMPLOYE; Quelle est la requête dans la liste précédente qui retrouve tous les employés même s ils n ont pas passé de commandes? Eyrolles/Tsoft SQL pour Oracle10g 11-9

11 Exercice n 1 Les équijointures Écrivez les requêtes permettant d afficher : Le nom, le prénom et la société cliente pour les employés qui ont effectué une vente pour les clients de Paris. La société cliente, le nombre des produits commandés, la ville et le pays qui ont commandé plus de vingt cinq produits. Le nom de la catégorie du produit, la société fournisseur et le nom du produit, uniquement pour les produits des catégories 1, 4 et 7. La société cliente, la société fournisseur et leur ville pour les clients qui sont localisés dans une ville d un fournisseur (Il s agit d une jointure entre la table CLIENTS et FOURNISSEURS). Les sociétés clientes qui ont commandé le produit Chai. Exercice n 2 Les jointures externes et autojointures Tous les clients et le cumul des quantités vendues pour les clients qui ont passé des commandes. Affichez les enregistrements par ordre décroissant de cumul des commandes avec les valeurs «NULL» à la fin. Les localités des clients et le cumul des quantités vendues par localité. Affichez les enregistrements par ordre décroissant de cumul des commandes avec les valeurs «NULL» à la fin. Le nom, le prénom, la fonction de tous les employés, la somme des frais de port et le cumul des ventes (prix unitaire fois la quantité) pour les employés qui ont passé des commandes. Affichez les enregistrements par ordre décroissant de cumul des ventes avec les valeurs «NULL» à la fin. Le nom, le prénom, la fonction des supérieurs hiérarchiques ainsi le nom et prénom des employés gérés par eux. Le nom, le prénom, la fonction des tous les employés, le nom et prénom des employés gérés par eux, si tél est le cas, ainsi que le nom et prénom des employés gérés par les précédents si tél est le cas Eyrolles/Tsoft SQL pour Oracle10g

12 SQL : 1999 SQL : 1999 Module 11 : Les requêtes multitables - Diapo Oracle 9i propose également un ensemble d opérateurs explicites pour réaliser la jointure de deux ou plusieurs tables. La syntaxe de SQL : 1999 n apporte aucune amélioration en terme de performance. Elle a été introduite par souci de conformité avec les standards ANSI/ISO. Une jointure en SQL : 1999 vous permet de sélectionner des colonnes dans plusieurs tables en développant la clause «FROM» de l'instruction «SELECT» respectant la syntaxe suivante : SELECT [ALL DISTINCT]{*,[EXPRESSION1 [AS] ALIAS1[,...]} FROM NOM_TABLE1 { [ CROSS JOIN NOM_TABLE2] [ NATURAL JOIN NOM_TABLE2 USING (NOM_COLONNE1[,...])] [ JOIN NOM_TABLE2 USING (NOM_COLONNE1[,...])] [ JOIN NOM_TABLE2 ON (NOM_TABLE1.NOM_COLONNE = NOM_TABLE2.NOM_COLONNE)] [ {LEFT RIGHT FULL} OUTER JOIN NOM_TABLE2 ON (NOM_TABLE1.NOM_COLONNE = NOM_TABLE2.NOM_COLONNE)] } CROSS JOIN NATURAL JOIN JOIN USING JOIN ON OUTER JOIN Le résultat est le même que celui d une requête sans condition qui affiche pour chaque ligne de la première table l ensemble des lignes de la deuxième. La jointure entre les tables est effectuée à l aide des colonnes qui portent le même nom. La jointure entre les tables est effectuée à l aide de la ou des colonnes spécifiées. La jointure entre les tables est effectuée à l aide de la condition spécifiée. La jointure externe entre les tables est effectuée à l aide de la condition spécifiée. Eyrolles/Tsoft SQL pour Oracle10g 11-11

13 L opérateur CROSS JOIN L opérateur CROSS JOIN Module 11 : Les requêtes multitables - Diapo L opérateur «CROSS JOIN» est un produit cartésien ; il donne le même résultat que celui d une requête sans condition. La syntaxe est la suivante : SELECT [ALL DISTINCT]{*,[EXPRESSION1 [AS] ALIAS1[,...]} FROM NOM_TABLE1 CROSS JOIN NOM_TABLE2 ; SQL> SELECT COUNT(*) FROM PRODUITS; COUNT(*) SQL> SELECT COUNT(*) FROM CATEGORIES ; COUNT(*) SQL> SELECT COUNT(*) 2 FROM PRODUITS CROSS JOIN CATEGORIES; COUNT(*) Eyrolles/Tsoft SQL pour Oracle10g

14 L opérateur NATURAL JOIN L opérateur NATURAL JOIN Module 11 : Les requêtes multi-tables Module 11 : Les requêtes multitables - Diapo L opérateur «NATURAL JOIN» effectue la jointure entre deux tables en se servant des colonnes des deux tables qui portent le même nom. La syntaxe est la suivante : SELECT [ALL DISTINCT]{*,[EXPRESSION1 [AS] ALIAS1[,...]} FROM NOM_TABLE1 NATURAL JOIN NOM_TABLE2 ; SQL> SELECT SOCIETE, DATE_COMMANDE, PORT 4 FROM CLIENTS NATURAL JOIN COMMANDES; SOCIETE DATE_COM PORT Pericles Comidas clßsicas 14/11/96 2,69 Antonio Moreno TaquerÝa 27/11/96 1,10 Bottom-Dollar Markets 10/01/97,12 Hungry Coyote Import Store 15/01/97,01 Furia Bacalhau e Frutos do Mar 04/03/97 4,45 Seven Seas Imports 12/03/97,21 Simons bistro 03/06/97,49 Blondel pþre et fils 12/06/97 4,42 Trail's Head Gourmet Provisioners 19/06/97 1,88 B's Beverages 24/06/97 1,48 Lehmanns Marktstand 09/07/97 8,71 TradiþÒo Hipermercados 22/07/97 3,97 The Cracker Box 07/08/97 4,74 Maison Dewey 28/08/97,31 Die Wandernde Kuh 01/09/97 1,03 Du monde entier 26/09/97,22 Hanari Carnes 02/10/97,79... Eyrolles/Tsoft SQL pour Oracle10g 11-13

15 La requête précédente affiche, pour chaque produit, le nom de la catégorie correspondante. Attention L opérateur «NATURAL JOIN» réalise la jointure entre deux tables en utilisant des noms de colonnes identiques, et non pas l intermédiaire de l'intégrité référentielle, à savoir les clés primaires et les clés étrangères. SQL> DESC PRODUITS Nom NULL? Type REF_PRODUIT NOT NULL NUMBER(6) NOM_PRODUIT NOT NULL VARCHAR2(40) NO_FOURNISSEUR NOT NULL NUMBER(6) CODE_CATEGORIE NOT NULL NUMBER(6) QUANTITE VARCHAR2(30) PRIX_UNITAIRE NOT NULL NUMBER(8,2) UNITES_STOCK NUMBER(5) UNITES_COMMANDEES NUMBER(5) INDISPONIBLE NUMBER(1) SQL> DESC DETAILS_COMMANDES Nom NULL? Type NO_COMMANDE NOT NULL NUMBER(6) REF_PRODUIT NOT NULL NUMBER(6) PRIX_UNITAIRE NOT NULL NUMBER(8,2) QUANTITE NOT NULL NUMBER(5) REMISE NOT NULL FLOAT(126) SQL> SELECT * 2 FROM DETAILS_COMMANDES NATURAL JOIN 3 PRODUITS; SELECT * * ERREUR à la ligne 1 : ORA-01722: Nombre non valide Dans l exemple précèdent, la requête joint les tables DETAILS_COMMANDE et PRODUITS à l aide de l opérateur «NATURAL JOIN». Vous pouvez remarquer que la jointure donne un message d erreur de nombre invalide. En effet la colonne QUANTITE est prise en compte pour la jointure ; son nom est identique dans les deux tables, mais le type de la colonne est différent Eyrolles/Tsoft SQL pour Oracle10g

16 L opérateur JOIN USING L opérateur JOINT USING Module 11 : Les requêtes multitables - Diapo L opérateur «JOIN USING» effectue la jointure entre deux tables en se servant des colonnes spécifiées respectant la syntaxe suivante : SELECT [ALL DISTINCT]{*,[EXPRESSION1 [AS] ALIAS1[,...]} FROM NOM_TABLE1 [ JOIN NOM_TABLE2 USING (NOM_COLONNE1[,...])] ; SQL> SELECT CLIENTS.SOCIETE, FOURNISSEURS.SOCIETE 2 FROM CLIENTS JOIN FOURNISSEURS USING(VILLE); SOCIETE SOCIETE Alfreds Futterkiste Heli Süßwaren GmbH Co. KG Around the Horn Exotic Liquids B's Beverages Exotic Liquids Comércio Mineiro Refrescos Americanas LTDA Consolidated Holdings Exotic Liquids Eastern Connection Exotic Liquids Familia Arquibaldo Refrescos Americanas LTDA Mère Paillarde Ma Maison North/South Exotic Liquids Paris spécialités Aux joyeux ecclésiastiques Queen Cozinha Refrescos Americanas LTDA Seven Seas Imports Exotic Liquids Spécialités du monde Aux joyeux ecclésiastiques Tradição Hipermercados Refrescos Americanas LTDA SQL> SELECT CLIENTS.SOCIETE, FOURNISSEURS.SOCIETE 2 FROM CLIENTS, FOURNISSEURS 3 WHERE CLIENTS.VILLE = FOURNISSEURS.VILLE; Eyrolles/Tsoft SQL pour Oracle10g 11-15

17 La requête précédente affiche les clients qui sont localisés dans une ville d un fournisseur ; la deuxième requête est la traduction dans l ancienne syntaxe. SQL> SELECT * 2 FROM DETAILS_COMMANDES NATURAL JOIN 3 PRODUITS; SELECT * * ERREUR à la ligne 1 : ORA-01722: Nombre non valide SQL> SELECT NOM, 2 NOM_PRODUIT, 3 SUM(DETAILS_COMMANDES.PRIX_UNITAIRE* 4 DETAILS_COMMANDES.QUANTITE) CA 5 FROM EMPLOYES NATURAL JOIN 6 COMMANDES NATURAL JOIN 7 DETAILS_COMMANDES JOIN 8 PRODUITS USING( REF_PRODUIT) 9 WHERE EXTRACT ( YEAR FROM DATE_COMMANDE) = GROUP BY NOM, NOM_PRODUIT 11 ORDER BY NOM, NOM_PRODUIT; NOM NOM_PRODUIT CA Alice Mutton Aniseed Syrup Boston Crab Meat ,5 Camembert Pierrot Carnarvon Tigers ,5 Chai Chang Chartreuse verte Chef Anton's Cajun Seasoning Chef Anton's Gumbo Mix ,75 Chocolade ,75 Côte de Blaye Escargots de Bourgogne ,75 Filo Mix Fløtemysost ,5 Geitost ,5 Genen Shouyu ,5 Gnocchi di nonna Alice Gorgonzola Telino ,5 Grandma's Boysenberry Spread Gravad lax Guaraná Fantástica Gudbrandsdalsost Gula Malacca Gumbär Gummibärchen ,5 Gustaf's Knäckebröd Eyrolles/Tsoft SQL pour Oracle10g

18 L opérateur JOIN ON L opérateur JOINT ON Module 11 : Les requêtes multitables - Diapo L opérateur «JOIN ON» effectue la jointure entre deux tables en se servant des conditions spécifiées respectant la syntaxe suivante : SELECT [ALL DISTINCT]{*,[EXPRESSION1 [AS] ALIAS1[,...]} FROM NOM_TABLE1 [ JOIN NOM_TABLE2 ON (NOM_TABLE1.NOM_COLONNE = NOM_TABLE2.NOM_COLONNE)] ; SQL> SELECT A.NOM "Employé", 2 B.NOM "Supérieur" 3 FROM EMPLOYES A JOIN EMPLOYES B 4 ON ( A.REND_COMPTE = B.NO_EMPLOYE); Employé Supérieur Callahan Buchanan Peacock Leverling Dodsworth Buchanan Suyama Buchanan SQL> SELECT A.NOM "Employé", 2 B.NOM "Supérieur" 3 FROM EMPLOYES A, EMPLOYES B 4 WHERE A.REND_COMPTE = B.NO_EMPLOYE; La requête précédente affiche les employés et leur supérieur hiérarchique ; la deuxième requête est la traduction dans l ancienne syntaxe. SQL> SELECT A.NOM_PRODUIT, B.QUANTITE, B.PRIX_UNITAIRE Eyrolles/Tsoft SQL pour Oracle10g 11-17

19 2 FROM PRODUITS A JOIN DETAILS_COMMANDES B 3 ON ( A.REF_PRODUIT = B.REF_PRODUIT) ; NOM_PRODUIT QUANTITE PRIX_UNITAIRE Queso Cabrales Singaporean Hokkien Fried Mee Mozzarella di Giovanni Tofu 9 93 Manjimup Dried Apples Jack's New England Clam Chowder 10 38,5 Manjimup Dried Apples Louisiana Fiery Hot Pepper Sauce Dans l exemple précèdent, la requête joint les tables DETAILS_COMMANDE et PRODUITS à l aide de l opérateur «JOIN ON» Eyrolles/Tsoft SQL pour Oracle10g

20 L opérateur JOIN ON L opérateur JOINT ON Module 11 : Les requêtes multitables - Diapo L opérateur «JOIN ON» effectue la jointure entre deux tables en se servant des conditions spécifiées respectant la syntaxe suivante : SELECT [ALL DISTINCT]{*,[EXPRESSION1 [AS] ALIAS1[,...]} FROM NOM_TABLE1 [ JOIN NOM_TABLE2 ON (NOM_TABLE1.NOM_COLONNE = NOM_TABLE2.NOM_COLONNE) [{AND OR} EXPRESSION ]] ; SQL> SELECT NOM ' ' PRENOM "Vendeur", SOCIETE "Client", 2 TO_CHAR( DATE_COMMANDE,'DD Mon YYYY') "Commande", PORT "Port" 3 FROM CLIENTS A JOIN COMMANDES B 4 ON ( A.CODE_CLIENT = B.CODE_CLIENT ) 5 JOIN EMPLOYES C 6 ON ( B.NO_EMPLOYE = C.NO_EMPLOYE ) 7 AND DATE_COMMANDE > '01/05/1998'; Vendeur Client Commande Port King Robert Lehmanns Marktstand 05 Mai ,80 Nancy Drachenblut Delikatessen 04 Mai ,90 Nancy Queen Cozinha 04 Mai ,75 Nancy Tortuga Restaurante 04 Mai ,35 Nancy LILA-Supermercado 05 Mai ,65 Peacock Margaret Ernst Handel 05 Mai ,20 King Robert Pericles Comidas clßsicas 05 Mai ,75 King Robert Simons bistro 06 Mai ,20 Nancy Richter Supermarkt 06 Mai ,95 Peacock Margaret Bon app' 06 Mai ,40 Nancy Rattlesnake Canyon Grocery 06 Mai ,65 Eyrolles/Tsoft SQL pour Oracle10g 11-19

21 L opérateur OUTER JOIN L opérateur OUTER JOIN Module 11 : Les requêtes multitables - Diapo L opérateur «OUTER JOIN ON» effectue une jointure externe entre deux tables en se servant des conditions spécifiées respectant la syntaxe suivante : SELECT [ALL DISTINCT]{*,[EXPRESSION1 [AS] ALIAS1[,...]} FROM NOM_TABLE1 [ {LEFT RIGHT FULL} OUTER JOIN NOM_TABLE2 { ON (NOM_TABLE1.NOM_COLONNE = NOM_TABLE2.NOM_COLONNE)] USING (NOM_COLONNE1[,...])] }; LEFT RIGHT Indique que la table de gauche/droite est dominante, celle dont on affiche tous les enregistrements. FULL Cette option est l union des deux requêtes, «LEFT OUTER JOIN» et «RIGHT OUTER JOIN». SQL> SELECT A.NOM "Employé", 2 NVL(B.NOM,'-- Pas de supérieur --') "Supérieur" 3 FROM EMPLOYES A LEFT OUTER JOIN EMPLOYES B 4 ON ( A.REND_COMPTE = B.NO_EMPLOYE); Employé Supérieur Callahan Buchanan Peacock Leverling King -- Pas de supérieur -- Suyama Buchanan Eyrolles/Tsoft SQL pour Oracle10g

22 Atelier 11.2 Atelier 11.2 Les équijointures Les jointures externes et autojointures Durée : 15 minutes Module 11 : Les requêtes multitables - Diapo Questions Quelles sont les syntaxes incorrectes? A. SELECT COUNT(*) FROM EMPLOYES A OUTER JOIN EMPLOYES B ; B. SELECT COUNT(*) FROM EMPLOYES A LEFT OUTER JOIN EMPLOYES B ; C. SELECT COUNT(*) FROM EMPLOYES A NATURAL JOIN EMPLOYES B ; D. SELECT COUNT(*) FROM EMPLOYES A JOIN EMPLOYES B ON ( A.NO_EMPLOYE = B.REND_COMPTE ); E. SELECT COUNT(*) FROM EMPLOYES A LEFT OUTER JOIN EMPLOYES B ON ( A.NO_EMPLOYE = B.REND_COMPTE ); F. SELECT COUNT(*) FROM EMPLOYES A JOIN EMPLOYES B USING ( NO_EMPLOYE ); Quelle est la requête dans la liste précédente qui retrouve tous les employés et les employés gérés par eux si tél est le cas sinon «NULL»? Exercice n 1 Les équijointures Écrivez les requêtes, compatible avec la norme ANSI/ISO SQL : 1999, permettant d afficher : Le nom, le prénom et la société cliente, la date de la commande et les frais de port pour les employés qui ont effectué une vente pour les clients de Paris. Eyrolles/Tsoft SQL pour Oracle10g 11-21

23 La société cliente, le nombre des produits commandés, la ville et le pays qui ont commandé plus de vingt cinq produits. Le nom de la catégorie du produit, la société fournisseur et le nom du produit, uniquement pour les produits des catégories 1, 4 et 7. La société cliente, la société fournisseur et leur ville pour les clients qui sont localisés dans une ville d un fournisseur (Il s agit d une jointure entre la table CLIENTS et FOURNISSEURS). Les sociétés clientes qui ont commandé le produit Chai. Exercice n 2 Les jointures externes et autojointures Tous les clients et le cumul des quantités vendues pour les clients qui ont passé des commandes. Affichez les enregistrements par ordre décroissant de cumul des commandes avec les valeurs «NULL» à la fin. Les localités des clients et le cumul des quantités vendues par localité. Affichez les enregistrements par ordre décroissant de cumul des commandes avec les valeurs «NULL» à la fin. Le nom, le prénom, la fonction de tous les employés, la somme des frais de port et le cumul des ventes (prix unitaire fois la quantité) pour les employés qui ont passé des commandes. Affichez les enregistrements par ordre décroissant de cumul des ventes avec les valeurs «NULL» à la fin. Le nom, le prénom, la fonction des supérieurs hiérarchiques ainsi le nom et prénom des employés gérés par eux. Le nom, le prénom, la fonction des tous les employés, le nom et prénom des employés gérés par eux si tél est le cas, ainsi que le nom et prénom des employés gérés par les précédents si tél est le cas Eyrolles/Tsoft SQL pour Oracle10g

Module 34 : Oracle 10g SQL Réponses aux ateliers

Module 34 : Oracle 10g SQL Réponses aux ateliers Module 34 : Oracle 10g SQL Réponses aux ateliers Eyrolles/Tsoft SQL pour Oracle10g 34-1 Atelier 1 Présentation de l environnement Questions 1-1. 1-2. 1-3. 1-4. 1-5. 1-6. 1-7. 1-8. 1-9. Une table ne peut

Plus en détail

Cours: Les Jointures 1

Cours: Les Jointures 1 Bases de Données Avancées Module A IUT Lumière, License CE-STAT 2006-2007 Pierre Parrend Cours: Les Jointures 1 Plan Table of Contents Principe...1 Example...1 Types de Jointures...2 Définitions et examples...2

Plus en détail

Langage SQL : créer et interroger une base

Langage SQL : créer et interroger une base Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,

Plus en détail

Apprendre le langage SQL - Le DML - 1 / 41 - Apprendre le langage SQL par l exemple Partie 2 : le DML

Apprendre le langage SQL - Le DML - 1 / 41 - Apprendre le langage SQL par l exemple Partie 2 : le DML Apprendre le langage SQL - Le DML - 1 / 41 - Apprendre le langage SQL par l exemple Partie 2 : le DML Ce document est publié sous licence Creative Commons CC-by-nc-nd. Il ne peut ni être modifié, ni faire

Plus en détail

SQL. Requête la plus simple. Projection. Requête la plus simple. Différents modes d interrogation. Requêtes mécanismes d interrogation des données

SQL. Requête la plus simple. Projection. Requête la plus simple. Différents modes d interrogation. Requêtes mécanismes d interrogation des données Requêtes mécanismes d interrogation des données SQL! En entrée : une ou plusieurs tables! En sortie : une table réponse sandra.bringay@univ-montp3.fr roland.mahiques@univ-montp3.fr alexandre.pinlou@univ-montp3.fr

Plus en détail

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ; RÈGLES A SUIVRE POUR OPTIMISER LES REQUÊTES SQL Le but de ce rapport est d énumérer quelques règles pratiques à appliquer dans l élaboration des requêtes. Il permettra de comprendre pourquoi certaines

Plus en détail

Interrogation de bases de données avec le langage SQL

Interrogation de bases de données avec le langage SQL Web dynamique avec PHP et MySQL Interrogation de bases de données avec le langage SQL C. Sirangelo & F. Tort Interroger une base avec SQL Interroger une base de données: extraire des données de la base

Plus en détail

PRESENTATION. Document1 Serge GUERINET Page 1

PRESENTATION. Document1 Serge GUERINET Page 1 PRESENTATION Les domaines couverts par la série STG sont tous des pourvoyeurs ou exploitants des bases de données. Que l'on gère la relation aux clients, le suivi de l'activité financière, la comptabilité

Plus en détail

Bases de Données relationnelles et leurs systèmes de Gestion

Bases de Données relationnelles et leurs systèmes de Gestion III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation

Plus en détail

Le langage SQL Rappels

Le langage SQL Rappels Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,

Plus en détail

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

Plus en détail

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble. Gaëlle PERRIN SID2 Grenoble Le 10/04/2014 Base de Données (BD) : une grande quantité de données, centralisées ou non, servant pour les besoins d'une ou plusieurs applications, interrogeables et modifiables

Plus en détail

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

11. MySQL. Cours Web. MySQL. 11. MySQL. 11. MySQL. Structured Query Language. Lionel Seinturier. Université Pierre & Marie Curie

11. MySQL. Cours Web. MySQL. 11. MySQL. 11. MySQL. Structured Query Language. Lionel Seinturier. Université Pierre & Marie Curie Cours Web Lionel Seinturier Université Pierre & Marie Curie Lionel.Seinturier@lip6.fr Structured Query Language Langage de manipulation des données stockées dans une base de données interrogation/insertion/modification/suppression

Plus en détail

F. Opérations multidimensionnelles

F. Opérations multidimensionnelles F. Opérations multidimensionnelles Roll up (drill-up)/drill down (roll down) Roll up (drill-up) : résumer, agréger des données en montant dans une hiérachie ou en oubliant une dimension Drill down (roll

Plus en détail

Requêtes SQL avec la date et le groupement Chapitre 7 série 3 Base de données AcciRoute SOLUTIONS

Requêtes SQL avec la date et le groupement Chapitre 7 série 3 Base de données AcciRoute SOLUTIONS 2003-07-01 1 Requêtes SQL avec la date et le groupement Chapitre 7 série 3 Base de données AcciRoute SOLUTIONS Voici MRD de la BD AcciRoute pour représenter les rapports d accidents de la route. Le MRD

Plus en détail

Informatique Pour Tous Interrogation n 5

Informatique Pour Tous Interrogation n 5 Nom : Prénom : Informatique Pour Tous Interrogation n 5 Soit la base de données relationnelle BANQUE constituée des trois relations (ou tables) suivantes : CLIENTS (idclient : int, nom, prenom, ville,)

Plus en détail

1. Introduction...2. 2. Création d'une requête...2

1. Introduction...2. 2. Création d'une requête...2 1. Introduction...2 2. Création d'une requête...2 3. Définition des critères de sélection...5 3.1 Opérateurs...5 3.2 Les Fonctions...6 3.3 Plusieurs critères portant sur des champs différents...7 3.4 Requête

Plus en détail

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste Christian Soutou Avec la participation d Olivier Teste SQL pour Oracle 4 e édition Groupe eyrolles, 2004, 2005, 2008, 2010, is BN : 978-2-212-12794-2 Partie III SQL avancé La table suivante organisée en

Plus en détail

Le Langage SQL version Oracle

Le Langage SQL version Oracle Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn

Plus en détail

Le Langage De Description De Données(LDD)

Le Langage De Description De Données(LDD) Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,

Plus en détail

Partie I du TD 1 au TD 5. Bases de données et MySQL -

Partie I du TD 1 au TD 5. Bases de données et MySQL - Système d information http://www.agroparistech.fr/systeme-d-information.html Partie I du TD 1 au TD 5 - Bases de données et MySQL - Liliana Ibănescu liliana.ibanescu@agroparistech.fr UFR d informatique

Plus en détail

INSIA Bases de données ORACLE 2 SELECT avancé SQL*Plus SQL Developper

INSIA Bases de données ORACLE 2 SELECT avancé SQL*Plus SQL Developper INSIA Bases de données ORACLE SELECT avancé SQL*Plus SQL Developper http://st-curriculum.oracle.com/tutorial/dbxetutorial/index.htm http://st-curriculum.oracle.com/ http://www.oracle.com/ Bertrand LIAUDET

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition

Plus en détail

Chapitre 08 Les requêtes d'interrogation en langage SQL

Chapitre 08 Les requêtes d'interrogation en langage SQL Chapitre 08 Les requêtes d'interrogation en langage SQL Introduction L'étude des requêtes d'interrogation de la base de données est séparée en deux parties : - Une première partie permet de revoir le langage

Plus en détail

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD Plan Bases de Données L3 Info Céline Rouveirol 2010-2011 Bases de Données 1 / 77 Sources des transparents Bases de Données 2 / 77 Bases de SQL - M.P. Dorville/F. Goasdoué, LRI, Université Paris Sud - V.

Plus en détail

SQL Serveur 2012+ Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise

SQL Serveur 2012+ Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise SQL Serveur 2012+ Programme de formation France Belgique Suisse - Canada Microsoft Partner Formez vos salariés pour optimiser la productivité de votre entreprise Dernière mise à jour le : Avril 2014 Des

Plus en détail

Apprendre le langage SQL - Le DML - 1 / 21 - Apprendre le langage SQL par l exemple Partie 2 : le DML

Apprendre le langage SQL - Le DML - 1 / 21 - Apprendre le langage SQL par l exemple Partie 2 : le DML Apprendre le langage SQL - Le DML - 1 / 21 - Apprendre le langage SQL par l exemple Partie 2 : le DML Ce document est publié sous licence Creative Commons CC-by-nc-nd. Il ne peut ni être modifié, ni faire

Plus en détail

SQL Historique 1982 1986 1992

SQL Historique 1982 1986 1992 SQL Historique 1950-1960: gestion par simple fichier texte 1960: COBOL (début de notion de base de données) 1968: premier produit de sgbdr structuré (IBM -> IDMS) 1970-74: élaboration de l'outil d'analyse

Plus en détail

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima Bases de données cours 4 Construction de requêtes en SQL Catalin Dima Requêtes SQL et langage naturel Énoncés en langage naturel. Traduction en SQL? Correspondance entre syntagmes/phrases et opérations

Plus en détail

SOMMAIRE. Travailler avec les requêtes... 3

SOMMAIRE. Travailler avec les requêtes... 3 Access Les requêtes SOMMAIRE Travailler avec les requêtes... 3 A) Créer une requête sélection en mode QBE... 3 B) Exécuter une requête à partir du mode Modifier (QBE)... 3 C) Passer du mode Feuille de

Plus en détail

16H Cours / 18H TD / 20H TP

16H Cours / 18H TD / 20H TP INTRODUCTION AUX BASES DE DONNEES 16H Cours / 18H TD / 20H TP 1. INTRODUCTION Des Fichiers aux Bases de Données 2. SYSTEME DE GESTION DE BASE DE DONNEES 2.1. INTRODUCTION AUX SYSTEMES DE GESTION DE BASES

Plus en détail

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP) Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP) Définition (G. Gardarin) Entrepôt : ensemble de données historisées variant

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

Cours SQL. Base du langage SQL et des bases de données

Cours SQL. Base du langage SQL et des bases de données Cours SQL Base du langage SQL et des bases de données Auteur Tony Archambeau Site web http://sql.sh Date 24 mai 2014 Licence Mis à disposition selon les termes de la licence Creative Commons Attribution

Plus en détail

Optimisation SQL. Quelques règles de bases

Optimisation SQL. Quelques règles de bases Optimisation SQL Quelques règles de bases Optimisation des ordres SQL Page 2 1. QUELQUES RÈGLES DE BASE POUR DES ORDRES SQL OPTIMISÉS...3 1.1 INTRODUCTION...3 1.2 L OPTIMISEUR ORACLE...3 1.3 OPTIMISEUR

Plus en détail

TP Bases de données réparties

TP Bases de données réparties page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure

Plus en détail

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013 NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée

Plus en détail

Systèmes de Gestion de Bases de Données

Systèmes de Gestion de Bases de Données Systèmes de Gestion de Bases de Données Luiz Angelo STEFFENEL DUT Informatique 2ème année IUT Nancy Charlemagne Vues Vue : une table virtuelle de la base de données dont le contenu est défini par une requête

Plus en détail

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 2 ème partie : REQUÊTES Sommaire 1. Les REQUÊTES...2 1.1 Créer une requête simple...2 1.1.1 Requête de création de listage ouvrages...2 1.1.2 Procédure de

Plus en détail

Cours 4 : Agrégats et GROUP BY

Cours 4 : Agrégats et GROUP BY Cours 4 : Agrégats et GROUP BY Agrégat Fonction qui effectue un calcul sur l ensemble des valeurs d un attribut pour un groupe de lignes Utilisation dans une clause SELECT ou dans une clause HAVING 3 types

Plus en détail

Les bases fondamentales du langage Transact SQL

Les bases fondamentales du langage Transact SQL Les bases fondamentales du langage Transact SQL Version 1.0 Grégory CASANOVA James RAVAILLE http://blogs.dotnet-france.com/jamesr 2 Les bases fondamentales du langage Transact SQL Sommaire 1 Introduction...

Plus en détail

E4D : ÉTUDE DE CAS CAS TELINOS ÉLÉMENTS DE CORRECTION

E4D : ÉTUDE DE CAS CAS TELINOS ÉLÉMENTS DE CORRECTION BTS INFORMATIQUE DE GESTION 06NC-ISE4D SESSION 2006 E4D : ÉTUDE DE CAS Durée : 5 heures Coefficient : 5 CAS TELINOS ÉLÉMENTS DE CORRECTION Barème Dossier 1 : Gestion de l'offre et des abonnements Dossier

Plus en détail

Cours 7 : Langage de définition, manipulation et contrôle des données

Cours 7 : Langage de définition, manipulation et contrôle des données Cours 7 : Langage de définition, manipulation et contrôle des données Objets d une base de données Dans un schéma Tables, vues Index, clusters, séquences, synonymes Packages, procédures, fonctions, déclencheurs

Plus en détail

Introduction au Système de Gestion de Base de Données et aux Base de Données

Introduction au Système de Gestion de Base de Données et aux Base de Données Introduction au Système de Gestion de Base de Données et aux Base de Données Formation «Gestion des données scientifiques : stockage et consultation en utilisant des bases de données» 24 au 27 /06/08 Dernière

Plus en détail

Compétences Business Objects - 2014

Compétences Business Objects - 2014 Compétences Business Objects - 2014 «Mars-Juin 2014. Réf : Version 1 Page 1 sur 34 Sommaire CONTEXTE DE LA REMISE A NIVEAU EN AUTOFORMATION... 3 1. MODELISATION... 4 1.1 DESCRIPTION FONCTIONNEL DE L'APPLICATION

Plus en détail

1 Introduction et installation

1 Introduction et installation TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on

Plus en détail

SQL sous SqlServer OLIVIER D. DEHECQ Olivier http://www.entraide-info.fr 0

SQL sous SqlServer OLIVIER D. DEHECQ Olivier http://www.entraide-info.fr 0 2013 SQL sous SqlServer OLIVIER D. DEHECQ Olivier http://www.entraide-info.fr 0 Table des matières Signalétique... 2 1 Les bases du SQL... 3 2 SQL server... 6 2 Références des exercices...21 DEHECQ Olivier

Plus en détail

Cours de Bases de Données Avancées 2006-2007 Groupe cinema, Rapport 4

Cours de Bases de Données Avancées 2006-2007 Groupe cinema, Rapport 4 1 Annexes Avec ce rapport il faut rendre en annexe le script SQL corrigé qui permet de créer la base de données selon votre modèle relationnel ainsi que de la peupler avec un nombre de tuples suffisant.

Plus en détail

Instructions SQL. Première partie : Langage de description et de gestion des données

Instructions SQL. Première partie : Langage de description et de gestion des données Instructions SQL Première partie : Langage de description et de gestion des données Quelques instructions et leur syntaxe 1. Introduction Trois principales catégories d instructions. Instructions de création

Plus en détail

TD n 10 : Ma première Base de Données

TD n 10 : Ma première Base de Données TD n 10 : Ma première Base de Données 4 heures Rédigé par Pascal Delahaye 11 mars 2015 Le but de ce TD est de découvrirles principales fonctions d OpenOffice Base, le systèmede gestion de bases de données

Plus en détail

Algèbre relationnelle

Algèbre relationnelle Algèbre relationnelle 1. Introduction L algèbre relationnelle est le support mathématique cohérent sur lequel repose le modèle relationnel. L algèbre relationnelle propose un ensemble d opérations élémentaires

Plus en détail

Pour les débutants. langage de manipulation des données

Pour les débutants. langage de manipulation des données Pour les débutants SQL : langage de manipulation des données Les bases de données sont très utilisées dans les applications Web. La création, l interrogation et la manipulation des données de la base sont

Plus en détail

Les requêtes Oracle XML DB. Du modèle relationnelle au modèle Hiérarchique

Les requêtes Oracle XML DB. Du modèle relationnelle au modèle Hiérarchique Les requêtes Oracle XML DB Du modèle relationnelle au modèle Hiérarchique Sommaire Rappel des modèles Le modèle relationnel Le modèle hiérarchique Leurs différences Oracle XML DB Les types de XMLType Les

Plus en détail

Web dynamique. Techniques, outils, applications. (Partie C)

Web dynamique. Techniques, outils, applications. (Partie C) Web dynamique Techniques, outils, applications (Partie C) Nadir Boussoukaia - 2006 1 SOMMAIRE 1. MySQL et PHP (20 min) 2. SQL (petits rappels) (20 min) 2 MySQL et PHP Synthèse 3 MySQL et PHP SGBD MySQL

Plus en détail

Bases de données relationnelles

Bases de données relationnelles Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses

Plus en détail

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009 TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009 Loïc Maisonnasse 1 Objectif Ce TD a pour objectif de vous familiariser avec le langage de requêtes SQL. Et de vous apprendre à écrire des requêtes SQL pour

Plus en détail

SQL SERVER 2008 Le 20/10/2010

SQL SERVER 2008 Le 20/10/2010 Définitions SQL SERVER 2008 Le 20/10/2010 Une base de données est un objet particulièrement difficile à définir puisqu il est abordé en pratique selon différents points de vue : Pour un administrateur,

Plus en détail

Les bases de données

Les bases de données Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive

Plus en détail

NF26 Data warehouse et Outils Décisionnels Printemps 2010

NF26 Data warehouse et Outils Décisionnels Printemps 2010 NF26 Data warehouse et Outils Décisionnels Printemps 2010 Rapport Modélisation Datamart VU Xuan Truong LAURENS Francis Analyse des données Avant de proposer un modèle dimensionnel, une analyse exhaustive

Plus en détail

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Cours Internet et Outils: [1/12] Intro, Internet, Web, XHTML (2H) [2/12] XHTML(2H) [3/12]

Plus en détail

Auto-évaluation DB2 for z/os: cours de base

Auto-évaluation DB2 for z/os: cours de base Auto-évaluation DB2 for z/os: cours de base Document: f1067test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION DB2 FOR Z/OS:

Plus en détail

BTS INFORMATIQUE DE GESTION - ISE4D SESSION 2008 E4R : ÉTUDE DE CAS. Durée : 5 heures Coefficient : 5 CAS A CLICK ÉLÉMENTS DE CORRECTION

BTS INFORMATIQUE DE GESTION - ISE4D SESSION 2008 E4R : ÉTUDE DE CAS. Durée : 5 heures Coefficient : 5 CAS A CLICK ÉLÉMENTS DE CORRECTION BTS INFORMATIQUE DE GESTION - ISE4D SESSION 28 E4R : ÉTUDE DE CAS Durée : 5 heures Coefficient : 5 CAS A CLICK Barème ÉLÉMENTS DE CORRECTION Dossier 1 : Gestion du réseau de la société A'CLICK Dossier

Plus en détail

Si le médecin agit en situation d urgence, insérer une trace de ses requêtes. Si le patient est cardiaque, le préciser dans le motif de la visite

Si le médecin agit en situation d urgence, insérer une trace de ses requêtes. Si le patient est cardiaque, le préciser dans le motif de la visite Précompilateur Compilateur LP PROGRAMMATION SQL Limites de SQL Problématique de la connexion langage hôte/sql 3 approches Embedded SQL (PRO*C, SQLJ ) API de bas niveau (SQL-CLI, ODBC, ) Langage dédié (PL/SQL,

Plus en détail

FileMaker 13. Guide de référence SQL

FileMaker 13. Guide de référence SQL FileMaker 13 Guide de référence SQL 2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont des marques commerciales de

Plus en détail

Introduction aux Bases de Données 2004/2005

Introduction aux Bases de Données 2004/2005 Introduction aux Bases de Données 2004/2005 Chapitre 6: Le langage SQL Ecole Nationale Supérieur de Physique de Strasbourg Christian Wolf christian.wolf@ensps.u-strasbg.fr 6.1 Stockage physique Film numfil

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

Utiliser Access ou Excel pour gérer vos données

Utiliser Access ou Excel pour gérer vos données Page 1 of 5 Microsoft Office Access Utiliser Access ou Excel pour gérer vos données S'applique à : Microsoft Office Access 2007 Masquer tout Les programmes de feuilles de calcul automatisées, tels que

Plus en détail

Bases de données multidimensionnelles OLAP. OnLine Analytical Processing

Bases de données multidimensionnelles OLAP. OnLine Analytical Processing Bases de données multidimensionnelles OLAP OnLine Analytical Processing OLAP OLAP (On Line Analytical Processing): Ensemble des outils nécessaires pour la mise en place d'un Système d'information décisionnel

Plus en détail

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques Plan de formation : Certification OCA Oracle 11g Description Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques industriels les plus avancés. Cette formation permettra

Plus en détail

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE Cas Neptune hôtel Base de données et langage SQL Propriété Intitulé long Formation concernée Matière Notions Transversalité Présentation Description Neptune Hôtel. L interrogation d une base de données

Plus en détail

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

Plus en détail

TP1 - Corrigé. Manipulations de données

TP1 - Corrigé. Manipulations de données TP1 - Corrigé Manipulations de données 1. Démarrez mysql comme suit : bash$ mysql -h 127.0.0.1 -u user4 -D db_4 p Remarque: le mot de passe est le nom de user. Ici user4 2. Afficher la liste des bases

Plus en détail

OLAP : Mondrian + Pentaho. Maguelonne Teisseire Hugo Alatrista Salas hugo.alatrista- salas@teledetec9on.fr Flavien Bouillot

OLAP : Mondrian + Pentaho. Maguelonne Teisseire Hugo Alatrista Salas hugo.alatrista- salas@teledetec9on.fr Flavien Bouillot OLAP : Mondrian + Pentaho Maguelonne Teisseire Hugo Alatrista Salas hugo.alatrista- salas@teledetec9on.fr Flavien Bouillot Outils Open Source Mondrian : serveur OLAP JFreeReport : ou9l de «Repor9ng» KeHle

Plus en détail

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12

Procédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12 Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures

Plus en détail

Oracle Décisionnel : Modèle OLAP et Vue matérialisée D BILEK

Oracle Décisionnel : Modèle OLAP et Vue matérialisée D BILEK Oracle Décisionnel : Modèle OLAP et Vue matérialisée SOMMAIRE Introduction Le modèle en étoiles Requêtes OLAP Vue matérialisée Fonctions Roll up et Cube Application Introduction Data Warehouse Moteur OLAP

Plus en détail

Générateur d Etats Report Builder Report Maker

Générateur d Etats Report Builder Report Maker REPORT BUILDER ET REPORT MAKER Générateur d Etats Report Builder Report Maker Prise en main 22/05/2013 1 / 49 1 Report Builder Prise en main... 4 Creer un nouveau modèle... 4 Présentation... 5 1.1.1 Onglet

Plus en détail

MySQL / SQL EXEMPLES

MySQL / SQL EXEMPLES MySQL_exemples_janv04_mpT EXEMPLES 1 MySQL / SQL EXEMPLES Typologie du langage Il est possible d'inclure des requêtes SQL dans un programme écrit dans un autre langage (en langage C par exemple), ainsi

Plus en détail

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager TP base de données SQLite 1 Différents choix possibles et choix de SQLite : La plupart des logiciels de gestion de base de données fonctionnent à l aide d un serveur. Ils demandent donc une installation

Plus en détail

Bases de Données. Plan

Bases de Données. Plan Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

JDBC et objet-relationnel

JDBC et objet-relationnel Types de données de SQL3 JDBC et objet-relationnel Université de Nice - Sophia Antipolis Version 1.6.4 5/11/11 Richard Grin JDBC supporte les types suivants de SQL3 qui sont des ouvertures vers le relationnelobjet

Plus en détail

Présentation Windows Azure Hadoop Big Data - BI

Présentation Windows Azure Hadoop Big Data - BI Présentation Windows Azure Hadoop Big Data - BI Sommaire 1. Architecture Hadoop dans Windows Azure... 3 2. Requête Hive avec Hadoop dans Windows Azure... 4 3. Cas d études... 5 3.1 Vue : Administrateur...

Plus en détail

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,

Plus en détail

VIII. Interrogation de documents avec XQuery

VIII. Interrogation de documents avec XQuery VIII. Interrogation de documents avec XQuery 350 XQUERY? Est un langage d interrogation de données XML N est pas un dialecte XML Est un sur-ensemble de XPath 2.0 Utilise le même modèle de données (XDM)

Plus en détail

1 Création et manipulation d une base de données

1 Création et manipulation d une base de données Université Paris 13 TP Base de données Année 2013-2014 Institut Galilée SQL et ORACLE LI3 1 Création et manipulation d une base de données ans ce TP, nous allons créer la base de données de l exercice

Plus en détail

Christian Soutou Avec la participation d Olivier Teste SQL. pour. Oracle. 3 e édition. Groupe Eyrolles, 2004, 2005, 2008, ISBN : 978-2-212-12299-2

Christian Soutou Avec la participation d Olivier Teste SQL. pour. Oracle. 3 e édition. Groupe Eyrolles, 2004, 2005, 2008, ISBN : 978-2-212-12299-2 Christian Soutou Avec la participation d Olivier Teste SQL pour Oracle 3 e édition Groupe Eyrolles, 2004, 2005, 2008, ISBN : 978-2-212-12299-2 chapitre n 13 Oracle XML DB Le tableau 13-24 décrit la génération

Plus en détail

Entrepôt de données : Extensions du langage SQL (SQL-3/SQL-99) pour lʼolap (7.1)

Entrepôt de données : Extensions du langage SQL (SQL-3/SQL-99) pour lʼolap (7.1) Entrepôt de données : Extensions du langage SQL (SQL-3/SQL-99) pour lʼolap (7.1) Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Plan 1. Evolution

Plus en détail

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL Cette création est mise à disposition selon le Contrat Paternité-Pas d'utilisation Commerciale-Partage des Conditions Initiales à l'identique 2.0

Plus en détail

TP5 MySQL requêtes avancées

TP5 MySQL requêtes avancées Master 1 BBSG TP5 MySQL requêtes avancées Bases de Données Exercice 1 : Par l'intermédiaire de PHPMyAdmin ou du client mysql, connectez-vous sur votre base de données. mysql -h dbs-perso.luminy.univmed.fr

Plus en détail

A QUOI SERVENT LES BASES DE DONNÉES?

A QUOI SERVENT LES BASES DE DONNÉES? BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès

Plus en détail

XML listing. XML listing 3 septembre 2007 1 sur 15

XML listing. XML listing 3 septembre 2007 1 sur 15 XML listing Fonctionnement du module Listing... 2 Utilisation du module via le plugin Smarty voozanoo_listing... 2 Utilisation du module dans un script PHP... 2 Structure du XML... 4 Définition du format

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

Plus en détail

BDWA EXAMEN - 27 MARS 2006 Documents autorisés. Exercice 1. Requêtes décisionnelles

BDWA EXAMEN - 27 MARS 2006 Documents autorisés. Exercice 1. Requêtes décisionnelles Nom : Prénom : Page 1 Université Pierre et Marie Curie Paris 6 BDWA EXAMEN - 27 MARS 2006 Documents autorisés Master d'informatique Exercice 1. Requêtes décisionnelles On considère une base de données

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

Bases de données. Chapitre 1. 1.1 Généralité sur les bases de données. 1.2 Avec sqlite3. 1.1.1 Le langage SQL et les bases de données

Bases de données. Chapitre 1. 1.1 Généralité sur les bases de données. 1.2 Avec sqlite3. 1.1.1 Le langage SQL et les bases de données Chapitre 1 Bases de données 1.1 Généralité sur les bases de données 1.1.1 Le langage SQL et les bases de données La base de données (BDD) est un système qui enregistre des informations. Ces informations

Plus en détail

ORACLE TUNING PACK 11G

ORACLE TUNING PACK 11G ORACLE TUNING PACK 11G PRINCIPALES CARACTÉRISTIQUES : Conseiller d'optimisation SQL (SQL Tuning Advisor) Mode automatique du conseiller d'optimisation SQL Profils SQL Conseiller d'accès SQL (SQL Access

Plus en détail

Bases de Données & Interfaces Web. stanislas.oger@univ-avignon.fr

Bases de Données & Interfaces Web. stanislas.oger@univ-avignon.fr Bases de Données & Interfaces Web stanislas.oger@univ-avignon.fr 1 Architecture d'un SI Web Fonctionnement Dynamique avec Base de Données 2 Idée Dynamiser les pages avec des infos venant de BDD Enregistrer

Plus en détail

Notation fonctionnelle : Union (R,S) ou OR (R, S) Chapitre 4 : Algèbre Relationnelle

Notation fonctionnelle : Union (R,S) ou OR (R, S) Chapitre 4 : Algèbre Relationnelle Chapitre 4 : IV. Qu est-ce que l algèbre relationnelle? Une collections d opérations, chacune agissant sur une ou deux relations et produisant une relation en résultat. Un langage pour combiner ces opérations.

Plus en détail