Vous êtes sur la page 1sur 36

Modèle Relationnel

1
Modèle Relationnel
I. Présentation
Le modèle relationnel a été inventé en 1970 par CODD à IBM.

Il repose sur le concept de relation entre propriétés.

Il a connu un grand succès grâce à :

- la simplicité : il utilise des structures simples et courantes (tables).

- La rigueur de ses concepts (théorie des ensembles, algèbre relationnelle…)

- Langage de haut niveau (interrogation et manipulation)

 Commercialisation des SGBDR

2
Modèle Relationnel
I. Présentation
N.B. Ne pas confondre le concept de relation du modèle Entité-
Relation et celui du modèle relationnel. En effet, dans le modèle
Entité-Relation une relation exprime une association entre entités
alors que dans le modèle relationnel, il s’agit d’une relation (au
sens mathématique) entre propriétés.

Exemple :

(Code produit, Libellé produit, P.U.) est une relation liant les
propriétés d’une entité « Produit ». 3
Modèle Relationnel
II. Concepts de base du modèle relationnel
1-Domaine :

Un domaine est un ensemble de valeurs que peut prendre une propriété.

Exemples :

- le domaine des entiers.

- le domaine des réels.

- Le domaine des booléens {0, 1}

- Marque_voiture(Renault, FORD, …)=D1

- COULEUR(Bleu, Vert, …)=D2

4
Modèle Relationnel
II. Concepts de base du modèle relationnel

Le produit cartésien d’une liste de domaines D1, D2, …Dn est


l’ensemble des n-uplets ou tuples <u1, u2, …nn> tels que ui∈Di.

Exemple :
(Peugeot, Vert) est un tuple de D1×D2.

5
Modèle Relationnel
II. Concepts de base du modèle relationnel
2- Relation :
une relation est un sous-ensemble du produit cartésien d’une
liste de domaines. Elle est caractérisée par un nom significatif
et appelée 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.

6
Modèle Relationnel
II. Concepts de base du modèle relationnel

Exemple :

D1×D2 donne la relation Voiture :

Marque _Voiture Couleur

Renault Bleu
Renault Vert
FORD Bleu
FORD Vert
Peugeot Bleu
Peugeot Vert

7
Modèle Relationnel
II. Concepts de base du modèle relationnel

3- Attribut :
C’est une colonne d’une relation caractérisée par un nom.

Exemple :
Marque, couleur sont des attributs de la relation voiture.

8
Modèle Relationnel
II. Concepts de base du modèle relationnel
4- Schéma de relation :
Il est composé du nom de la relation, la liste des attributs avec leurs
domaines et la clé primaire (groupe minimal d’attributs permettant de
déterminer un tuple unique dans la relation).

Exemple :
Voiture(N°Voiture : Entier, Marque : Marque_Voiture, Type :
Caractère(10), Couleur : COULEUR).

9
Modèle Relationnel
II. Concepts de base du modèle relationnel
5-Base de données relationnelle :

C’est une base de données dont le schéma est un ensemble de


schémas de relations et dont les occurrences sont des tuples
de ces relations.

10
Modèle Relationnel
II. Concepts de base du modèle relationnel
6- Degré de relation :
Le degré d’une relation est le nombre d’attributs qui participent à
la relation.
Exemple :
Soit la table Voiture suivante :
N°Voiture Marque Type Couleur

Renault R19 Bleu


1-1 1999 Peugeot 306 Vert

C’est une relation de degré 4.


11
Modèle Relationnel
II. Concepts de base du modèle relationnel

7- Cardinalité d’une relation :


La cardinalité d’une relation est le nombre de ses tuples.

Exemple :
La cardinalité de la table Voiture de l’exemple précédent est 2.

12
Modèle Relationnel
II. Concepts de base du modèle relationnel
8-Contraintes d’intégrité :
Une contrainte d’intégrité est une règle que doivent respecter les
valeurs de certains attributs ou certains tuples pour assurer la
cohérence 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 supérieure à 0.
Le prix de vente doit être supérieure au prix d’achat.
13
Modèle Relationnel
II. Concepts de base du modèle relationnel
9- Clé primaire :
C’est le plus petit sous-ensemble d’attributs d’une relation permettant
d’identifier chacun de ses tuples (même signification vue dans le MCD).

Exemple :
Soit la relation Produit(Code prod, Design, Qté_stock, Prix unitaire)
L’attribut Code prod est la clé primaire de cette relation.

