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

Algèbre relationnelle - 1 / Djamel Berrabah Algèbre relationnelle Modèle relationnel : rappel Algèbre relationnelle.

Présentations similaires


Présentation au sujet: "Algèbre relationnelle - 1 / Djamel Berrabah Algèbre relationnelle Modèle relationnel : rappel Algèbre relationnelle."— Transcription de la présentation:

1 Algèbre relationnelle - 1 / Djamel Berrabah Algèbre relationnelle Modèle relationnel : rappel Algèbre relationnelle

2 Algèbre relationnelle - 2 / Djamel Berrabah Bases de données relationnelles Modèle (de données) relationnel organise les données dans des tables ou relations Avantages : « Relation » est un concept simple avec des fondements mathématiques solides (théorie des ensembles, logique du premier ordre) On peut définir des langages de requêtes simples, puissants et efficaces (techniques d’optimisation performantes) On a une théorie pour la conception (dépendances fonctionnelles)

3 Algèbre relationnelle - 3 / Djamel Berrabah EMP(ENO, ENAME, TITLE) PROJ (PNO, PNAME, BUDGET) WORKS(ENO,PNO, RESP, DUR) PAY(TITLE, SALARY) Les attributs soulignés sont les clés (identificateurs de n-uplets) Schéma relationnel (exemple) ENO EMP ENAMETITLE PROJ PNOPNAMEBUDGET RESP WORKS PNOENODUR PAY SALARYTITLE

4 Algèbre relationnelle - 4 / Djamel Berrabah BD relationnelle (exemple) ENOENAMETITLE E1J. DoeElect. Eng. E2M. SmithSyst. Anal. E3A. LeeMech. Eng. E4J. MillerProgrammer E5B. CaseySyst. Anal. E6L. ChuElect. Eng. E7R. DavisMech. Eng. E8J. JonesSyst. Anal. EMP ENOPNORESP E1P1Manager12 DUR E2P1Analyst24 E2P2Analyst 6 E3P3Consultant10 E3P4Engineer48 E4P2Programmer18 E5P2Manager24 E6P4Manager48 E7P3Engineer36 E8P3Manager40 WORKS E7P5Engineer23 PROJ PNOPNAMEBUDGET P1Instrumentation150000 P3CAD/CAM250000 P2Database Develop.135000 P4Maintenance310000 P5CAD/CAM500000 TITLESALARY PAY Elect. Eng. 55000 Syst. Anal.70000 Mech. Eng. 45000 Programmer60000

5 Algèbre relationnelle - 5 / Djamel Berrabah Propriétés du modèle relationnel Fondement théorique : théorie des ensembles pas d'ordre entre les attributs (noms) pas d'ordre entre les n-uplets (exception SQL : le résultat d’une requête peut être trié) pas de n-uplets dupliqués (exception SQL) Les valeurs d'attributs sont atomiques : entiers, chaînes de caractères, date, … pas de constructeurs de types complexes : struct, listes, set … Degré ou arité d’une relation = nombre d'attributs Cardinalité d’une relation = nombre de n-uplets

6 Algèbre relationnelle - 6 / Djamel Berrabah Algèbre relationnelle Modèle relationnel : rappel Algèbre relationnelle

7 Algèbre relationnelle - 7 / Djamel Berrabah Interrogation d’une base de données relationnelle Langages algébriques : Une requête est une composition d’opérations : algèbre relationnelle Langages logiques : Une requête est exprimée par une formule logique : calcul relationnel SQL : sémantique (logique) : calcul relationnel évaluation (opérations) : algèbre relationnelle

8 Algèbre relationnelle - 8 / Djamel Berrabah Opérateurs unaires :  Résultat> Opérateurs binaires :  Résultat > Langage fermé : les opérandes et les résultats sont toujours des relations  composition d’opérations Algèbre relationnelle

9 Algèbre relationnelle - 9 / Djamel Berrabah Opérateurs de base : sélection projection produit cartésien opérations ensemblistes: union, différence renommage Opérateurs dérivés : intersection jointure division Opérateurs de l'algèbre relationnelle

10 Algèbre relationnelle - 10 / Djamel Berrabah Sélection d’un sous-ensemble de la relation opérande :  F (R) R est une relation F est une formule logique sans quantificateur composée de opérandes: constantes et attributs opérateurs de comparaison :  opérateurs logiques : , , ¬ Résultat : sous-ensemble des n-uplets de R qui satisfont la formule F Sélection

