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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

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

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

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

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

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry Cours 3 Développement d une application BD 1 Plan du cours Gestion de la sécurité des données Optimisation des schémas de bases via la dénormalisation Utilisation de vues Placement du code applicatif dans

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création Construction d un EDD avec SQL 2008 R2 Plan Analyse du DW construit Construction de la base DW dans SQL 2008 Construction des tables de faits et dimensions Injection des données Étapes de l injection des

Plus en détail

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

MODE OPERATOIRE OPENOFFICE BASE

MODE OPERATOIRE OPENOFFICE BASE MODE OPERATOIRE OPENOFFICE BASE Openoffice Base est un SGBDR : Système de Gestion de Base de Données Relationnelle. L un des principaux atouts de ce logiciel est de pouvoir gérer de façon efficace et rapide

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

Création de Sous-Formulaires

Création de Sous-Formulaires Création de Sous-Formulaires Révision 1.01 du 02/01/04 Réalisé avec : OOo 1.1.0 Plate-forme / Os : Toutes Distribué par le projet Fr.OpenOffice.org Table des Matières 1 But de ce how-to...3 2 Pré-requis...3

Plus en détail

Business Intelligence

Business Intelligence avec Excel, Power BI et Office 365 Téléchargement www.editions-eni.fr.fr Jean-Pierre GIRARDOT Table des matières 1 Avant-propos A. À qui s adresse ce livre?..................................................

Plus en détail

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs, relations,

Plus en détail

Kit ODBC 100. Version 12.00. Référence

Kit ODBC 100. Version 12.00. Référence Kit ODBC 100 Version 12.00 Référence COMPOSITION DU PROGICIEL PROPRIETE & USAGE CONFORMITE & MISE EN GARDE EVOLUTION LA FICHE SUGGESTION MARQUES Votre progiciel est composé d'un boîtier de rangement comprenant

Plus en détail

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL) Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL) Un modèle de données définit un mode de représentation de l information selon trois composantes : 1. Des structures de données. 2. Des contraintes qui permettent

Plus en détail

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES BASE DE DONNEES La plupart des entreprises possèdent des bases de données informatiques contenant des informations essentielles à leur fonctionnement. Ces informations concernent ses clients, ses produits,

Plus en détail

1 Modélisation d une base de données pour une société de bourse

1 Modélisation d une base de données pour une société de bourse IN306 : Corrigé SID Christophe Garion 18 octobre 2010 Ce document est un corrigé succinct de l examen du module IN306. 1 Modélisation d une base de données pour une société de bourse Une

Plus en détail

Historisation des données

Historisation des données Historisation des données Partie 1 : mode colonne par Frédéric Brouard, alias SQLpro MVP SQL Server Expert langage SQL, SGBDR, modélisation de données Auteur de : SQLpro http://sqlpro.developpez.com/ "SQL",

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)

Plus en détail

1 Position du problème

1 Position du problème Licence Science et Technologies - INF245 Examen session 1 - mai 2012 Durée : 2 heures Documents non autorisés Le barème est donné à titre indicatif 1 Position du problème Le Club Universitaire de Vélo

Plus en détail

Business Intelligence avec Excel, Power BI et Office 365

Business Intelligence avec Excel, Power BI et Office 365 Avant-propos A. À qui s adresse ce livre? 9 1. Pourquoi à chaque manager? 9 2. Pourquoi à tout informaticien impliqué dans des projets «BI» 9 B. Obtention des données sources 10 C. Objectif du livre 10

Plus en détail

INTRODUCTION : Données structurées et accès simplifié

INTRODUCTION : Données structurées et accès simplifié INTRODUCTION : Données structurées et accès simplifié À l'origine de l'informatique, le stockage d'information se faisait sur cartes perforées. Ces supports pauvres ne permettaient pas de définir la structuration

Plus en détail

Excel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr

Excel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr Excel avancé Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Rappels et compléments

Plus en détail

Mysql avec EasyPhp. 1 er mars 2006

Mysql avec EasyPhp. 1 er mars 2006 Mysql avec EasyPhp 1 er mars 2006 Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requètes vers les bases de données relationnelles. Il en reprend la syntaxe

Plus en détail

Gestion des bases de données (2 e partie)

Gestion des bases de données (2 e partie) Master ANI et TCI première année année 2005/2006 semestre 1 Gestion des bases de données (2 e partie) Ce polycopié est destiné à présenter Access comme exemple de SGBD. Avant de commencer à construire