14
Modèle Relationnel
II. Concepts de base du modèle relationnel
10-Clé étrangère :

Une clé étrangère d’une relation est une clé primaire d’une autre
relation.

Exemple :

Soient les deux relations Dépôt et Produit :

Dépôt(N°dépôt, Nom dépôt, Adresse dépôt).

Produit(Code prod, Design, Qté_stock, Prix unitaire, #N°dépôt).

N° dépôt est une clé étrangère dans la relation produit.

15
Modèle Relationnel
II. Concepts de base du modèle relationnel
11-Valeur Nulle :

Une valeur nulle désigne une valeur inconnue que peut avoir un attribut
à un instant donné.

Exemple :

Soit la table Personne :


N°Personne Nom Date adresse Profession
personne naissance

1 Ali - Rabat Étudiant


2 Fatima 22/04/1975 Fès Docteur

La date de naissance de la personne N°1 est une valeur nulle.


16
Modèle Relationnel
III. L’algèbre relationnelle
L’algèbre relationnelle est un ensemble d’opérations
formelles sur les relations.

Deux types d’opérations à distinguer :

Opérations unaires.

Opérations binaires

17
III. L’algèbre relationnelle
III.11. Opérations unaires
III.
1-Projection :

La projection d’une relation R de schéma R=(A1, A2, …An)


≤n et ij≠ik) est une
sur les attributs Ai1, Ai2, …Aip (avec p≤
relation T de schéma T=(Ai1, Ai2, …Aip) dont les tuples
sont obtenus par élimination des valeurs des attributs
n’appartenant 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
III. L’algèbre relationnelle
III.11. Opérations unaires
III.
Exemple : Personne(N°personne, Nom, Prénom, Ville)

N°personne Nom Prénom Ville

1 Alami Mohamed Rabat


2 Omari Ali Fès
3 Mourchid Mohamed Meknès

4 Mamoune Kamal Rabat


5 Bennani Ali Fès

T1=Proj(Personne/Prénom, Ville)

19
III. L’algèbre relationnelle
III.11. Opérations unaires
III.
T1=Proj(Personne/Prénom, Ville) est la table suivante :

Prénom Ville
Mohamed Rabat
Ali Fès
Mohamed Meknès
Kamal Rabat

20
III. L’algèbre relationnelle
III.11. Opérations unaires
III.
2- Sélection :
La sélection (ou aussi restriction) de la relation R par un
prédicat P est la relation T de même schéma dont les tuples sont
ceux de R vérifiant le prédicat P.

P est une proposition logique faisant intervenir les attributs de R,


des opérateurs relationnels <, >, <, = et/ou des opérateurs
logiques ET, OU, NON…

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


21
III. L’algèbre relationnelle
III.11. Opérations unaires
III.
Exemple :
T2=select(Personne/Ville= « Rabat »)

N°personne Nom Prénom Ville

1 Alami Mohamed Rabat

4 Mamoune Kamal Rabat

22
III. L’algèbre relationnelle
III.22. Opérations binaires
III.
1- Produit cartésien :
Le produit cartésien de deux relations R et S de schéma quelconque est une relation T
ayant pour attributs ceux de R et de S et dont les tuples sont toutes les concaténations
d’un tuple de R à un tuple de S.
On note : T=R×S ou T=Product(R, S)
Exemple : Soient les deux relations Produit et Fournisseur :

Référence Libellé Code Nom


Fournisseur Fournisseur
AX01 Cordon
AF09 Mourchid
AY02 Piston
AF08 Alami

23
III. L’algèbre relationnelle
III.22. Opérations binaires
III.

La relation Produit×Fournisseur est :


Référence Libellé Code Nom
Fournisseur Fournisseur

AX01 Cardan AF09 Mourchid

AX01 Cardan AF08 Alami

AY02 Piston AF09 Mourchid

AY02 Piston AF08 Alami

24
III. L’algèbre relationnelle
III.22. Opérations binaires
III.
2- Jointure :
La jointure de deux relations R1 et R2 selon une proposition P est la
relation R3 contenant l’ensemble des tuples du produit cartésien R1×R2
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 définis sur le même domaine.

25
III. L’algèbre relationnelle
III.22. Opérations binaires
III.

Exemple :
Référence Libellé Prix Num Référe Qté cdée
unitaire Commande nce
M11 Chemise 190
101 M11 2
G23 Costume 1400
102 G23 1
M5 Chemise 290
103 M11 3
L09 Pantalon 400

26
III. L’algèbre relationnelle
III.22. Opérations binaires
III.
T=Join(Commande, Produit / Commande.Référence=Produit.Référence)

Num Référence Qté cdée Libellé Prix


Commande unitaire
101 M11 2 Chemise 190

102 G23 1 Costume 1400

103 M11 3 Chemise 190

27
III. L’algèbre relationnelle
III.22. Opérations binaires
III.
3- Union :
L’union de deux relations R et S ayant le même schéma est une relation T de même
schéma et contenant l’ensemble des tuples de R et de S (sans répétition).
On note : T=R∪S ou T=Union(R, S).

Exemple : Soient les deux relations « Étudiants » et « Employés » :


CIN Nom prénom Adresse CIN Nom prénom Adresse

90 772 Omari Aziz Adr 1 92 411 Agoumy Bahia Adr 11


85 410 Alami Mohamed Adr 22
89 452 Ziani Ahmed Adr 2
89 452 Ziani Ahmed Adr 2
88 396 Hichami Adr 3
Amina 98 396 Doumi Kamal Adr 33
28
III. L’algèbre relationnelle
III.22. Opérations binaires
III.

Personne=Union(Étudiants, Employés)
CIN Nom prénom Adresse

90 772 Omari Aziz Adr 1

89 452 Ziani Ahmed Adr 2

88 396 Hichami Amina Adr 3

92 411 Agoumy Bahia Adr 11

85 410 Alami Mohamed Adr 22

98 396 Doumi Kamal Adr 33


29
III. L’algèbre relationnelle
III.22. Opérations binaires
III.

4- Différence :
La différence de deux relations R et S ayant le même schéma est une
relation T de même schéma et contenant l’ensemble des tuples de
R et n’appartenant pas à S.
On note : T=R-S ou T=Minus(R, S)
Exemple : Soit T=Minus(Étudiants, Employés)
CIN Nom prénom Adresse

90 772 Omari Aziz Adr 1

88 396 Hichami Amina Adr 3


30
III. L’algèbre relationnelle
III.22. Opérations binaires
III.
5- Intersection :
L’intersection de deux relations R et S est une relation de même schéma contenant les
tuples appartenant à la fois à R et S.
On note : T=R∩S ou T=Intersect(R, S)
Exemple : La relation P=Intersect(Étudiants, Employés) est :

CIN Nom prénom Adresse

89 452 Ziani Ahmed Adr 2

31
III. L’algèbre relationnelle
III.22. Opérations binaires
III.
6- Division :
Le quotient de la relation R de schéma R=(A1, A2, …An) par la relation
S=(Ap+1, Ap+2, …An) est une relation Q de schéma Q=(A1, A2, …Ap)
formée de tous les tuples, qui concaténés à chacun de S donne
toujours un tuple de R.

On note : Q=R÷S ou Q=Div(R, S).

32
III. L’algèbre relationnelle
III.22. Opérations binaires
III.

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
S# P# P# S#
S1 P1 P1 S1
Quels sont les fournisseurs de
S1 P2 P2
toutes les pièces
S2 P1
C
B
S2 P3
A
III. L’algèbre relationnelle
III.22. Opérations binaires
III.
Exemple :
Prenons la relation T suivante :

Code Nom Référence Libellé


Vendeur Vendeur produit produit
V11 Fatmy X01 Piston
V11 Fatmy X02 Roue
V12 Madani X01 Piston
V12 Madani X02 Roue
V13 Khaldi X02 Roue

34
III. L’algèbre relationnelle
III.22. Opérations binaires
III.
Et la relation Produit suivante:
Référence produit Libellé produit

X01 Piston

X02 Roue

La relation Vendeur=Div(T, Produit) est :


Code Vendeur Nom Vendeur

V11 Fatmy
V12 Madani

35
• Division
• • Opération binaire non commutative
• • Signature : relation R1 × relation R2 → relation
• • Rôle : La division génère une relation regroupant exclusivement toutes les parties d'occurrence
de la relation R1 qui sont associées à toutes les occurrences de la relation R2.
• • Contraintes : R2 ne peut pas être vide. Tous les attributs de R2 doivent être présents dans R1.
R1 doit posséder au moins un attribut de plus que R2.
• • Le résultat 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 résulte de la division est vide.
• • Notation : R1 ÷ R2

36

Vous aimerez peut-être aussi