11 Algèbre relationnelle - 11 / Djamel Berrabah Exemple de sélection ENOENAMETITLE E1J. DoeElect. Eng E6L. ChuElect. Eng.  TITLE='Elect. Eng.' (EMP) ENOENAMETITLE E1J. DoeElect. Eng. E2M. SmithSyst. Anal. E3A. LeeMech. Eng. E4J. MillerProgrammer E5B. CaseySyst. Anal. E6L. ChuElect. Eng. E7R. DavisMech. Eng. E8J. JonesSyst. Anal. EMP

12 Algèbre relationnelle - 12 / Djamel Berrabah Projection sur un ensemble d’attributs d'une relation  A 1,…,A n (R) R est une relation, {A 1,…, A n } est un sous-ensemble des attributs de R Résultat : ensemble de n-uplets de R sans les attributs (colonnes) qui ne se trouvent pas dans {A 1,…, A n } Projection

13 Algèbre relationnelle - 13 / Djamel Berrabah Exemple de projection  PNO,BUDGET (PRO J) PNOBUDGET P1150000 P2135000 P3250000 P4310000 P5500000 PROJ PNOBUDGET P2135000 P3250000 P4310000 P5500000 PNAME P1150000Instrumentation Database Develop. CAD/CAM Maintenance CAD/CAM  PNAME (PROJ ) PNAME Instrumentation Database Develop. CAD/CAM Maintenance Note: La projection élimine les n-uplets doublons (sémantique ensembliste). SQL garde les doublons.

14 Algèbre relationnelle - 14 / Djamel Berrabah Produit cartésien entre deux tables : R  S R est une table de degré k 1, cardinalité n 1 S est une table de degré k 2, cardinalité n 2 Résultat : relation de degré (k 1 + k 2 ) et contient (n 1 * n 2 ) n- uplets, où chaque n-uplet est la « concaténation » d'un n- uplet de R avec un n-uplet de S. Produit cartésien

15 Algèbre relationnelle - 15 / Djamel Berrabah Exemple de produit cartésien ENOENAMEEMP.TITLEPAY.TITLESALARY E1J. DoeElect. Eng. E1J. DoeElect. Eng. E1J. DoeElect. Eng. E1J. DoeElect. Eng. 55000 Syst. Anal.70000 Mech. Eng.45000 Programmer60000 E2M. SmithSyst. Anal. E2M. SmithSyst. Anal. E2M. SmithSyst. Anal. E2M. SmithSyst. Anal. Elect. Eng.55000 Syst. Anal.70000 Mech. Eng.45000 Programmer60000 Elect. Eng.55000 Syst. Anal.70000 Mech. Eng.45000 Programmer60000 Elect. Eng.55000 Syst. Anal.70000 Mech. Eng.45000 Programmer60000 E3A. LeeMech. Eng. E3A. LeeMech. Eng. E3A. LeeMech. Eng. E3A. LeeMech. Eng. E8J. JonesSyst. Anal. E8J. JonesSyst. Anal. E8J. JonesSyst. Anal. E8J. JonesSyst. Anal. EMP  PAY ENOENAMETITLE E1J. DoeElect. Eng E2M. SmithSyst. Anal. E3A. LeeMech. Eng. E4J. MillerProgrammer E5B. CaseySyst. Anal. E6L. ChuElect. Eng. E7R. DavisMech. Eng. E8J. JonesSyst. Anal. EMP TITLESALARY PAY Elect. Eng.55000 Syst. Anal.70000 Mech. Eng.45000 Programmer60000

16 Algèbre relationnelle - 16 / Djamel Berrabah Union ensembliste entre deux tables : R  S R et S sont des relations compatibles pour l’union (même arité et domaines d’attributs) Résultat : n-uplets qui sont dans R ou dans S Union

17 Algèbre relationnelle - 17 / Djamel Berrabah Différence Différence ensembliste entre deux tables : R – S R et S sont des relations compatibles pour l’union. Résultat : n-uplets qui sont dans R, mais pas dans S