Plus en détail

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA DEFINITION D UNE BIBLIOTHEQUE D ACCES A UNE BASE DE DONNEES Cet article s adresse aux administrateurs SAS en charge de la mise à disposition des

Plus en détail

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES

Plus en détail

I4 : Bases de Données

I4 : Bases de Données I4 : Bases de Données Passage de UML au modèle relationnel Georges LOUIS Département Réseaux et Télécommunications Université de La Rochelle Module I4 2008-2009 1 G.Louis Sommaire 1 Des classes aux tables

Plus en détail

Devoir Data WareHouse

Devoir Data WareHouse Université Paris XIII Institut Galilée Master 2-EID BENSI Ahmed CHARIFOU Evelyne Devoir Data WareHouse Optimisation, Transformation et Mise à jour utilisées par un ETL Mr R. NEFOUSSI Année 2007-2008 FICHE

Plus en détail

Bible MySQL! La première version de MySQL est apparue en 1995. Cette première version est créée pour un usage personnel à partir de msql.

Bible MySQL! La première version de MySQL est apparue en 1995. Cette première version est créée pour un usage personnel à partir de msql. Bible MySQL! Bref historique de MySQL 1. MySQL MySQL est le Système de Gestion de Base de Données Relationnelle (SGBDR) Open Source le plus répandu dans le monde. Il est développé par MySQL AB, une entreprise

Plus en détail

Bases de données élémentaires Maude Manouvrier

Bases de données élémentaires Maude Manouvrier Licence MI2E- 1ère année Outils en Informatique Bases de données élémentaires Maude Manouvrier Définitions générales et positionnement du cours dans la formation Vocabulaire relatif aux bases de données

Plus en détail

ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL

ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL Jean-Marie Pécatte jean-marie.pecatte@iut-tlse3.fr 16 novembre 2006 ISIS - Jean-Marie PECATTE 1 Valeur de clé

Plus en détail

INTRODUCTION AU DATA MINING

INTRODUCTION AU DATA MINING INTRODUCTION AU DATA MINING 6 séances de 3 heures mai-juin 2006 EPF - 4 ème année - Option Ingénierie d Affaires et de Projets Bertrand LIAUDET TP DE DATA MINING Le TP et le projet consisteront à mettre

Plus en détail

Utiliser un tableau de données

Utiliser un tableau de données Utiliser un tableau de données OBJECTIFS : - Définir une Base de Données. - Présentation : tableau de données. - Création d un tableau de données - Gestion d un tableau de données. - Trier et Filtrer des

Plus en détail

PHP 5. La base de données MySql. A. Belaïd 1

PHP 5. La base de données MySql. A. Belaïd 1 PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple

Plus en détail

Les Utilisateurs dans SharePoint

Les Utilisateurs dans SharePoint Les Utilisateurs dans SharePoint La gestion des utilisateurs dans SharePoint SharePoint dont le cœur est l'outil collaboratif, Windows SharePoint Services. Chaque utilisateur (ou collaborateur) peut créer

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

Introduction aux SGBDR

Introduction aux SGBDR 1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux

Plus en détail

Guide de démarrage rapide

Guide de démarrage rapide Guide de démarrage rapide 1 Sommaire 1.Préambule...3 2.Démarrage du programme...4 3.Prise en main...6 3.1.Les saisies...6 3.2.Les listes...10 4.Gestion courante...13 4.1.Saisie d'un devis...13 4.2.Transformation

Plus en détail

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f PGDay Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f Réplication Réplications, disponibilités, durabilités Evolution dans la base de données : Postgres 8.2 : warm standby Postgres 9.0 : hot

Plus en détail

TP Contraintes - Triggers

TP Contraintes - Triggers TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution

Plus en détail

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle Ce projet comporte trois parties sur les thèmes suivants : création de base de donnée, requêtes SQL, mise en œuvre

Plus en détail

Baccalauréat Technologique. Épreuve de Spécialité Partie écrite

Baccalauréat Technologique. Épreuve de Spécialité Partie écrite Baccalauréat Technologique Sciences et Technologies de la Gestion Communication et Gestion des Ressources Humaines SESSION 2011 Épreuve de Spécialité Partie écrite Durée : 4 heures Coefficient : 7 L usage

Plus en détail