Cours Bases de Données L2 DSI Pr2 CHAPITRE 4 L’ALGEBRE RELATIONNELLE L’algèbre
Cours Bases de Données L2 DSI Pr2 CHAPITRE 4 L’ALGEBRE RELATIONNELLE L’algèbre relationnelle : Définition L'algèbre relationnelle est une collection d'opérations permettant d'opérer sur les concepts du modèle relationnel. Elle permet par exemple de sélectionner certains enregistrements d'une relation satisfaisant une condition ou encore de regrouper des enregistrements de relations différentes. Le résultat de toute opération de l'algèbre est une nouvelle relation. Cette propriété implique notamment qu'il n y a pas de doublons dans le résultat et permet l'écriture d'expressions de calcul. Etant donnée, que le modèle relationnel est basé sur la théorie des ensembles, l'algèbre relationnelle utilise des opérateurs qu'on peut classer en 3 catégories. Les opérateurs unaires: affectation, sélection et projection. Les opérateurs binaires travaillant sur des relations de même schéma: union, intersection et différence. Les opérateurs binaires travaillant sur des relations de schémas différents: jointure, produit cartésien et division. I. Les opérateurs Unaires II.1 L’Affectation Définition L'affectation permet d'identifier le résultat d'une expression algébrique afin de pouvoir réutiliser cette expression dans une autre expression ou bien de renommer une relation ou de construire une image d'une relation. Syntaxe R (A1,...An) <— Expression de sélection Cours : Bases de données 2 II.2 La sélection Définition La sélection prend en entrée une relation R définie à travers un schéma SR et produit en sortie une nouvelle relation de même schéma SR ayant comme n-uplets ceux de R satisfaisant à l'expression de sélection. Dans la condition, on peut utiliser les opérateurs logiques : ET, OU, Non ainsi que les opérateurs de comparaison classiques. Syntaxe SELECTION condition-de-sélection (R) Ou SELECT (R, condition-de-sélection) Exemple Soit la relation suivante : Etudiant (Matricule, Nom, Prénom, Age, Moyenne) Matricule Nom Prénom Age Moyenne E0001 Ben Salah Mohamed 21 12,3 E0002 Sassi Rafik 19 8,7 E0003 Khélifa Walid 18 17,5 E0004 Helaoui Karim 19 14 Soit l’opération suivante : Etudiant_Excellent ← SELECT (Etudiant, Age <20 ET Moyenne > 16) Le résultat de cette opération est une relation nommée Etudiant_Excellent qui a le même schéma que la relation Etudiant et qui contient uniquement la ligne suivante : Matricule Nom Prénom Age Moyenne E0003 Khélifa Walid 18 17,5 Cours : Bases de données 3 II.3 La projection Définition La projection prend en entrée une relation R définie à travers un schéma SR et produit en sortie une nouvelle relation de schéma A1,....AJ (schéma inclus dans SR) ayant comme tuples ceux de R restreints au sous schéma A1,..., AJ. Il faut noter que la cardinalité de la nouvelle relation est inférieure ou égale à celle de R, puisque des doublons générés par la projection sont supprimés. Syntaxe PROJECTION A1, ..., AJ (R) Ou R [A1,..., AJ] Exemple En s’appuyant sur l’exemple de la relation Etudiant déjà décrite, l’opération suivante : Etudiant2 ← Etudiant [Nom, Prénom, Moyenne] nous donne la relation Etudiant2 suivante : Nom Prénom Moyenne Ben Salah Mohamed 12,3 Sassi Rafik 8,7 Khélifa Walid 17,5 Helaoui Karim 14 II. Les opérateurs binaires sur des relations ayant le même schéma Les 3 opérateurs ensemblistes qui opèrent sur des relations du même schéma sont : l’union, l’intersection et la différence III.1 L’union Définition Elle prend en entrée 2 relations R et S de même schéma A et produit une relation du même schéma qui contient les n-uplets de R suivis de ceux de S (les doublons sont supprimés). Cours : Bases de données 4 Syntaxe R UNION S Exemple Soit les 2 relations Enseignant et Responsable définies de cette façon : Enseignant (Matricule, nom, prénom, dat_naissance) Matricule Nom Prénom dat_naissance Ens001 Khélifa Walid 27/04/78 Ens002 Riahi Samir 12/02/78 Responsable (Matricule, nom, prénom, dat_naissance) Matricule Nom Prénom dat_naissance Resp001 Riahi Samir 12/02/78 Resp002 Bjaoui Amine 15/02/70 L’opération suivante : Personnel ← Enseignant UNION Responsable La relation Personnel contient les occurrences suivantes : Matricule Nom Prénom dat_naissance Ens001 Khélifa Walid 27/04/78 Ens002 Riahi Samir 12/02/78 Resp001 Riahi Samir 12/02/78 Resp002 Bjaoui Amine 15/02/70 III.2 L’intersection Définition L’intersection de 2 Relations R et S qui possèdent le même schéma A produit une nouvelle relation de schéma A ayant les n-uplets communs à R et S. Syntaxe R INTERSECTION S Cours : Bases de données 5 Exemple En se basant sur les 2 relations Enseignant et Responsable déjà décrites, on écrit les opérations suivantes : R1 ← Enseignant [Nom, Prénom] R2 ← Responsable [Nom, Prénom] Noms_communs ← R1 INTERSECTION R2 La relation Noms_communs aura la structure et le contenu suivants : Nom Prénom Riahi Samir III.3 La différence Définition La différence entre 2 relations R et S de même schéma A produit une nouvelle relation du schéma A ayant les n-uplets de R qui ne sont pas dans S. Syntaxe R – S ou R MINUS S Exemple Soit les opérations suivantes : R1 ← Enseignant [Nom, Prénom] R2 ← Responsable [Nom, Prénom] R3 ← R1 – R2 R4 ← R2 – R1 La relation R3 aura la structure et le contenu suivants : Nom Prénom Khélifa Souhir La relation R4 aura la structure et le contenu suivants : Nom Prénom Bjaoui Amine Cours : Bases de données 6 III. Les opérateurs binaires sur des relations ayant des schémas différents IV.1 Le produit cartésien Définition Le produit cartésien de 2 relations R et S qui possèdent 2 schéma différents et disjoints A et B donne en résultat une relation dont le schéma est l’union de 2 schéma A et B et dont les tuples sont la concaténation des tuples de R avec ceux de S. Si x est le degré de R et y est le degré de S alors x + y est le degré de R*S. Si a est la cardinalité de R et b est la cardinalité de S alors a*b est la cardinalité de R*S Syntaxe R * S Exemple Soit R1 (Nom, Age) Nom Age A 20 B 24 C 18 R2 (Prénom, Taille, Poids) Prénom Taille Poids X 1.7 60 Y 1.6 65 R3 <— R1*R2 La relation Résultat (R3) possède le schéma et le contenu suivants : R3 (Nom, Age, Prénom, Taille, Poids) Nom Age Prénom Taille Poids A 20 X 1.7 60 Cours : Bases de données 7 A 20 Y 1.6 65 B 24 X 1.7 60 B 24 Y 1.6 65 C 18 X 1.7 60 C 18 Y 1.6 65 IV.2 La jointure Définition La jointure de deux relations n'est possible que lorsqu'elles ont chacune une ou plusieurs colonnes définies sur le même domaine. La jointure se fait alors selon une ou plusieurs de ces colonnes, appelées de jointure. La condition de jointure peut être une égalité entre les colonnes de jointure ou une inégalité (<,>,<= , >= ou <>). Dans le premier cas, l'opération est appelée équi-jointure et dans le second cas, l'opération est appelée théta-jointure. Si les deux opérandes d'une jointure sont identiques, l'opération est appelée auto-jointure (jointure d'une relation avec elle même). Syntaxe JOIN (R, S, Condition) Ou R * (condition) S Remarque R * (Condition) S = SELECTION Condition (R*S) Exemple R1 (A, B, C) A B C 9 8 7 6 5 4 3 2 1 Cours : Bases de données 8 R2 (D, E) D E 3 4 5 6 R3 <— JOIN (R1, R2, B <= D) R3 (A, B, C, D, E) A B C D E 6 5 4 5 6 3 2 1 3 4 3 2 1 5 6 IV.3 La division Définition La division de R par S est une relation Res, composée de n-uplets tels que le produit cartésien de Res avec le diviseur (S) soit un sous-ensemble de la relation dividende (R). But : traiter les requêtes de style «les … tels que TOUS les …» Syntaxe R / S Ou R÷ S Ou Div (R, S) Exemple Soit la relation Participer définie de cette manière : Participer (Nom_Athlète, Cod_Epreuve) Nom_Athlète Cod_Epreuve Sami Epr1 Mohamed Epr1 Sihem Epr1 Kawther Epr2 Sami Epr2 Cours : Bases de données 9 La relation List_Epreuve (Cod_Epreuve, intitulé) Cod_Epreuve intitulé Epr1 200 m Epr2 400 m L’opération Athlète <— Participer / List_Epreuve donne la structure et le contenu de la relation Athlète suivante : Athlète (Nom_Athlète) Nom_Athlète Sami Remarque Sémantiquement, la relation Athlète contient les athlètes qui ont participé dans toutes les épreuves. uploads/s3/ chapitre-5-bd 1 .pdf
Documents similaires
-
22
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jan 30, 2021
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 0.5390MB