La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Langage Relationnel Graphe de Requêtes

Présentations similaires


Présentation au sujet: "Langage Relationnel Graphe de Requêtes"— Transcription de la présentation:

1 Langage Relationnel Graphe de Requêtes

2 Présentation Basé sur la théorie des ensembles
relations , opérateurs et opérandes Opérateurs : relationnels, de test (<, >, = , …) et booléens (ET, OU, NON) Opérandes : constantes ou variables Recherche d’informations sur les relations par langage algébrique Résultat d’une recherche : relation Base du langage SQL GRAPHE DES REQUETES

3 Opérateurs relationnels
Opérateurs unaires Sélection Projection Opérateurs binaires Union Intersection Différence Division Produit Cartésien jointure Opérateurs ensemblistes

4 Sélection Définition Symbole utilisé
Une sélection appliquée sur la relation R1[a1,...,an], selon le prédicat p1 (condition) donne une relation R2[a1,...,an] ayant les n-uplets satisfaisant la condition Symbole utilisé R Prédicat de Sélection R1

5 Sélection : exemple 100 Sylvie 1 2 200 Michel 3 300 Corinne 400
ETUDIANT Ine Nom Groupe Année R 100 Sylvie 1 2 200 Michel 3 300 Corinne 400 Laurent 500 Jérôme 4 Année = 2 ET Groupe = 3 ETUDIANT Étudiants du groupe 3 de deuxième année ? R Ine Nom Groupe Année 200 Michel 3 2 400 Laurent

6 Projection Définition Symbole utilisé ai,...,am
la projection de la relation R1[a1,...,an] sur les attributs ai,...,am (ai,...,am a1,...,an) est une relation R2[ai,...,am] Pas de duplication des n-uplets résultats Symbole utilisé R ai,...,am R1

7 Projection : exemple Année 100 Sylvie 1 2 200 Michel 3 300 Corinne 400
ETUDIANT Ine Nom Groupe Année R 100 Sylvie 1 2 200 Michel 3 300 Corinne 400 Laurent 500 Jérôme 4 Année ETUDIANT Quelles sont les années existantes ? R Année 1 2

8 U U Union Définition Symbole utilisé
Soient R1[a1,..., an] et R2[b1,..., bn] deux relations de même schéma , Le résultat de l’union R contient les tuples de R1 et les tuples de R2 qui n’appartiennent pas à R1 Opérateur commutatif Symbole utilisé R U R R2 U R1 R1

9 U Union : Exemple R nom nomclient
CLIENTS_TOULOUSE (IdCli, nom, adresse) CLIENTS_BORDEAUX (IdClient, nomclient, chiffre) R (nom) Contient l’ensemble des clients de l’entreprise R U nom nomclient CLIENTS_TOULOUSE CLIENTS_BORDEAUX

10   Intersection Définition Symbole utilisé
Soient R1[a1,..., an] et R2[b1,..., bn] deux relations de même schéma Le résultat de l’intersection R contient les tuples qui appartiennent, à la fois, à R1 et R2 Opérateur commutatif Symbole utilisé R R R2 R1 R1

11 Intersection : exemple
CLIENTS_TOULOUSE (IdCli, nom, adresse) CLIENTS_BORDEAUX (IdClient, nomclient, chiffre) R (nom) Contient les clients de l’entreprise à la fois, de Toulouse et Bordeaux R nom nomclient CLIENTS_TOULOUSE CLIENTS_BORDEAUX

12 U Différence Définition Symbole utilisé
Soient R1[a1,..., an] et R2[b1,..., bn] deux relations de même schéma , Le résultat de la différence R contient les tuples de R1 qui n’appartiennent pas à R2 Opérateur non commutatif Symbole utilisé R U R R2 R1 R1

13 Différence : exemple R nom nomclient
CLIENTS_TOULOUSE (IdCli, nom, adresse) CLIENTS_BORDEAUX (IdClient, nomclient, chiffre) R (nom) Contient les clients de Toulouse qui ne sont pas à Bordeaux R nom nomclient CLIENTS_TOULOUSE CLIENTS_BORDEAUX

