Bases de données L’ALGEBRE RELATIONNELLE 1 Chapitre III : L’ALGEBRE RELATIONNEL
Bases de données L’ALGEBRE RELATIONNELLE 1 Chapitre III : L’ALGEBRE RELATIONNELLE Introduction Les opérateurs La projection La sélection Union, différence, intersection de deux relations ayant le même schéma Le Renommer Le produit cartésien La thêta jointure La jointure naturelle de deux relations ayant au moins un attribut en commun La division Exercices Bases de données L’ALGEBRE RELATIONNELLE 2 1- Introduction L’algèbre relationnelle (AR) a été inventé par T.Codd comme étant un ensemble d’opérateurs, qui à partir d’une ou plusieurs relations existante, créent en résultat une nouvelle relation temporaire (c.-à-d. a une durée de vie limité généralement, la relation est détruite à la fin du programme utilisateur). La relation résultat a exactement les mêmes caractéristiques qu’une relation de la BD, et peut donc être manipulée de nouveau par les opérateurs de l’AR. L’AR comprend : Cinq (05) opérateurs de base : Projection, sélection, union, différence et produit cartésien. Un opérateur syntaxique qui ne fait que modifier le schéma de la relation et pas les tuples. A partir de ces opérateurs d’autres opérateurs ont été déduits comme, l’intersection, la jointure et la division. 2- Les opérateurs 2-1 La projection ࣊ Cet opérateur construit une relation résultat où n’apparaissent que les attributs X de la relation, elle est notée : ࣊ X(R). Les doublons éventuels seront supprimés. Exemple Soit R (A, B, C) une relation. R’= ࣊ A,B (R). 2-2 La sélection б Cet opérateur construit une relation résultat où n’apparaissent que certains tuples de la relation initiale. Les tuples retenus sont ceux qui satisfont une condition explicite appelée prédicat de sélection. Les différentes conditions que l'on va rencontrer sont : <, >, , , =, , ..., reliées les unes aux autres par les opérateurs logiques : et, ou, ... Exemple1 Soit R (A, B, C) une relation. R’= б A=C(R). R A B C 1 2 3 1 2 4 5 6 7 R’ A B 1 2 5 6 R A B C 1 2 3 1 2 4 5 6 7 8 1 8 R’ A B C 8 1 8 Bases de données L’ALGEBRE RELATIONNELLE 3 Exemple2 Soit personne (NP, Nom, Age) une relation. Donner la liste des personnes âgées de plus de 40 ans. Resultat= б Age>40(Personne). 2.3 L’Union, Différence, Intersection de deux relations ayant le même schéma Soit R et S deux relations ayant le même schéma (A1, A2,…An). Union (R∪S) : crée une relation temporaire de même schéma et de population égale à l’ensemble des tuples de R et ceux de S. Différence(R−S) : crée une relation temporaire de même schéma et de population égale à l’ensemble des tuples qui se trouvent dans R mais pas dans S. Intersection(R∩S) : crée une relation temporaire de même schéma et de population égale à l’ensemble des tuples qui sont communs àR et à S. Exemple1 Soit R (A, B, C) et S(A, B, C) deux relations. Exemple2 Soit la BD relationnelle, dont le schéma est : Fournisseur (NF, NomF, Adr) Produit (NP, NomP, Couleur) ALivré (NF ,NP, Date, Qtité) Question : Ecrire les requêtes suivantes en AR. 1) Les noms des fournisseurs qui habitent « Aokas » 2) Les produits rouges. 3) Les noms des produits rouges. 4) Les noms des produits rouges et des produits verts. 5) Les noms des produits NON rouges. Réponse : 1) Les noms des fournisseurs qui habitent « Aokas » : R A B C 1 2 g 1 2 a 5 6 b 8 1 c S A B C 11 22 b 1 2 a 5 6 b 8 1 d R ⋂S A B C 1 2 a 5 6 b R⋃S A B C 1 2 g 1 2 a 5 6 b 8 1 c 11 22 b 8 1 d R-S A B C 1 2 g 8 1 c Bases de données L’ALGEBRE RELATIONNELLE 4 ࣊NomF[ бAdrF=’Aokas’ (Fournisseur)] 2) Les produits rouges бCouleur=’Rouge’(Produit) 3) Les noms des produits rouges ࣊NomP[ бCouleur=’Rouge’(Produit)] 4) Les noms des produits rouges et des produits verts. ࣊NomP[ бCouleur=’Rouge’(Produit)]⋃ ࣊NomP[ бCouleur=’Vert’(Produit)] 5) Les noms des produits NON rouges. ࣊NomP (Produit) - ࣊NomP[ бCouleur=’Rouge’(Produit)] 2-3 Le Renommer α Cet opérateur permet de changer le nom de un ou plusieurs attribut(s) d’une relation. α [NomAttr1 :NouvNomAttr1 ; NomAttr2 :NouvNomAttr2 ;…] (R) Exemple Soit R (A, B, C) une relation. R’= α[A :D ; C : E](R) 2-4 Le Produit cartésien X Le produit cartésien de deux relations R et S de schéma quelconque, noté RXS, est une relation ayant pour schéma l’union des deux schéma de R et de S, et dont les tuples sont toutes les concaténations possibles d’un tuple de R à un tuple de S. Exemple Soit R (A, B, C) et S (C, D, E) deux relations. R A B C 1 2 g 1 2 a 5 6 b 8 1 c R’ D B E 1 2 g 1 2 a 5 6 b 8 1 c R A B C 1 2 g 5 2 a S C D E 3 8 a 5 5 a 7 1 b Bases de données L’ALGEBRE RELATIONNELLE 5 R’= R X S 2-5 La thêta jointure La thêta jointure entre deux relations R et S selon un prédicat θ, notée R θ S est une relation ayant pour schéma l’union des deux schéma de R et de S, et dont les tuples sont ceux de RXS qui satisfont θ. Exemple Soit R (A, B, C) et S (C, D, E) deux relations. R’= R X S R’=R θ S ; θ=(A<=B)et(R.C=E) 2-6 La jointure naturelle de deux relations ayant au moins un attribut en commun Etant donnée deux relations R(X, Y) et S(Y,Z). X, Y et Z sont soit des attributs soit des ensembles d’attributs. La jointure entre R et S, notée R S, est la relation T(X,Y,Z) dont les tuples sont la concaténation « composition » d’un tuple de R et d’un tuple de S ayant la même valeur pour Y. Exemple1 R’ A B R.C S.C D E 1 2 g 3 8 a 1 2 g 5 5 a 1 2 g 7 1 b 5 2 a 3 8 a 5 2 a 5 5 a 5 2 a 7 1 b R A B C 1 2 g 5 2 a S C D E c 8 a a 5 g d 1 b RXS A B R.C S.C D E 1 2 g c 8 a 1 2 g a 5 g 1 2 g d 1 b 5 2 a c 8 a 5 2 a a 5 g 5 2 a d 1 b R’ A B R.C R.C D E 1 2 g a 5 g R A B C 1 2 g 5 2 a S C D E c 8 a a 5 g d 1 b Bases de données L’ALGEBRE RELATIONNELLE 6 Soit R (A, B, C) et S (C, D, E) deux relations. R’= R S Remarque: si X est un ensemble d’attributs communs entre R et S, alors on a : R S= R θ S tel que: θ=R.X=S.X Exemple2 Soit la BD relationnelle suivante : Client (NClient, NomC, PrenomC, Adr) Produit (NProduit, LibelleProduit, Poids, Couleur) Commande (NClient, NProduit, Date, Quantite) Ecrire en AR les requetes suivantes : 1) Quels sont les noms des clients ayant commandé le produit N°102 ? 2) Quels sont les N° des clients ayant commandé le produit de libellé « Lessive Machine» ? 3) Quand est ce que le client DALI Amokrane a commandé de la lessive machine ? Réponse : 1) Quels sont les noms des clients ayant commandé le produit N°102 ? ࣊NomClient[Client NClient ( бNProduit=102(Commande))] 2) Quels sont les N° des clients ayant commandé le produit de libellé « Lessive Machine» ? ࣊NClient[Commande NProduit ( бNomProduit=’ Lessive Machine’(Produit))] 3) Quand est ce que le client DALI Amokrane a commandé de la lessive machine ? ࣊Date[ б(NomClient=’DALI’) ET (PrenomClient=’Amokrane’) (Client) NClient (Commande NProduit ( бNomProduit=’ Lessive Machine’(Produit)))] RXS A B R.C S.C D E 1 2 g c 8 a 1 2 g a 5 g 1 2 g d 1 b 5 2 a c 8 a 5 2 a a 5 g 5 2 a d 1 b R’ A B C D E 5 2 A 5 g Bases de données L’ALGEBRE RELATIONNELLE 7 2-7 La Division Soit deux relations R(A1,A2,…Ap, Ap+1, …An) et S(A1,A2,…Ap). La division de R sur S, notée R/S est la relation T(Ap+1, …An) dont les tuples sont ceux concaténés à chacun des tuples de S, donne toujours un tuple de R. Exemple 1 Soit R (A, B, C) et S (B, C) deux relations. Exemple2 Reconsidérons l’exemple précedent, Client (NClient, NomC, PrenomC, Adr) Produit (NProduit, LibelleProduit, Poids, Couleur) Commande (NClient, NProduit, Date, Quantite) Ecrire en AR les requetes suivantes : 1) Quels sont les noms des produits ayant été commandé par tous les clients ? 2) Quels sont les noms des clients ayant uploads/Industriel/ algebre-relationnelle 1 .pdf
Documents similaires










-
30
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Fev 24, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 0.2651MB