![Page 1: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/1.jpg)
Cours de Base de DonneesCours n.3
Algebre relationnelle
Elisabetta De Maria - [email protected]
UFR Sciences et Laboratoire I3S, CNRS
2020-2021Universite de Nice Sophia-Antipolis
![Page 2: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/2.jpg)
Algebre relationnelle
• Langage procedural : indique comment construire unenouvelle relation a partir d’une ou plusieurs relationsexistantes• Langage abstrait, avec des operations qui travaillent sur
une (ou plusieurs) relation(s) pour definir une nouvellerelation sans changer la (ou les) relation(s) originale(s)• le resultat de toute operation est une relation (propriete de
fermeture)
![Page 3: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/3.jpg)
Les operations de l’algebre relationnelle
Les cinq operations fondamentales
• selection• projection• produit cartesien• union• difference
Autres operations
• jointure• intersection• division• ...
![Page 4: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/4.jpg)
Operateurs algebriques
Operateurs ensemblistes
• union• intersection• difference• produit
Operateurs relationnels specifiques
• selection• projection• jointure• division
![Page 5: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/5.jpg)
Tables d’exemple• CLIENT(numero, nom, adresse, telephone)• PRODUIT (reference, marque, prix)• VENTE(numero, ref produit#, no client#, date)
numéro nom adresse téléphone101 Durand Nice 0493939393106 Fabre Paris NULL110 Prosper Paris NULL125 Antonin Marseille 0491919191
référence marque prix numéro ref_produit# no_client# date153 BMW 8 000 € 102 153 101 12/10/2004589 Peugeot 7 450 € 809 589 108 20/01/2005158 Toyota 6 725 € 11005 158 108 15/03/2005589 Citroën 7 000 € 12005 589 125 30/03/2005
Client
VenteProduit
![Page 6: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/6.jpg)
Operations unaires
Soit R(a1,a2, ...,aN) une relation.
Selection : σpredicat(R)
La selection travaille sur R et definit une relation qui ne contientque les tuples de R qui satisfont a la condition (ou predicat)specifiee.
Projection : πa1,...,ak (R)
La projection travaille sur R et definit une relation restreinte aun sous-ensemble des attributs de R, en extrayant les valeursdes attributs specifies et en supprimant les doublons.
![Page 7: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/7.jpg)
![Page 8: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/8.jpg)
![Page 9: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/9.jpg)
![Page 10: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/10.jpg)
![Page 11: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/11.jpg)
Operations ensemblistes (1)Soient R(a1, ...,aN) et S(b1, ...,bM) deux relations.
Union : R ∪ S
L’union de deux relations R et S definit une relation qui contienttous les tuples de R, de S ou a la fois de R et S, les tuples endouble etant elimines.
Difference d’ensembles : R − S
La difference d’ensemble definit une relation qui comporte lestuples qui existent dans la relation R et non dans la relation S.
Intersection : R ∩ S
L’intersection definit une relation constituee de l’ensemble detous les tuples presents a la fois dans R et dans S.
Relations compatibles envers l’union
![Page 12: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/12.jpg)
Operations ensemblistes (2)
Produit cartesien : R × S
Le produit cartesien definit une relation constituee de laconcatenation de tous les tuples de la relation R avec tousceux de la relation S
Relations de schemas quelconques
![Page 13: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/13.jpg)
![Page 14: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/14.jpg)
![Page 15: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/15.jpg)
![Page 16: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/16.jpg)
![Page 17: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/17.jpg)
![Page 18: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/18.jpg)
Operations de jointure
Jointure theta (θ-join) : R ./P S
La theta-jointure definit une relation qui contient les tuples quisatisfont le predicat P du produit cartesien de R et S. Lepredicat P est de la forme R.aiθS.bj ou θ est l’un desoperateurs de comparaison (<,≤,>,≥,=, 6=).
Si le predicat P est l’egalite (=), on parle d’equijointure
Jointure naturelle : R ∗ S
La jointure naturelle est une equijointure des relations R et Ssur tous les attributs communs en retirant les occurrencesmultiples d’attributs.
![Page 19: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/19.jpg)
![Page 20: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/20.jpg)
![Page 21: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/21.jpg)
![Page 22: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/22.jpg)
![Page 23: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/23.jpg)
![Page 24: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/24.jpg)
Operation de division
Supposons que la relation R soit definie sur l’ensembled’attributs A et que la relation S soit definie sur l’ensembled’attributs B, de telle sorte que B ⊆ A. Soit C = A− B.
Division R ÷ S
La division definit une relation sur les attributs C, constituee del’ensemble des tuples de R qui correspondent a la combinaisonde tous les tuples de S.
• T1 = πC(R)
• T2 = πC((S × T1)− R)
• T = T1 − T2
![Page 25: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/25.jpg)
![Page 26: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/26.jpg)
![Page 27: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/27.jpg)
Autres jointuresJointure externe (gauche) entre R et S
La jointure externe gauche est une jointure dans laquelle lestuples de la relation R qui n’ont pas necessairement de valeurcorrespondente dans S parmi les attributs communs de R et S,sont egalement inclus dans la relation resultante. Les valeursmanquantes dans la seconde relation sont mises a nul.
• Jointure externe droite : le resultat conserve tous lestuples de la relation de droite• Jointure externe complete : le resultat reprend tous les
tuples de deux relations et remplit de nuls les attributsabsents pour tous les cas de non-correspondence
Semi-jointure entre R et S
La semi-jointure definit une relation qui contient les tuples de Rqui participent a la jointure de R avec S.
![Page 28: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/28.jpg)
![Page 29: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/29.jpg)
![Page 30: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/30.jpg)
![Page 31: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/31.jpg)
Fonctions des operateurs
![Page 32: Cours de Base de Données Cours n.3 Algèbre relationnelle](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9ce176459c739703b96b/html5/thumbnails/32.jpg)