18 Algèbre relationnelle - 18 / Djamel Berrabah Renommage de plusieurs attributs d’une table :  A 1,…,A n  B 1,…,B n  (R) R est une relation {A 1,…, A n } est un sous-ensemble des attributs de R {B 1,…, B n } est un ensemble d’attributs Résultat : une relation avec les mêmes n-uplets (le même contenu) où chaque attribut A i a été renommé en B i Renommage

19 Algèbre relationnelle - 19 / Djamel Berrabah Exemple de renommage EMP(ENO, TITLE, ENAME)   TITLE,ENAME  JOB, NOM (EMP) change le schéma de la relation EMP en EMP (ENO, NOM, JOB) ENOENAMETITLE E1J. DoeElect. Eng E2M. SmithSyst. Anal. E3A. LeeMech. Eng. E4J. MillerProgrammer E5B. CaseySyst. Anal. E6L. ChuElect. Eng. E7R. DavisMech. Eng. E8J. JonesSyst. Anal. EMP ENONOMJOB E1J. DoeElect. Eng E2M. SmithSyst. Anal. E3A. LeeMech. Eng. E4J. MillerProgrammer E5B. CaseySyst. Anal. E6L. ChuElect. Eng. E7R. DavisMech. Eng. E8J. JonesSyst. Anal. EMP

20 Algèbre relationnelle - 20 / Djamel Berrabah Opérateurs de base : sélection projection produit cartésien opérations ensemblistes: union, différence renommage Opérateurs dérivés : intersection jointure division Opérateurs de l'algèbre relationnelle

21 Algèbre relationnelle - 21 / Djamel Berrabah Intersection Intersection de deux tables: R  S= R – (R – S) R, S sont deux tables compatibles pour l'union. Résultat : ensemble de n-uplets qui se trouvent à la fois dans R et dans S