14 Division Définition Opérateur non commutatif
Soient R1[a1,...,an,b1,...,bn] et R2[b1,...,bn] deux relations telles que la structure de R2 soit incluse dans la structure de R1 R = résultat de la division de R1 par R2 R est une relation de structure R[a1,...,an] qui contient les tuples ti vérifiant  : ti  R (ti est un tuple de structure [a1,...,an]) tj  R2 (tj est un tuple de structure [b1,...,bn]) ti,tj  R1 (ti,tj est un tuple de structure [a1,...,an,b1,...,bn]) Opérateur non commutatif Sert à comparer un ensemble avec un autre ensemble (dit de référence)

15 Division (suite) Symbole utilisé R R1 de schéma S1,S2 R2 de schéma S2

16 Division : exemple BM1 316i 2P noir blanc BM2 318i 4P BM3 320d noir
VEHICULE BICOLORE Codev Nomv Portes Couleur Coloris BM1 316i 2P noir blanc BM2 318i 4P BM3 320d noir blanc S2 S1 S2 Question : Quels sont les véhicules (Nomv) fabriquées en noir ET en blanc ?

17 Division : exemple (suite)
R R Nomv Nomv 316i VEHICULE BICOLORE

18  Produit cartésien Définition Opérateur commutatif Symbole utilisé
Soient R1[a1,...,an] et R2[b1,...,bm] deux relations de schéma différent, R = résultat du produit R1 R2 R est une relation de structure R3[a1,...,an,b1,...,bm] qui contient les combinaisons des tuples de R1 et R2 Opérateur commutatif Symbole utilisé R R1 R1

19 Produit cartésien : exemple
ETUDIANT MATIERE Ine Nom IdM NomM 100 Sylvie 200 Michel 300 Laurent BD Bases de Données ACSI Analyse MATH Mathématiques Question : Créer la relation COURS (Ine, IdM) sachant que chaque étudiant suit toutes les matières ?

20 Produit cartésien : exemple (suite)
COURS Ine IdM COURS 100 BD ACSI MATH 200 300 Ine, IdM ETUDIANT MATIERE

21 Jointure Définition Opérateur fondamental (basé sur les valeurs)
Soient R1[a1,...,an] et R2[b1,...,bm] deux relations, R = jointure de ces relations avec un prédicat  R[a1,...,an,b1,...,bm] contient les tuples de R1 et de R2 résultant un produit cartésien vérifiant le prédicat Opérateur fondamental (basé sur les valeurs) Le prédicat contient une clause de jointure et éventuellement d’autres conditions Opérateur binaire commutatif

22 Jointure (suite) Symbole utilisé R R1 de schéma S1 R2 de schéma S2
R de schéma S1,S2 Prédicat R1 R1

23 Jointure : exemple CLIENTS (IdCli, Nom, Adresse)
OUVRAGES (IdOuv, Titre, Nbex) EMPRUNTS (IdCli#, IdOuv#, DateEmp) Question : Nom et Adresse des clients ayant emprunté l’ouvrage ‘BD’ le ’10/10/2003’ ?

24 Jointure : exemple (suite)
Nom, Adresse IdCli=C.IdCli idCli CLIENTS C IdOuv= O.IdOuv ET DateEmp = ‘10/10/2003’ idOuv OUVRAGES O Titre = ‘BD’ OUVRAGES

25 Graphe des requêtes et SGBD
Tous les SGBD R de type SQL mettent en œuvre un graphe de requêtes Oracle fournit une table (plan_table) montrant le schéma global Ce graphe permet d’optimiser les requêtes Certains, comme SQL Server présentent ce graphe sous forme graphique

26 Exemple de graphe SQL Server
CLIENT EMPRUNT OUVRAGE 100 Michel Toulouse 200 Sylvie Toulouse 300 Laurent Toulouse 100 o 200 o 100 o 300 o o1 BD o2 SGBD SELECT c.nom,c.adresse FROM client c, emprunt e, ouvrage o WHERE o.titre=‘BD’ AND o.idouv=e.idouv AND e.dateemp = ‘10/10/2003’ AND e.idcli=c.idcli Question : Nom et Adresse des clients ayant emprunté l’ouvrage ‘BD’ le ’10/10/2003’ ? Michel Toulouse Sylvie Toulouse

27 Exemple de graphe SQL Server (suite)

28 Exemple de graphe SQL Server (suite)


Télécharger ppt "Langage Relationnel Graphe de Requêtes"

Présentations similaires


Annonces Google