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

B.Shishedjiev - Algèbre relationnelle1 L'algèbre relationnelle Comment on calcule les relation.

Présentations similaires


Présentation au sujet: "B.Shishedjiev - Algèbre relationnelle1 L'algèbre relationnelle Comment on calcule les relation."— Transcription de la présentation:

1 B.Shishedjiev - Algèbre relationnelle1 L'algèbre relationnelle Comment on calcule les relation

2 B.Shishedjiev - Algèbre relationnelle2 Définitions Les opérateurs sur relations Convention On note A(X) (All) l'ensemble de toutes les affectations du schéma de relation X. On note L/Y la restriction de l'affectation L aux attributs de Y. Opérateurs –projection, sélection, opérateurs ensemblistes, jointures, division Exemple –D1 = { écrou, boulon, vis,clou } –D2 = { pierre, paul, alice } –D3 = { a, b, c }

3 B.Shishedjiev - Algèbre relationnelle3 L'opérateur de projection Soient X un schéma et Y une partie de X. La projection sur Y X d'une relation R(X) est la relation, Y R(X) –(1) Z = Y –(2) Y R(X) ={L A(Y) : L' A(X), (L'/Y = L) (L' R) } R :PIECEFOURNISSPROJET écroupaula écroupaulb boulonpierrea Y R(X) : PIECEFOURNISS écroupaul boulonpierre Y={PIECE:D1, FOURNISSEUR:D2 }

4 B.Shishedjiev - Algèbre relationnelle4 L'opérateur de sélection (restriction) Une condition de sélection est une formule logique construite sur les attributs d'un schéma X à l'aide des connecteurs suivant :,, ¬, =, >, <,,,. La sélection sur une relation R(X) suivant une condition de sélection E est la relation S(Y) = σ E R(X) définie par (1) Y =X (2) S(Y)=σ E R(X) = { L A(X) / (L R) et (E(L) = vrai) } R :CLASSENOMVILLENAISSPORT 6pierremarseille judo 6pierremarseille escrime 6jacquesaubagne natation 6paulmarseille football 5lucaubagne football E = (VILLE='marseille') (NAIS ' ') ((SPORT='judo') (SPORT='football')) σ E R(X)CLASSENOMVILLENAISSPORT 6paulmarseille football

5 B.Shishedjiev - Algèbre relationnelle5 Rebaptiser (renommer) Changer le nom dattribut, sans changer le domaine ou la sémantique. S(Y) = b/a R(X) (1)Y = X où lattribut a est nommé b (2)S(Y) = R(X) R :PIECEFOURNISS écroupierre écroupaul boulonalice T = PI/PIECE R(X) PIFOURNISS écroupierre écroupaul boulonalice

6 B.Shishedjiev - Algèbre relationnelle6 Opérateurs sur ensembles Union A B Intersection A B Différence A - B Produit cartésien A B Jointures Division A B ou A/B

7 B.Shishedjiev - Algèbre relationnelle7 Opérateurs sur ensembles Soient R(X) et S(X) deux relations définies sur le même schéma. (1) Y = X (2) T = R S = {L A(X) : L R L S) (3)T = R S = R*S = {L A(X) : (L R) (L S) (4) R-S = { L A(X) : (L R) (L S) } (5) R = {L A(X) : (L R) } R :PIECEFOURNISS écroupierre écroupaul boulonalice S :PIECEFOURNISS écroupierre boulonpierre boulonalice R S : PIECEFOURNISS écroupierre écroupaul boulonalice boulonpierre R S : PIECEFOURNISS écroupierre boulonalice S R : PIECEFOURNISS boulonpierre

8 B.Shishedjiev - Algèbre relationnelle8 Produit cartésien X et Y n'ont aucun attribut en commun. r : (1) Z=X Y (2) R S = {L A(Z) : L/X R L/Y S) Dans le cas où les schémas X et Y ont des attributs communs, il est toujours possible de se ramener à l'hypothèse en rebaptisant des attributs. T= PI/PIECE R R :PIECEFOURNISS écroupierre écroupaul boulonalice S :PIECEPROJET écroua b boulona T :PIFOURNISS écroupierre écroupaul boulonalice T S PIFOURNISSPIECEPROJET écroupierreécroua paulécroua boulonaliceécroua pierreécroub paulécroub boulonaliceécroub pierreboulona écroupaulboulona aliceboulona

9 B.Shishedjiev - Algèbre relationnelle9 Jointures - jointure Soient deux relations R(X) et S(Y) qui n'ont en commun aucun attribut. Soient X1 un attribut de X et Y1 un attribut de Y tels que X1 et Y1 aient même domaine. Soit un opérateur de comparaison (=,,,, ). (1) Z=X Y (2) R X1 Y1 S = { L A(Z) :L/X R et L/Y S (X1 Y1)(L) = vrai} ou encore R X1 Y1 S = σ X1 Y1 (R S) R BD S : ABCDE S : DE R :ABC

10 B.Shishedjiev - Algèbre relationnelle10 Jointures Equi-jointure ( est =) R :PIECEFOURNISS écroupierre écroupaul boulonalice S :PIECEPROJET écroua b boulona T= PI/PIECE R PIECEFOURNISS écroupierre écroupaul boulonalice T PI=PIECE S PIFOURNISS PIECE PROJET écroupierreécroua pierreécroub paulécroua paulécroub boulonaliceboulona

11 B.Shishedjiev - Algèbre relationnelle11 Jointures Jointure naturelle Soient R(X) et S(Y) deux relations (les attributs communs éventuels étant munis des mêmes domaines). (1) Z=X Y (2) R S = {L A(Z) : (L/X R) (L/Y S)} T S PIECEFOURNISSPROJET écroupierrea écroupierreb écroupaula écroupaulb boulonalicec R :PIECEFOURNISS écroupierre écroupaul boulonAlice cloualice S :PIECEPROJET écroua b boulonc visd

12 B.Shishedjiev - Algèbre relationnelle12 Jointures Jointure naturelle

13 B.Shishedjiev - Algèbre relationnelle13 Jointures Semijointures( ) T(Z) = R(X) S(Y), U(W)=R S (1)Z=X, W=Y (2)T = R S = X R S (3)U = R S= Y R S R :PIECEFOURNISS écroupierre écroupaul boulonAlice cloualice S :PIECEPROJET écroua b boulonc visd R S PIECEFOURNISS écroupierre écroupaul boulonalice R S PIECEPROJET écroua b boulona

14 B.Shishedjiev - Algèbre relationnelle14 Jointures Antijointure – le complément de la jointure (1) Z=X (2) R S = {L A(X) : (L R) (L/Y S)}=R-R S R :PIECEFOURNISS écroupierre écroupaul boulonAlice cloualice S :PIECEPROJET écroua b boulonc visd R S PIECEFOURNISS cloualice

15 B.Shishedjiev - Algèbre relationnelle15 Division Le résultat est une relation dont les attributs sont ces qui sont unique en R et les tuples sont ce pour lesquels tous les combinaisons avec les tuples de S sont présents en R (1) Z=X-Y, S, Y X. (2)R S = {L A(Z) : L' A(X) si (L'/Z = L) et (L'/Y S) alors L' R } ou encore R S = z R - z ((S z R ) - R)

16 B.Shishedjiev - Algèbre relationnelle16 Division Exemple R :PIECEFOURNISS vispierre boulonpaul écroupierre vispaul boulonpierre boulonalice S :PIECE vis boulon R S : FOURNISS pierre paul

17 B.Shishedjiev - Algèbre relationnelle17 Propriétés des opérateurs idempotence de la somme : R+R = R idempotence du produit : R*R = R associativité de la somme : R+(S+T) = (R+S)+T associativité du produit : R*(S*T) = (R*S)*T commutativité de la somme : R+S = S+R commutativité du produit : R*S = S*R distributivité de la somme par rapport au produit : R+(S*T) = (R+S)*(R+T) distributivité du produit par rapport à la somme : R*(S+T) = (R*S)+(R*T) relation entre le complément, la somme et le produit : ¬(R+S) = ¬R*¬S ¬(R*S) = ¬R+¬S

18 B.Shishedjiev - Algèbre relationnelle18 Exemple de composition AVION :#AVAVNOMCAPLOC 100airbus300nice 101airbus300paris 102carav200toulouse PILOTE :#PLPLNOMADR 1sergenice 2jeanparis 3claudegrenoble VOL :#VOL#PL#AVVDVAHDHA it niceparis78 it paristoulouse1112 it parisnice1213 it grenobletoulouse911 it toulousegrenoble1718 Quels sont les noms des pilotes qui conduisent tous les types d'avions ?

19 B.Shishedjiev - Algèbre relationnelle19 Exemple de composition R1= AVNOM,#PL ( #AV,AVNOM AVION #VOL,#PL VOL) AVNOM AVION R2= PLNOM ( #PL,PLNOM PILOTE R1) 01 :#AVAVNOM 100airbus 101airbus 102carav 02 :#PL#AV :PL#AV#AVNOM 1100airbus 2100airbus 1101airbus 3102carav 3101airbus 04:PL#AVNOM 1airbus 2 3carav 3airbus 05:AVNOM airbus carav R1:PL# 3 07 :#PLPLNOM 1serge 2jean 3claude 08:PL#PLNOM 3claude R2PLNOM claude

20 B.Shishedjiev - Algèbre relationnelle20 Les valeurs inconnues - cest une valeur qui nest pas déterminée. Soit elle nexiste pas, soit elle nest pas connue. VRAIFAUXINDÉFINI VRAI FAUXINDÉFINI FAUX INDÉFINI FAUXINDÉFINI VRAIFAUXINDÉFINI VRAI FAUXVRAIFAUXINDÉFINI VRAIINDÉFINI ¬ VRAIFAUX VRAI INDÉF.

21 B.Shishedjiev - Algèbre relationnelle21 La jointure externe Soient deux relations R(X) et S(Y) qui n'ont en commun aucun attribut. Soient X 1 un attribut de X et Y 1 un attribut de Y tels que X 1 et Y 1 aient même domaine. Soit un opérateur de comparaison (=,,,, ). (1) Z=X Y (2)R X1 Y1 S = T ( (R - X T) (Y) ) où T = R X1 Y1 S (3) R X1 Y1 S = T ( (S - Y T) (X) ) où T = R X1 Y1 S (4) R X1 Y1 S = R X1 Y1 S R X1 Y1 S

22 B.Shishedjiev - Algèbre relationnelle22 La jointure externe Exemple R :PI:D1 écrou boulon vis S :PI_F:D1FOUR:D2 écroualice boulonPaul cloupierre R PI = PI_F S : PI:D1PI_F:D1FOUR:D2 écrou alice boulon paul vis R PI = PI_F S : PI:D1PI_F:D1FOUR:D2 écrou alice boulon paul cloupierre R PI = PI_F S : PI:D1PI_F:D1FOUR:D2 écrou alice boulon paul vis cloupierre

23 B.Shishedjiev - Algèbre relationnelle23 Calculs sur domaines Extension Agrégation – Sum, Count, Average, Max, Min RArticlePrixquant Clou boulon ecrou S= Article,e(Prix*quant) as Total R ArticleTotal Clou boulon ecrou Sum( Total S) Total

24 B.Shishedjiev - Algèbre relationnelle24 Exemple EMPLOYEES NumberNameAgeSalary 101Mary Smith Mary Bianchi Luigi Neri Nico Bini Marco Celli Siro Bisi Nico Bini Steve Smith Mary Smith5065 HeadEmployee SUPERVISION EMPLOYEES(Number, Name, Age, Salary) SUPERVISION(Head, Employee)

25 B.Shishedjiev - Algèbre relationnelle25 Requêtes Trouvez les numéros, les noms et l'âge des employés qui ont un salaire au-dessus de 40 mille. Number,Name,Age ( Salary 40 (EMPLOYEES)) NumberNameAgeSalary 101Mary Smith Mary Bianchi Luigi Neri Nico Bini Marco Celli Siro Bisi Nico Bini Steve Smith Mary Smith5065 NumberNameAgeSalary 101Mary Smith Luigi Neri Marco Celli Siro Bisi Nico Bini Steve Smith Mary Smith5065 NumberNameAge 101Mary Smith34 104Luigi Neri38 210Marco Celli49 231Siro Bisi50 252Nico Bini44 301Steve Smith34 375Mary Smith50

26 B.Shishedjiev - Algèbre relationnelle26 Requêtes Trouver les chefs qui ont des subordonnés qui ont grand salaires ( au dessus de 40) Head (SUPRVISION Employee=Number ( Salary 40 (EMPLOYEES))) NumberNameAgeSalary 101Mary Smith Mary Bianchi Luigi Neri Nico Bini Marco Celli Siro Bisi Nico Bini Steve Smith Mary Smith5065 HeadEmployee NumberNameAgeSalary 101Mary Smith Luigi Neri Marco Celli Siro Bisi Nico Bini Steve Smith Mary Smith5065 NumberNameAgeSalaryHeadEmployee 101Mary Smith Luigi Neri Marco Celli Siro Bisi Nico Bini Head Head

27 27 NumberNameAgeSalary 101Mary Smith Mary Bianchi Luigi Neri Nico Bini Marco Celli Siro Bisi Nico Bini Steve Smith Mary Smith5065 HeadEmployee NumberNameAgeSalaryHeadEmployee 101Mary Smith Mary Bianchi Luigi Neri Nico Bini Marco Celli Siro Bisi Nico Bini NumberHNameHAgeHSalaryH 101Mary Smith Mary Bianchi Luigi Neri Nico Bini Marco Celli Siro Bisi Nico Bini Steve Smith Mary Smith5065 Numbe r NameAgeSalar y HeadEmploy ee Number H NameHAgeHSalaryH 101Mary Smith Marco Celli Mary Bianchi Marco Celli Luigi Neri Marco Celli Nico Bini Siro Bisi Marco Celli Steve Smith Siro Bisi Steve Smith Nico Bini Mary Smith 5065 NameHSalaryH Marco Celli60 Marco Celli60 Marco Celli60 Siro Bisi60 Steve Smith70 Steve Smith70 Mary Smith65 NameHSalaryH Marco Celli60 Siro Bisi60 Steve Smith70 Mary Smith65 Requêtes Trouvez tous les chefs (leurs noms et salaires) NameH,SalaryH ( NumberH,NameH,SalaryH.AgeH Number,Name.Salary,Age (EMPLOYEES) NumberH=Head (SUPERVISION Employee=Number (EMPLOYEES)))

28 B.Shishedjiev - Algèbre relationnelle28 Requêtes Trouver les employ é es qui gagnent plus que leur chefs Number,name,Salary,Numberh,nameH,SalaryH ( Salary>SalaryH ( NumberH,NameH,SalaryH.AgeH Number,Name.Salary,Age (EMPLOYEES) NumberH=Head (SUPERVISION Employee=Number (EMPLOYEES)))) NumberNameAgeSalar y HeadEmploy ee Number H NameHAgeHSalaryH 101Mary Smith Marco Celli Mary Bianchi Marco Celli Luigi Neri Marco Celli Nico Bini Siro Bisi Marco Celli Steve Smith Siro Bisi Steve Smith Nico Bini Mary Smith 5065 NumberNameAgeSalar y HeadEmploy ee Number H NameHAgeHSalaryH 104Luigi Neri Marco Celli Nico Bini Mary Smith 5065 NumberNameSalaryNumberHNameHSalaryH 104Luigi Neri61210Marco Celli60 252Nico Bini70375Mary Smith65

29 B.Shishedjiev - Algèbre relationnelle29 Requêtes Trouver les chefs dont tous les employées gagnent plus de 40 mille – Number,Name (EMPLOYEES Number=Head ( Head (SUPERVISION) – ( Head (SUPERVISION Employee=Number ( Salary 40 (EMPLOYEES))))) NumberNameAgeSalary 101Mary Smith Mary Bianchi Luigi Neri Nico Bini Marco Celli Siro Bisi Nico Bini Steve Smith Mary Smith5065 HeadEmployee NumberNameAgeSalary 101Mary Smith Mary Bianchi Nico Bini4438 NumberNameAgeSalaryHeadEmployee 101Mary Smith Mary Bianchi Nico Bini Head Head Head NumberNameAgeSalaryHead 301Steve Smith Mary Smith NumberName 301Steve Smith 375Mary Smith

30 B.Shishedjiev - Algèbre relationnelle30 Optimisation des expressions E(X), E 1 (X 1 ), E 2 (X 2 ) sont données π AB (σ Λ>B (E)) σ Λ>B (π AB (E)) F1 F2 (E) F1 ( F2 (E)) X (E) X ( XY (E)) F (E l E 2 ) E l F (E 2 ) ако F X 2 Ако Y 2 X 2 и Y 2 X 1 X 2, то – X1 (E l E 2 ) E l Y2 (E 2 ) – Y (E l F E 2 ) Y ( Y2 (E l ) F Y2 (E 2 ) F (E l E 2 ) E l F E 2

31 B.Shishedjiev - Algèbre relationnelle31 Optimisation des expressions Les numéros des chefs qui ont des subordonnés dont l'age esy au dessous 30. Head ( Number=Employee Age < 30 (EMPLOYEES SUPERVISION)) Head ( Number=Employee ( Age < 30 (EMPLOYEES SUPERVISION))) Head ( Age < 30 (EMPLOYEES) Number=Employee SUPERVISION) Head ( Number ( Age < 30 (EMPLOYEES)) Number=Employee SUPERVISION )


Télécharger ppt "B.Shishedjiev - Algèbre relationnelle1 L'algèbre relationnelle Comment on calcule les relation."

Présentations similaires


Annonces Google