22 Algèbre relationnelle - 22 / Djamel Berrabah Jointure entre deux tables R et S : R  F S =  F (R  S) R et S sont des relations (sans attributs en commun) F est une formule logique composée d’atomes de la forme A i  B j où   { . Résultat : sous-ensemble des n-uplets dans le produit cartésien R  S qui satisfont la formule F Jointure

23 Algèbre relationnelle - 23 / Djamel Berrabah Exemple de jointure ENOENAMETITLE E1J. DoeElect. Eng E2M. SmithSyst. Anal. E3A. LeeMech. Eng. E4J. MillerProgrammer E5B. CaseySyst. Anal. E6L. ChuElect. Eng. E7R. DavisMech. Eng. E8J. JonesSyst. Anal. EMP EMP EMP.ENO=WORKS.ENO  CONTR<DUR WORKS ENOPNORESP E1P1Manager12 DUR E2P1Analyst24 E2P2Analyst 6 E3P3Consultant10 E3P4Engineer48 E4P2Programmer18 E5P2Manager24 E6P4Manager48 E7P3Engineer36 E8P3Manager40 WORKS E7P5Engineer23 EMP. ENAME TITLE WORKS. PNO RESP DUR CONTR ENO. ENO CONTR 12 24 36 12 E2M. Smith E3A. Lee E6L. Chu E8J. Jones E2 E3 E6 E8 P1 P4 P3 Syst. Anal. Mech. Eng. Elect. Eng. Syst. Anal. Manager2412 Engineer4812 Manager4836 Manager4012

24 Algèbre relationnelle - 24 / Djamel Berrabah  -jointure la formule F utilise les comparaisons  Equi-jointure la formule F n'utilise que l‘égalité : = R R.A=S.B S Jointure naturelle : R(X,Y), S(X, Y’) Equi-jointure où on élimine les attributs en communs R S =  R.X, R.Y, S.Y’  F (R  S) =  S.X, R.Y, S.Y’  F (R  S) la condition de jointure F est R.X = S.X (X représente tous les attributs en commun entre R et S) Types de jointure

25 Algèbre relationnelle - 25 / Djamel Berrabah Exemple de jointure naturelle ENOENAMETITLE SALARY E1J. DoeElect. Eng.55000 M. Smith70000E2Analyst E3A. LeeMech. Eng.45000 E4J. MillerProgrammer60000 E5B. CaseySyst. Anal.70000 E6L. ChuElect. Eng.55000 E7R. DavisMech. Eng.45000 E8J. JonesSyst. Anal.70000 ENOENAMETITLE E1J. DoeElect. Eng E2M. SmithSyst. Anal. E3A. LeeMech. Eng. E4J. MillerProgrammer E5B. CaseySyst. Anal. E6L. ChuElect. Eng. E7R. DavisMech. Eng. E8J. JonesSyst. Anal. EMP TITLESALARY PAY Elect. Eng.55000 Syst. Anal.70000 Mech. Eng.45000 Programmer60000 EMP PAY

26 Algèbre relationnelle - 26 / Djamel Berrabah Division Soient les relations R et S tels que le schéma de S contient tous les attributs de R R(A 1,…,A k,A k+1,…,A k+n ) est de degré k+n et S(A 1,…,A k ) de degré k. La division de R par S : T(A k+1,…,A k+n )= R ÷ S est la « plus grande » relation de degré n telle que T  S  R.

27 Algèbre relationnelle - 27 / Djamel Berrabah Exemple de division ENOPNOPNAME E1P1Instrumentation 150000 BUDGET E2P1Instrumentation 150000 E2P2Database Develop.135000 E3P4Maintenance E4P2Instrumentation E5P2Instrumentation E6P4 E7P3CAD/CAM E8P3CAD/CAM 310000 150000 310000 250000 EMP Maintenance E3P1Instrumentation150000 ENO E3 EMP÷PROJ PROJ PNOBUDGET P2135000 P3250000 P4310000 PNAME P1150000Instrumentation Database Develop. CAD/CAM Maintenance E3P2Database Develop.135000 E3P3CAD/CAM250000

28 Algèbre relationnelle - 28 / Djamel Berrabah Expression de la division x1 y1 x2 y1 x3 y1 x4 y1 x1 y2 x3 y2 x2 y3 x3 y3 x4 y3 x1 y4 x2 y4 x3 y4 X Y R x1 x2 x3 X S y1 y4 T Y T 1   Y (R) T 2   Y ((S  T 1 )  R) T  T 1  T 2

29 Algèbre relationnelle - 29 / Djamel Berrabah Emp (Eno, Ename, Title, City) Pay(Title, Salary) Project(Pno, Pname, Budget, City) Works(Eno, Pno, Resp, Dur) Villes où il y a des employés ou des projets?  City (Emp)  City (Project) Villes où il y a des projets mais pas d'employés?  City (Project)   City (Emp) Requêtes algébriques

30 Algèbre relationnelle - 30 / Djamel Berrabah Emp (Eno, Ename, Title, City) Project(Pno, Pname, Budget, City) Pay(Title, Salary) Works(Eno, Pno, Resp, Dur) Noms des projets de budget > 225?  Pname (  Budget>225 (Project)) Noms et budgets des projets où travaille l'employé E1?  Pname, Budget (Project (  Eno=‘E1’ (Works)))  Pname, Budget (  Project.Pno=Works.Pno (Project  Eno=‘E1’ (Works))) Employés qui travaillent dans chaque projet?  Eno, Pno (Works) ÷  Pno (Project) Requêtes algébriques

31 Algèbre relationnelle - 31 / Djamel Berrabah Arbre algébrique Utile pour manipuler les requêtes (optimisation, vues) Exemple   Pname, Budget (Project (  Eno=‘E1’ (Works))) Works  Eno=‘E1’ Project  Pname, Budget

32 Algèbre relationnelle - 32 / Djamel Berrabah Conclusion : algèbre relationnelle L’algèbre relationnelle définit un ensemble d’opérations pour interroger une BD relationnelle Les opérations peuvent être composées pour former des requêtes complexes Avantage : facilite l’implantation d’un moteur de requêtes Inconvénient : sémantique “opérationnelle” L’algèbre « cache » la sémantique formelle (ensembliste) du modèle relationnel  calcul relationnel

33 Algèbre relationnelle - 33 / Djamel Berrabah Mise à jour d'une BD relationnelle Avec les opérateurs relationnels Insertion de n-uplets = union de la relation contenant les n- uplets à insérer avec la relation déjà existante dans la base Suppression de n-uplets = différence entre la relation existante dans la base et la relation contenant les n-uplets à supprimer Modification = suppression suivie d'une insertion


Télécharger ppt "Algèbre relationnelle - 1 / Djamel Berrabah Algèbre relationnelle Modèle relationnel : rappel Algèbre relationnelle."

Présentations similaires


Annonces Google