Vous êtes sur la page 1sur 18

08/03/2011

Modle Relationnel

Modle Relationnel I. Prsentation


Le modle relationnel a t invent en 1970 par CODD IBM. Il repose sur le concept de relation entre proprits. Il a connu un grand succs grce : - la simplicit : il utilise des structures simples et courantes (tables). - La rigueur de ses concepts (thorie des ensembles, algbre relationnelle) - Langage de haut niveau (interrogation et manipulation) Commercialisation des SGBDR

08/03/2011

Modle Relationnel I. Prsentation


N.B. Ne pas confondre le concept de relation du modle EntitRelation et celui du modle relationnel. En effet, dans le modle Entit-Relation une relation exprime une association entre entits alors que dans le modle relationnel, il sagit dune relation (au sens mathmatique) entre proprits. Exemple : (Code produit, Libell produit, P.U.) est une relation liant les proprits dune entit Produit .
3

Modle Relationnel II. Concepts de base du modle relationnel


1-Domaine : Un domaine est un ensemble de valeurs que peut prendre une proprit. Exemples : le domaine des entiers. le domaine des rels. Le domaine des boolens {0, 1} Marque_voiture(Renault, FORD, )=D1 COULEUR(Bleu, Vert, )=D2
4

08/03/2011

Modle Relationnel II. Concepts de base du modle relationnel


Le produit cartsien dune liste de domaines D1, D2, Dn est lensemble des n-uplets ou tuples <u1, u2, nn> tels que uiDi. Exemple : (Peugeot, Vert) est un tuple de D1D2.

Modle Relationnel II. Concepts de base du modle relationnel


2- Relation : une relation est un sous-ensemble du produit cartsien dune liste de domaines. Elle est caractrise par un nom significatif et appele table. Plus simplement, une relation ou table peut tre vue comme un tableau deux dimensions dont les colonnes correspondent aux domaines et les lignes contiennent les tuples.

08/03/2011

Modle Relationnel II. Concepts de base du modle relationnel


Exemple : D1D2 donne la relation Voiture :
Marque _Voiture Couleur

Renault Renault FORD FORD Peugeot Peugeot

Bleu Vert Bleu Vert Bleu Vert


7

Modle Relationnel II. Concepts de base du modle relationnel


3- Attribut : Cest une colonne dune relation caractrise par un nom. Exemple : Marque, couleur sont des attributs de la relation voiture.

08/03/2011

Modle Relationnel II. Concepts de base du modle relationnel


4- Schma de relation : Il est compos du nom de la relation, la liste des attributs avec leurs domaines et la cl primaire (groupe minimal dattributs permettant de dterminer un tuple unique dans la relation).

Exemple : Voiture(NVoiture : Entier, Marque : Marque_Voiture, Type : Caractre(10), Couleur : COULEUR).

Modle Relationnel II. Concepts de base du modle relationnel


5-Base de donnes relationnelle : Cest une base de donnes dont le schma est un ensemble de schmas de relations et dont les occurrences sont des tuples de ces relations.

10

08/03/2011

Modle Relationnel II. Concepts de base du modle relationnel


6- Degr de relation : Le degr dune relation est le nombre dattributs qui participent la relation. Exemple : Soit la table Voiture suivante :
NVoiture Marque Renault Peugeot Type R19 306 Couleur Bleu Vert

1-1 1999

Cest une relation de degr 4.

11

Modle Relationnel II. Concepts de base du modle relationnel


7- Cardinalit dune relation : La cardinalit dune relation est le nombre de ses tuples.

Exemple : La cardinalit de la table Voiture de lexemple prcdent est 2.

12

08/03/2011

Modle Relationnel II. Concepts de base du modle relationnel


8-Contraintes dintgrit : Une contrainte dintgrit est une rgle que doivent respecter les valeurs de certains attributs ou certains tuples pour assurer la cohrence du contenu de la BD. Exemple : Soit la relation Produit suivante: Produit(Code prod, Design, Qt_stock, Prix achat, Prix vente) La quantit en stock doit tre suprieure 0. Le prix de vente doit tre suprieure au prix dachat.
13

Modle Relationnel II. Concepts de base du modle relationnel


9- Cl primaire : Cest le plus petit sous-ensemble dattributs dune relation permettant didentifier chacun de ses tuples (mme signification vue dans le MCD). Exemple : Soit la relation Produit(Code prod, Design, Qt_stock, Prix unitaire) Lattribut Code prod est la cl primaire de cette relation.

14

08/03/2011

Modle Relationnel II. Concepts de base du modle relationnel


