B.Shishedjiev - Algèbre relationnelle 1 L'algèbre relationnelle Comment on calc
B.Shishedjiev - Algèbre relationnelle 1 L'algèbre relationnelle Comment on calcule les relation B.Shishedjiev - Algèbre relationnelle 2 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 } B.Shishedjiev - Algèbre relationnelle 3 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, YR(X) – (1) Z = Y – (2) YR(X) ={LA(Y) : L'A(X), (L'/Y = L) (L' R) } R : PIECE FOURNISS PROJET écrou paul a écrou paul b boulon pierre a YR(X) : PIECE FOURNISS écrou paul boulon pierre Y={PIECE:D1, FOURNISSEUR:D2 } B.Shishedjiev - Algèbre relationnelle 4 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)=σER(X) = { L A(X) / (L R) et (E(L) = vrai) } R : CLASSE NOM VILLE NAIS SPORT 6 pierre marseille 11.10.79 judo 6 pierre marseille 11.10.79 escrime 6 jacques aubagne 05.03.78 natation 6 paul marseille 06.07.79 football 5 luc aubagne 01.04.77 football E =(VILLE='marseille') (NAIS ≤ '31.08.79') ((SPORT='judo') (SPORT='football')) σER(X) CLASSE NOM VILLE NAIS SPORT 6 paul marseille 06.07.79 football B.Shishedjiev - Algèbre relationnelle 5 Rebaptiser (renommer) • Changer le nom d’attribut, sans changer le domaine ou la sémantique. S(Y) = b/aR(X) (1) Y = X où l’attribut a est nommé b (2) S(Y) = R(X) R : PIECE FOURNISS écrou pierre écrou paul boulon alice T = PI/PIECER(X) PI FOURNISS écrou pierre écrou paul boulon alice B.Shishedjiev - Algèbre relationnelle 6 Opérateurs sur ensembles • Union A B • Intersection A B • Différence A - B • Produit cartésien AB • Jointures • Division A B ou A/B B.Shishedjiev - Algèbre relationnelle 7 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 = RS = {LA(X) : LR L S) (3)T = RS = R*S = {LA(X) : (L R) (L S) (4) R-S = { LA(X) : (L R) (L S) } (5)R = {LA(X) : (L R) } R : PIECE FOURNISS écrou pierre écrou paul boulon alice S : PIECE FOURNISS écrou pierre boulon pierre boulon alice RS : PIECE FOURNISS écrou pierre écrou paul boulon alice boulon pierre RS : PIECE FOURNISS écrou pierre boulon alice SR : PIECE FOURNISS boulon pierre B.Shishedjiev - Algèbre relationnelle 8 Produit cartésien X et Y n'ont aucun attribut en commun. r : (1) Z=XY (2) RS = {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/PIECER R : PIECE FOURNISS écrou pierre écrou paul boulon alice S : PIECE PROJET écrou a écrou b boulon a T : PI FOURNISS écrou pierre écrou paul boulon alice TS PI FOURNISS PIECE PROJET écrou pierre écrou a écrou paul écrou a boulon alice écrou a écrou pierre écrou b écrou paul écrou b boulon alice écrou b écrou pierre boulon a écrou paul boulon a boulon alice boulon a B.Shishedjiev - Algèbre relationnelle 9 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=XY (2) R ⋈X1Y1 S = { LA(Z) :L/X R et L/Y S (X1 Y1)(L) = vrai} ou encore R ⋈X1Y1 S = σ X1Y1 (RS) R ⋈B≤D S : A B C D E 3 2 1 3 4 3 2 1 5 6 6 5 4 5 6 S : D E 3 4 5 6 R : A B C 9 8 7 6 5 4 3 2 1 B.Shishedjiev - Algèbre relationnelle 10 Jointures • Equi-jointure ( est “=”) R : PIECE FOURNISS écrou pierre écrou paul boulon alice S : PIECE PROJET écrou a écrou b boulon a T= PI/PIECER PI FOURNISS écrou pierre écrou paul boulon alice T ⋈PI=PIECE S PI FOURNISS PIECE PROJET écrou pierre écrou a écrou pierre écrou b écrou paul écrou a écrou paul écrou b boulon alice boulon a B.Shishedjiev - Algèbre relationnelle 11 Jointures • Jointure naturelle Soient R(X) et S(Y) deux relations (les attributs communs éventuels étant munis des mêmes domaines). (1) Z=XY (2) R⋈S = {LA(Z) : (L/X R) (L/Y S)} T ⋈ S PIECE FOURNISS PROJET écrou pierre a écrou pierre b écrou paul a écrou paul b boulon alice c R : PIECE FOURNISS écrou pierre écrou paul boulon Alice clou alice S : PIECE PROJET écrou a écrou b boulon c vis d B.Shishedjiev - Algèbre relationnelle 12 Jointures • Jointure naturelle P S R T R T R P S T X Y b b b Y Y X a a a X Y X c c c C If l n m m m m m m m b b b a a a c c c c x c x c x c x c x c x c x c x l n m , , , , , , , , , , , / , , / 2 1 1 2 1 1 2 1 2 1 2 1 2 1 2 2 1 1 2 2 1 1 1 1 ) ( , . , , , , , , , , , , , B.Shishedjiev - Algèbre relationnelle 13 Jointures • Semijointures(⋉⋊) T(Z) = R(X)⋉S(Y) , U(W)=R⋊S (1)Z=X, W=Y (2)T = R⋉S = XR⋈S (3)U = R⋊S= YR⋈S R : PIECE FOURNISS écrou pierre écrou paul boulon Alice clou alice S : PIECE PROJET écrou a écrou b boulon c vis d R ⋉ S PIECE FOURNISS écrou pierre écrou paul boulon alice R⋊ S PIECE PROJET écrou a écrou b boulon a B.Shishedjiev - Algèbre relationnelle 14 Jointures • Antijointure – le complément de la jointure (1) Z=X (2) R⊳S = {LA(X) : (L R) (L/Y S)}=R-R⋉S R : PIECE FOURNISS écrou pierre écrou paul boulon Alice clou alice S : PIECE PROJET écrou a écrou b boulon c vis d R ⊳ S PIECE FOURNISS clou alice B.Shishedjiev - Algèbre relationnelle 15 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) RS = {L A(Z) : L' A(X) si (L'/Z = L) et (L'/Y S) alors L' R } ou encore RS = zR - z((S zR ) - R) B.Shishedjiev - Algèbre relationnelle 16 Division R : PIECE FOURNISS vis pierre boulon paul écrou pierre vis paul boulon pierre boulon alice S : PIECE vis boulon RS : FOURNISS pierre paul B.Shishedjiev - Algèbre relationnelle 17 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 B.Shishedjiev - Algèbre relationnelle 18 Exemple de composition AVION : #AV AVNOM CAP LOC 100 airbus 300 nice 101 airbus 300 paris 102 carav 200 toulouse PILOTE : #PL PLNOM ADR 1 serge nice 2 jean paris 3 claude grenoble VOL : #VOL #PL #AV VD VA HD HA it100 1 100 nice paris 7 8 it101 2 100 uploads/Geographie/algebre-relationnelle.pdf
Documents similaires










-
37
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 30, 2022
- Catégorie Geography / Geogra...
- Langue French
- Taille du fichier 0.2953MB