L’algèbre relationnelle 1 Chapitre Faculté des Sciences de Bizerte Département
L’algèbre relationnelle 1 Chapitre Faculté des Sciences de Bizerte Département Informatique 5 Préparé par: Mme O. DRIDI 2019 / 2020 2 Algèbre relationnelle : Définition • Langage procédural : indique comment construire une nouvelle relation à partir d’une ou plusieurs relations existantes. • Langage abstrait, avec des opérations qui travaillent sur une (ou plusieurs) relation(s) pour définir une nouvelle relation sans changer la (ou les) relation(s) originale(s) • Le résultat de toute opération est une relation. 3 Algèbre relationnelle : Définition • Collection d’opérations formelles qui agissent sur des relations et produisent une relation en résultat. • L’algèbre relationnelle définit des opérateurs sur les relations, produisant de nouvelles relations. Il est donc possible de construire de nouvelles informations à partir des relations de départ et d’une composition séquentielle d’opérateurs. • Ces opérateurs se divisent en trois classes : – les opérateurs unaires portant sur une seule relation, – les opérateurs binaires portant sur deux relations de même schéma – les opérateurs binaires portant sur deux relations de schémas différents. 4 Algèbre relationnelle : Opérateurs relationnels Opérations classiques ensemblistes: ! Union (È) ! Intersection (Ç) ! Différence (-) ! Produit Cartésien (´) Les deux relations doivent posséder le même nombre d’attributs et les domaines des attributs associés doivent être de même type Généralement, la réponse à une requête s’obtient par l’utilisation d’un ou plusieurs opérateurs relationnels. 5 Algèbre relationnelle : Opérateurs relationnels Opérations spécifiques BD utilisant les valeurs des attributs: ! Sélection (s) ! Projection (p) ! Jointures ( / *) ! Division (÷) 6 • Opération portant sur deux relations de même schéma R1 et R2, consistant à construire une relation de même schéma R3 ayant pour tuples ceux appartenant à R1 ou R2. (les tuples en double étant éliminés). • Notation R1ÈR2 UNION (R1, R2) Algèbre relationnelle : Union (1/2) 7 Algèbre relationnelle : Union (1/2) L’union permet de fusionner deux relations ayant les mêmes attributs en une seule relation. UNION(R, S) produit une nouvelle relation de même schéma ayant les n-uplets de R et ceux de S, les doublons étant supprimés. Soit la relation OUVRIER Soit la relation CADRE UNION (OUVRIER , CADRE) Num_Employé Nom_Employé 14 Ben Saleh 45 Ben Mohamed Tounsi 56 Num_Employé Nom_Employé 78 Ben Salem 98 Ben Younes Num_Employé Nom_Employé 14 Ben Saleh 45 Ben Mohamed Tounsi 56 78 Ben Salem 98 Ben Younes Algèbre relationnelle : Intersection (1/2) • Opération portant sur deux relations de même schéma R1 et R2 consistant à construire une relation de même schéma R3 ayant pour tuples ceux appartenant à la fois à R1 et R2. • Notation R1 Ç R2 INTERSECT (R1, R2) AND(R1, R2) 8 9 Algèbre relationnelle : Intersection (2/2) Permet de fournir des occurrences présentes dans l’une et l’autre des relations. Soit la relation INGENIEUR Soit la relation CHEF DE SERVICE Num_Employé Nom_Employé 14 Ben Saleh 45 Ben Mohamed Tounsi 56 Num_Employé Nom_Employé 34 Ben Saleh 45 Ben Mohamed Tounsi 56 Num_Employé Nom_Employé Ben Saleh 45 Tounsi 56 Algèbre relationnelle : Différence (1/2) • Opération portant sur deux relations de même schéma R1 et R2, consistant à construire une relation de même schéma R3 ayant pour tuples ceux appartenant à R1 et n’appartenant pas à R2. • Notation R1 - R2 DIFFERENCE(R1, R2) REMOVE (R1, R2) MINUS(R1, R2) 10 Algèbre relationnelle : Différence (2/2) 11 Permet d’obtenir les occurrences de la relation R1 qui n’appartiennent pas à la relation R2. Différence (INSCRITS, REÇUS) Soit la relation INSCRITS Soit la relation REÇUS Nom_Étud Spécialité Ben Mohamed Gestion Ben Saleh Marketing Économie Tounsi Gestion Ben Mahmoud Nom_Étud Spécialité Ben Mohamed Marketing Économie Tounsi Nom_Étud Spécialité Gestion Ben Saleh Gestion Ben Mahmoud Algèbre relationnelle : Produit cartésien (1/2) • Opération portant sur deux relations R1 et R2, consistant à construire une relation R3 ayant pour schéma la concaténation de ceux des relations opérandes et pour tuples toutes les combinaisons des tuples des relations opérandes • Notation R1 ´ R2 PRODUCT(R1, R2) TIMES(R1,R2) 12 Algèbre relationnelle : Produit cartésien (2/2) 13 Le produit cartésien se construit en combinant toutes les possibilités. TIMES(LIVRE, EDITION) Soit la relation LIVRE Soit la relation EDITION Titre Auteur Ben Saleh X Tounsi Y Couleur Type Luxe Rouge Broché Blanc Titre Auteur Ben Saleh X Ben Saleh X Couleur Type Luxe Rouge Broché Blanc Tounsi Y Luxe Rouge Broché Blanc Tounsi Y Algèbre relationnelle : Sélection (ou restriction) (1/4) • Opération sur une relation R1 produisant une relation R2 de même schéma, mais comportant les seuls tuples qui vérifient la condition C précisée en argument. • C est une condition logique s’exprimant au moyen des attributs de R et des opérateurs logiques AND, OR, NOT et de comparaison =, ¹, <, >, £, ³, BETWEEN, IN, LIKE • Notation : scondition (R1) RESTRICT(R,condition) R[condition] • scond1 (scond2 (R)) = scond2 (scond1 (R)) 14 Algèbre relationnelle : Sélection (ou restriction) (2/4) 15 A B b a a d C 1 2 R Résultat b c 3 b a 4 e e 5 A B b a a d C 1 2 sc (R) Où C =(A=‘a’ OU B=‘a’) ET C<=3 è Algèbre relationnelle : Sélection (ou restriction) (3/4) 16 élimination des occurrences de la relation qui ne satisfont pas à une condition donnée. Exemple : Relation Commande « Donner les commandes passées après le mois d’octobre » N°Commande Date Montant 28 Octobre 1675 29 Octobre 3425 30 Novembre 4670 52 Décembre 345 N°Commande Date Montant 30 Novembre 4670 52 Décembre 345 Algèbre relationnelle : Sélection (ou restriction) (4/4) 17 Exemple : Relation Commande « Donner les commandes dont le montant ne dépasse pas 500 DT » N°Commande Date Montant 28 Octobre 1675 29 Octobre 3425 30 Novembre 4670 52 Décembre 345 N°Commande Date Montant 52 Décembre 345 Algèbre relationnelle : Projection (1/2) • Opération sur une relation R1 consistant à composer une relation R2 en enlevant à la relation initiale tous les attributs non mentionnés en opérandes. • Notation p A1, A2, …, An (R) R[A1, A2, …, An] PROJECT(R, A1, A2, …, An) • p liste1 (p liste2 (R)) = p liste1 (R) 18 Algèbre relationnelle : Projection (2/2) 19 Consiste à éliminer des attributs d’une relation Soit la relation ÉTUDIANT : Nom_Etud Nom_Départ Ben Saleh Informatique Ben Ahmed Informatique Adr_Départ Bizerte Jendouba p Nom_Etud (ETUDIANT) p Nom_Etud, Adr_Départ(ETUDIANT) 20 Algèbre relationnelle : Jointure Join fusionne deux relations en produisant toutes les concaténations de leurs n-uplets respectifs qui vérifient une condition c. La jointure est un Produit cartésien suivi d’une sélection. A B 2 1 5 4 D E 1 3 2 1 C 3 6 R S A B 2 1 C 3 D E 1 3 2) Jointure: R S B<D et C>E A B C D E 1) Produit Cartésien: R X S 2 1 3 2 1 3 1 3 2 1 5 4 6 1 3 2 1 5 4 6 R1 C R2 = σC (R1 × R2) Algèbre relationnelle : Variantes de Jointure 21 Théta-Jointure une jointure dans laquelle la condition C est une simple comparaison entre un attribut A1 de la relation R1 et un attribut A2 de la relation R2. C D b 1 b 2 A B E a c S R a 1 a 3 C D b 1 b 2 A B E a c R X S a 1 a 1 b 1 b 2 a c a 3 a 3 R A<=CS C D b 1 b 2 A B E a c a 1 a 1 22 A B b a e d A’ B’ b a’ b’ a’ C c c’ R S A B C A’ B’ C’ c’ c’ C’ e d c’ b a’ c’ e d c’ b’ a’ c’ Équi-Jointure: R C=C’ S Une équi-jointure est une jointure dans laquelle la condition C est un test d'égalité entre un attribut A1 de la relation R1 et un attribut A2 de la relation R2 (sans élimination de l’attribut superflus). Algèbre relationnelle : Variantes de Jointure Algèbre relationnelle : Variantes de Jointure 23 La Jointure Naturelle est une équi-jointure dans laquelle les attributs des relations R1 et R2 portent le même nom. Dans la relation construite, l'attribut n'est pas dupliqué mais fusionné en un seul attribut. Notation: R1 * R2 ou JOIN(R1, R2) La définition d’une jointure naturelle exige que les deux attributs de la jointure portent le même nom dans les deux relations. Algèbre relationnelle : Variantes de Jointure 24 La jointure Naturelle A B b a b’ a’ B C c’ b c’ b’ C c c’ R S A B C D E Jointure Naturelle: R * S D d e E f f c’ b’ e f a’ A B b a b a C c c B C c’ b c’ b’ D d e E f f b’ a’ b’ a’ c’ c’ c’ b c’ b’ d e f f R x S Algèbre relationnelle : Variantes de Jointure 25 Semi-jointure • La semi-jointure est une jointure pour laquelle uploads/s3/ chap5-algebrerelationnelle.pdf
Documents similaires










-
38
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 15, 2022
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 2.7950MB