10-Cl trangre : Une cl trangre dune relation est une cl primaire dune autre relation.

Exemple : Soient les deux relations Dpt et Produit : Dpt(Ndpt, Nom dpt, Adresse dpt). Produit(Code prod, Design, Qt_stock, Prix unitaire, #Ndpt). N dpt est une cl trangre dans la relation produit.
15

Modle Relationnel II. Concepts de base du modle relationnel


11-Valeur Nulle : Une valeur nulle dsigne une valeur inconnue que peut avoir un attribut un instant donn. Exemple : Soit la table Personne : NPersonne 1 2 Nom personne Ali Fatima Date naissance 22/04/1975 adresse Rabat Fs Profession tudiant Docteur

La date de naissance de la personne N1 est une valeur nulle.


16

08/03/2011

Modle Relationnel III. Lalgbre relationnelle


Lalgbre relationnelle est un ensemble doprations formelles sur les relations.

Deux types doprations distinguer : Oprations unaires. Oprations binaires

17

III. Lalgbre relationnelle


III.1. Oprations unaires
1-Projection : La projection dune relation R de schma R=(A1, A2, An) sur les attributs Ai1, Ai2, Aip (avec pn et ijik) est une relation T de schma T=(Ai1, Ai2, Aip) dont les tuples sont obtenus par limination des valeurs des attributs nappartenant pas T et ventuellement par suppression des tuples en double. On note : T=(R/Ai1, Ai2, Aip) ou T=Proj(R/Ai1, Ai2, Aip).
18

08/03/2011

III. Lalgbre relationnelle


III.1 III.1. Oprations unaires
Exemple : Personne(Npersonne, Nom, Prnom, Ville)
Npersonne 1 2 3 4 5 Nom Alami Omari Mourchid Mamoune Bennani Prnom Mohamed Ali Mohamed Kamal Ali Ville Rabat Fs Mekns Rabat Fs

T1=Proj(Personne/Prnom, Ville)
19

III. Lalgbre relationnelle


III.1. Oprations unaires T1=Proj(Personne/Prnom, Ville) est la table suivante :
Prnom Mohamed Ali Mohamed Kamal Ville Rabat Fs Mekns Rabat

20

10

08/03/2011

III. Lalgbre relationnelle


III.1 III.1. Oprations unaires
2- Slection : La slection (ou aussi restriction) de la relation R par un prdicat P est la relation T de mme schma dont les tuples sont ceux de R vrifiant le prdicat P.

P est une proposition logique faisant intervenir les attributs de R, des oprateurs relationnels <, >, <, = et/ou des oprateurs logiques ET, OU, NON

On note : T=R[P] ou T=select(R/P)


21

III. Lalgbre relationnelle


III.1. Oprations unaires
Exemple : T2=select(Personne/Ville= Rabat )
Npersonne 1 4 Nom Alami Mamoune Prnom Mohamed Kamal Ville Rabat Rabat

22

11

08/03/2011

III. Lalgbre relationnelle


III.2. Oprations binaires
1- Produit cartsien : Le produit cartsien de deux relations R et S de schma quelconque est une relation T ayant pour attributs ceux de R et de S et dont les tuples sont toutes les concatnations dun tuple de R un tuple de S. On note : T=RS ou T=Product(R, S) Exemple : Soient les deux relations Produit et Fournisseur : Rfrence AX01 AY02 Libell Cordon Piston Code Fournisseur AF09 AF08 Nom Fournisseur Mourchid Alami
23

III. Lalgbre relationnelle


III.2 III.2. Oprations binaires
La relation ProduitFournisseur est :
Rfrence AX01 AX01 AY02 AY02 Libell Cardan Cardan Piston Piston Code Fournisseur AF09 AF08 AF09 AF08 Nom Fournisseur Mourchid Alami Mourchid Alami

24

12

08/03/2011

III. Lalgbre relationnelle


III.2 III.2. Oprations binaires
2- Jointure : La jointure de deux relations R1 et R2 selon une proposition P est la relation R3 contenant lensemble des tuples du produit cartsien R1R2 satisfaisant la proposition P. On note : R3=join(R1, R2/P). Notons que P est une proposition logique portant sur deux attributs c1 de R1 et c2 de R2 dfinis sur le mme domaine.

25

III. Lalgbre relationnelle


III.2 III.2. Oprations binaires
Exemple :
Rfrence M11 G23 M5 L09 Libell Chemise Costume Chemise Pantalon Prix unitaire 190 1400 102 290 103 400 M11 3 G23 1 Num Commande 101 Rfre nce M11 Qt cde

26

13

08/03/2011

III. Lalgbre relationnelle


III.2 III.2. Oprations binaires
T=Join(Commande, Produit / Commande.Rfrence=Produit.Rfrence) Num Commande 101 102 103 Rfrence M11 G23 M11 Qt cde 2 1 3 Libell Chemise Costume Chemise Prix unitaire 190 1400 190

27

III. Lalgbre relationnelle


III.2. Oprations binaires
3- Union : Lunion de deux relations R et S ayant le mme schma est une relation T de mme schma et contenant lensemble des tuples de R et de S (sans rptition). On note : T=RS ou T=Union(R, S). Exemple : Soient les deux relations tudiants et Employs : CIN 90 772 89 452 88 396 Nom prnom Omari Aziz Ziani Ahmed Hichami Amina Adresse Adr 1 Adr 2 Adr 3 CIN 92 411 85 410 89 452 98 396 Nom prnom Agoumy Bahia Alami Mohamed Ziani Ahmed Doumi Kamal Adresse Adr 11 Adr 22 Adr 2 Adr 33
28

14

08/03/2011

III. Lalgbre relationnelle


III.2. Oprations binaires
Personne=Union(tudiants, Employs)
CIN 90 772 89 452 88 396 92 411 85 410 98 396 Nom prnom Omari Aziz Ziani Ahmed Hichami Amina Agoumy Bahia Alami Mohamed Doumi Kamal Adresse Adr 1 Adr 2 Adr 3 Adr 11 Adr 22 Adr 33
29

III. Lalgbre relationnelle


III.2. Oprations binaires
4- Diffrence : La diffrence de deux relations R et S ayant le mme schma est une relation T de mme schma et contenant lensemble des tuples de R et nappartenant pas S. On note : T=R-S ou T=Minus(R, S) Exemple : Soit T=Minus(tudiants, Employs)
CIN 90 772 88 396 Nom prnom Omari Aziz Hichami Amina Adresse Adr 1 Adr 3
30

15

08/03/2011

III. Lalgbre relationnelle


III.2 III.2. Oprations binaires
5- Intersection : Lintersection de deux relations R et S est une relation de mme schma contenant les tuples appartenant la fois R et S. On note : T=RS ou T=Intersect(R, S) Exemple : La relation P=Intersect(tudiants, Employs) est : CIN 89 452 Nom prnom Ziani Ahmed Adresse Adr 2

31

III. Lalgbre relationnelle


III.2 III.2. Oprations binaires
6- Division : Le quotient de la relation R de schma R=(A1, A2, An) par la relation S=(Ap+1, Ap+2, An) est une relation Q de schma Q=(A1, A2, Ap) forme de tous les tuples, qui concatns chacun de S donne toujours un tuple de R. On note : Q=RS ou Q=Div(R, S).

32

16

08/03/2011

III. Lalgbre relationnelle


III.2 III.2. Oprations binaires

6- Division : Exemple C= A / B C(X) est la division de A (X, Y) par B (Y) ssi C contient tous les tuples ( x ) tels que (y) B, ( x, y ) A
Quels sont les fournisseurs de toutes les pices S# S1 S1 S2 S2 P# P1 P2 P1 P3 P# P1 P2 S# S1

III. Lalgbre relationnelle


III.2 III.2. Oprations binaires
Exemple : Prenons la relation T suivante :

Code Vendeur V11 V11 V12 V12 V13

Nom Vendeur Fatmy Fatmy Madani Madani Khaldi

Rfrence produit X01 X02 X01 X02 X02

Libell produit Piston Roue Piston Roue Roue


34

17

08/03/2011

III. Lalgbre relationnelle


III.2 III.2. Oprations binaires
Et la relation Produit suivante:
Rfrence produit X01 X02
La relation Vendeur=Div(T, Produit) est :

Libell produit Piston Roue

Code Vendeur V11 V12

Nom Vendeur Fatmy Madani


35

Division

Opration binaire non commutative

Signature : relation R1 relation R2 relation Rle : La division gnre une relation regroupant exclusivement toutes les parties d'occurrence de la relation R1 qui sont associes toutes les occurrences de la relation R2. Contraintes : R2 ne peut pas tre vide. Tous les attributs de R2 doivent tre prsents dans R1. R1 doit possder au moins un attribut de plus que R2. Le rsultat de la division est une nouvelle relation qui a tous les attributs de R1 sans aucun de ceux de R2. Si R1 est vide, la relation qui rsulte de la division est vide. Notation : R1 R2

36

18