Cours : Base de données Algèbre relationnel Dr. Lassaad BAATI Algèbre relationn
Cours : Base de données Algèbre relationnel Dr. Lassaad BAATI Algèbre relationnelle Proposée par E. Codd, 1969 Utilisée en général à l'intérieur de tout SGBD relationnel Un LMD algébrique est possible, mais en général peu commode On préfère les requêtes SQL, QUEL, QBE... celles-ci sont traduites en expressions algébriques + procedurales donc + faciles à optimiser par des transformations syntaxiques Introduction L’algèbre relationnelle est un support mathématique cohérent sur lequel repose le modèle relationnel. L’objet de cette section est d’aborder l’algèbre relationnelle dans le but de décrire les opérations qu’il est possible d’appliquer sur des relations pour produire de nouvelles relations. L’approche suivie est donc plus opérationnelle que mathématique. On peut distinguer trois familles d’opérateurs relationnels : Les opérateurs unaires (Sélection, Projection) : ce sont les opérateurs les plus simples, ils permettent de produire une nouvelle table à partir d’une autre table. Les opérateurs binaires ensemblistes (Union, Intersection Différence) : ces opérateurs permettent de produire une nouvelle relation à partir de deux relations de même degré et de même domaine. Les opérateurs binaires ou n-aires (Produit cartésien, Jointure, Division) : ils permettent de produire une nouvelle table à partir de deux ou plusieurs autres tables. Algèbre relationnelle Chaque opération d’algèbre relationnelle prend une/plusieurs tables et les transforme afin de produire une nouvelle table 3 opérations principales Sélection Projection Jointure 3 opérations secondaires Union Intersection Différence Algèbre relationnelle Opérations de base: Sélection ( σ ) Sélectionne un sous-ensemble des lignes d’une relation. Projection ( π ) Efface des colonnes d’une relation [et élimine les doubles]. Produit Cartésien ( X ) Permet de combiner deux relations. Différence ( - ) Elimine les tuples de R1 contenus dans R2 Union ( ∪) Constitue une relation R avec les tuples de R1 et ceux de R2 Algèbre relationnelle Opérations additionnelles: Jointure ( ||) Combinaison de produit cartésien et sélection sur colonne Θ comparables (=, <, >, ...) Intersection Constitue une relation R avec les tuples appartenant à la fois à R1 et R2 Chaque opération retournant une relation, les opérations peuvent être composées! L’algèbre est fermée. Selection La sélection (parfois appelée restriction) génère une relation regroupant exclusivement toutes les occurrences de la relation R qui satisfont l’expression logique E, on la note σ(E)R. Il s’agit d’une opération unaire essentielle dont la signature est : relation × expression logique relation En d’autres termes, la sélection permet de choisir (i.e. sélectionner) des lignes dans le tableau. Le résultat de la sélection est donc une nouvelle relation qui a les mêmes attributs que R. Si R est vide (i.e. ne contient aucune occurrence), la relation qui résulte de la sélection est vide. Exemple de relation Personne Exemple de sélection sur la relation Personne : σ(Numéro ≥ 5)Personne Projection Définition La projection consiste à supprimer les attributs autres que A1, … An d’une relation et à éliminer les n-uplets en double apparaissant dans la nouvelle relation ; on la note Π(A1, … An)R. Il s’agit d’une opération unaire essentielle dont la signature est : relation × liste d’attributs —→ relation En d’autres termes, la projection permet de choisir des colonnes dans le tableau. Si R est vide, la relation qui résulte de la projection est vide, mais pas forcément équivalente (elle contient généralement moins d’attributs). Projection Exemple de projection sur la relation Personne : Π(Nom)Personne Union Définition L’union est une opération portant sur deux relations R1 et R2 ayant le même schéma et construisant une troisième relation constituée des n-uplets appartenant à chacune des deux relations R1 et R2 sans doublon, on la note R1 ∪ R2. Il s’agit une opération binaire ensembliste commutative essentielle dont la signature est : relation × relation —→ relation Comme nous l’avons déjà dit, R1 et R2 doivent avoir les mêmes attributs et si une même occurrence existe dans R1 et R2, elle n’apparaît qu’une seule fois dans le résultat de l’union. Le résultat de l’union est une nouvelle relation qui a les mêmes attributs que R1 et R2. Si R1 et R2 sont vides, la relation qui résulte de l’union est vide. Si R1 (respectivement R2) est vide, la relation qui résulte de l’union est identique à R2 (respectivement R1). Union Exemple d’union : R = R1 ∪ R2 Intersection Définition L’intersection est une opération portant sur deux relations R1 et R2 ayant le même schéma et construisant une troisième relation dont les n-uplets sont constitués de ceux appartenant aux deux relations, on la note R1 ∩ R2. Il s’agit une opération binaire ensembliste commutative dont la signature est : relation × relation → relation Comme nous l’avons déjà dit, R1 et R2 doivent avoir les mêmes attributs. Le résultat de l’intersection est une nouvelle relation qui a les mêmes attributs que R1 et R2. Si R1 ou R2 ou les deux sont vides, la relation qui résulte de l’intersection est vide. Intersection Exemple d’intersection : R = R1 ∩ R2 Différence Définition La différence est une opération portant sur deux relations R1 et R2 ayant le même schéma et construisant une troisième relation dont les n-uplets sont constitués de ceux ne se trouvant que dans la relation R1 ; on la note R1 − R2. Il s’agit une opération binaire ensembliste non commutative essentielle dont la signature est : relation × relation → relation Comme nous l’avons déjà dit, R1 et R2 doivent avoir les mêmes attributs. Le résultat de la différence est une nouvelle relation qui a les mêmes attributs que R1 et R2. Si R1 est vide, la relation qui résulte de la différence est vide. Si R2 est vide, la relation qui résulte de la différence est identique à R1. Différence Exemple de différence : R = R1 − R2 Produit cartésien Définition Le produit cartésien est une opération portant sur deux relations R1 et R2 et qui construit une troisième relation regroupant exclusivement toutes les possibilités de combinaison des occurrences des relations R1 et R2, on la note R1 × R2. Il s’agit d’une opération binaire commutative essentielle dont la signature est : relation × relation → relation Le résultat du produit cartésien est une nouvelle relation qui a tous les attributs de R1 et tous ceux de R2. Si R1 ou R2 ou les deux sont vides, la relation qui résulte du produit cartésien est vide. Le nombre d’occurrences de la relation qui résulte du produit cartésien est le nombre d’occurrences de R1 multiplié par le nombre d’occurrences de R2. Produit cartésien Exemple de produit cartésien : R = Amie × Cadeau Jointure Définition La jointure est une opération portant sur deux relations R1 et R2 qui construit une troisième relation regroupant exclusivement toutes les possibilités de combinaison des occurrences des relations R1 et R2 qui satisfont l’expression logique E. La jointure est notée R1 ▷◁E R2. C’est une opération binaire commutative dont la signature est : relation × relation × expression logique —→ relation Si R1 ou R2 ou les deux sont vides, la relation qui résulte de la jointure est vide. En fait, la jointure n’est rien d’autre qu’un produit cartésien suivi d’une sélection : R 1 ▷◁E R 2 = σE (R 1 × R 2) Jointure Exemple de jointure : R = Famille ▷◁((Age ≤ AgeC) ∧ (Prix < 50)) Cadeau Theta jointure Theta-jointure Définition- Une theta-jointure est une jointure dans laquelle l’expression logique E est une simple comparaison entre un attribut A1 de la relation R1 et un attribut A2 de la relation R2. La theta-jointure est notée R1 ▷◁E R2. Equi-jointure Définition Une equi-jointure est une theta-jointure dans laquelle l’expression logique E est un test d’égalité entre un attribut A1 de la relation R1 et un attribut A2 de la relation R2. L’equi-jointure est notée R1 ▷◁A1,A2 R 2 Remarque : Il vaut mieux écrire R 1 ▷◁A1=A2 R2 que R 1 ▷◁A1,A2 R 2 car cette dernière notation peut prêter à confusion avec une jointure naturelle explicite. Jointure naturelle C’est une jointure dans laquelle l’expression logique E est un test d’égalité entre les attributs qui portent le même nom dans les relations R1 et R2. Dans la relation construite, ces attributs ne sont pas dupliqués mais fusionnés en une seul colonne par couple d’attributs. Elle est notée R1 ▷◁ R2. On peut préciser explicitement les attributs communs à R1 et R2 sur lesquels porte la jointure : R1 ▷◁A1, … , An R2. Généralement, R1 et R2 n’ont qu’un attribut en commun. Dans ce cas, une jointure naturelle est équivalente à une equi-jointure dans laquelle l’attribut de R1 et celui de R2 sont justement les deux attributs qui portent le même nom. Lorsque l’on désire effectuer une jointure naturelle entre R1 et R2 sur un attribut A1 commun à R1 et R2, il vaut mieux écrire R1 ▷◁A1 R2 que R1 ▷◁ R2. En effet, si R1 et R2 possèdent deux attributs portant un nom commun, A1 et A2, R1 ▷◁A1 R2 est bien uploads/s3/ 0005-bd-algebre-relationnel.pdf
Documents similaires










-
25
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jui 18, 2021
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 0.4978MB