Vous êtes sur la page 1sur 10

ENST

Le modle Relationnel et lAlgbre relationnelle

2012-2013

Le modle Relationnel et lAlgbre relationnelle


Introduction
Le modle relationnel est un modle logique propos par Codd IBM-St-Jos en 1970, et associ aux
SGBD relationnels (ex: Oracle, Access, Paradox, dBase, SQLServer).
Une BD relationnelle est une BD dont le schma est un ensemble de schmas de relations et dont les
occurrences sont des tuples ou n-uplets de ces relations. Autrement dit, les entits et les associations
du modle E-A sont reprsentes exclusivement par des relations (des tables).
Ce modle propose une dmarche pour la description (LDD), et l'interrogation (LMD) des donnes
par laquelle les objets sont manipuls par des oprateurs algbriques relationnels (UNION,
INTERSECTION, PRODUIT CARTESIEN, SELECTION, PROJECTION, JOINTURE, ...).

1. Notions de base:
- Un schma relationnel est un ensemble de schmas de relations dont les occurrences sont des nuplets de ces relations (ou tuples).
- Une Relation est un ensemble d'attributs {A1,A2,,An}. Par exemple: la relation PRODUIT est
l'ensemble des attributs {NumProd, Dsi, PrixUni}
- Chaque attribut Ai prend ses valeurs dans un domaine D(Ai).Par exemple: D(PrixUni) = ]0, 10000]
- Un n-uplet est un ensemble de valeurs t=<V1,V2,,Vn> o Vi dom(Ai) ou bien Vi est la valeur
nulle (NULL). Par exemple : <Dupont, Paris, 2140> est un tuple de la table ou la relation R.
<Feren, null, 3296> peut tre aussi un tuple de la relation.
- Le schma de la relation R est la liste des attributs de R avec, pour chacun, son domaine, parfois
sous-entendu. Par exemple : Le schma de r est R = (NOM : D1, ADR : D2, NUM : D3) peut tre cris
crit en abrg

R = (NOM, ADR, NUM).

- Reprsentation dune relation : Chaque tuple (n-uplet) dune relation est crit dans une ligne dun
tableau dont les noms des colonnes sont les attributs de la relation. Chaque tuple est unique. Les
duplications ne sont pas autorises et lordre des tuples est indiffrent.

Figure. II.1. Reprsentation graphique dune relation.


- Une Cl primaire et un ensemble d'attributs dont les valeurs permettent de distinguer les nuplets
les uns des autres (identifiant) tandis quune Cl trangre est un attribut qui est une cl primaire
1

ENST

Le modle Relationnel et lAlgbre relationnelle

2012-2013

d'une autre relation. Notons ici que cls primaires sont gnralement soulignes et les cls
trangres en italiques.
Par exemple : NumProd est une cl primaire de la relation PRODUIT et l'attribut NumFour est une cl
trangre la relation PRODUIT (NumProd,Dsi,PrixUni,NumFour).

2. Passage modle Entit-Association / modle Relationnel:


La modlisation E-A des donnes tant effectue, il faut implanter la structure obtenue en machine,
par exemple sous forme d'un SGBD relationnel. Nous allons donc transformer cette structure sous
une forme relationnelle. On dit aussi que l'on transforme le diagramme E-A en schma relationnel.

Figure. II.2. exemple dun modle Entit-Association.

Etape 1 :
Toute classe dentits du diagramme Entit/Association est reprsente par une relation
dans le schma relationnel quivalent. La cl primaire de cette relation est lidentifiant de la
classe dentits correspondante.
Dans la figure II.2. nous pouvons avoir 4 relations quivalentes aux 4 classes dentits :
Acteur (NumActeur, Nom, Prnom)
Film (NumFilm, Titre, Metteur_En_Scne)
Cinema (NumCinma, Nom, Adresse)
Ralisateur (NumRealisateur, Nomra, Prnomra)
Etape 2
Toute association est transforme en relation. La cl de cette relation est compose de tous
les identifiants des entits participantes.

ENST

Le modle Relationnel et lAlgbre relationnelle

2012-2013

Dans la figure II.2. nous pouvons avoir 3 autres relations quivalentes aux 3 associations :
Joue (NumACteur, NumFilm, Rle)
Affiche (NumFilm, NumCinema,Date)
Ralise (NumFilm,NumRalisateur)
Etape 3 (Optimisation)
Toute association relie une classe dentits avec une cardinalit de type 0,1 ou 1,1 peut
tre fusionne avec la classe dentits. Dans ce cas on dplace les attributs de lassociation
vers ceux de la relation traduisant la classe dentits.
Pour lexemple de la figure II.2. et aprs loptimisation des 7 relations trouves
prcdemment, on retrouve le schma relationnel optimal suivant :
Acteur (NumActeur, Nom, Prnom)
Film (NumFilm, Titre, MetteurEnScne,NumReal)
Cinema (NumCinma, Nom, Adresse)
Ralisateur(NumRealisateur,Nom, Prnom)
Joue (NumACteur, NumFilm, Rle)
Affiche (NumFilm, NumCinema,Date)
3. Algbre relationnelle :
La notion de relation a engendr le dveloppement de langages dinterrogation
assertionnels qui permettent de dfinir les donnes que lon souhaite visualiser sans dire
comment y accder.
Un langage de manipulation des donnes (LMD) se compose dun ensemble de commandes
permettant linterrogation de la base et dun ensemble de commandes permettant de
modifier celle-ci (insertion, mise jour, suppression). Les langages algbriques, o
lexpression dun besoin dutilisateur se fait laide doprations dont les oprandes sont
des relations. Ces langages consistent en une squence d'oprateurs sur les relations quon
en peut aussi donner une reprsentation graphique sous forme d'arbre. Par exemple,
linterrogation des donnes utilise ans le langage SQL (Structured English QUEry Language)
est bas sur lalgbre relationnelle (dveloppe par CODD).
Lalgbre relationnelle est un ensemble doprations (unaires et binaires) ayant pour
oprandes (entres) des relations et pour rsultat une autre relation.
On trouve 5 oprateurs de base et 3 oprateurs supplmentaires.

ENST

Le modle Relationnel et lAlgbre relationnelle

2012-2013

3.1. Oprateurs de base


3.1.1. Union
L'union de deux relations R1 et R2 de mme schma est une relation R3 de schma
identique qui a pour n-uplets les n-uplets de R1 et/ou R2. Et on notera (R1 U R2) ou bien
Union (R1, R2).
Exemple : R et S sont les relations Matire de deux dpartements qui fusionnent et veulent
unifier leur formation. Le rsultat est une relation T.
Matire (Intitul, anne, semestre, coef, credit)

Figure. II.3. Lunion de deux relations.

Notation graphique :

3.1.2. Intersection
Lintersection entre deux relations R1 et R2 de mme schma est une relation R3 de schma
identique ayant pour n-uplets les n-uplets communs R1 et R2. On notera (R1 R2) ou
Intersect (R1, R2).
Exemple : lintersection des deux relations Matire : R et S est une relation T contenant les
matires communes des deux dpartements.

ENST

Le modle Relationnel et lAlgbre relationnelle

2012-2013

Figure. II.4. Lintersection de deux relations.

Notation graphique :

3.1.3. Diffrence
La diffrence entre deux relations R1 et R2 de mme schma est une relation R3 de schma
identique ayant pour n-uplets les n-uplets de R1 n'appartenant pas R2. On notera (R1
R2).
Remarque : Contrairement aux deux oprations prcdentes, cette opration nest pas
commutative.
Exemple : la diffrence entre R et S est une relation T contenant les matires enseignes
seulement dans le premier dpartement.

Figure. II.5. La diffrence de deux relations.

Notation graphique :

ENST

Le modle Relationnel et lAlgbre relationnelle

2012-2013

3.1.4. Projection (oprateur unaire)


La projection d'une relation R est la relation T obtenue en supprimant les attributs de R1 non
mentionns puis en liminant ventuellement les nuplets identiques. En dautre terme, elle
correspond un dcoupage vertical (limination de colonnes) et on notera : T =

,...,

la projection d'une relation R sur les attributs Ai, Aj, , Am.

Exemple : La relation T rpond la question : donnez les triplets (matire, coefficient, crdit)
des matires enseignes dans le premier dpartement.

Figure. II.6. La projection de dune relation.

Notation graphique :

3.1.5. Restriction (oprateur unaire)


La restriction d'une relation R est une relation T de mme schma n'ayant que les n-uplets
de R1 rpondant la condition nonce. En dautre terme, elle correspond un dcoupage
horizontal (limination de tuples) et on notera : T =

la restriction d'une relation R

(Condition)

suivant le critre Q, o Q peut tre :


-

une comparaison simple entre 2 attributs ou entre un attribut et une valeur en utilisant
les oprateurs relationnels : =, , <, >, , .

Une combinaison logique de plusieurs conditions simples, en utilisant les oprateurs


logique : Et, ou, Non, etc.

Exemple : Les relations T et T rpondent respectivement aux questions suivantes :


1. donnez toutes les matires enseignes ayant un coefficient strictement suprieur 1.
2. donnez toutes les matires enseignes en deuxime semestre et qui ont un
coefficient strictement suprieur 1.

ENST

Le modle Relationnel et lAlgbre relationnelle

2012-2013

Figure. II.7. deux restrictions dune relation.

Notation graphique :

3.2. Oprateurs supplmentaires ou additionnels


3.2.1. Jointure
La jointure de deux relations R1 et R2 est une relation T dont les n-uplets sont obtenus en
concatnant les n-uplets de R1 avec ceux de R2 et en ne gardant que ceux qui vrifient la
condition de liaison (permet de composer 2 relations l'aide d'un critre de liaison). On
notera : T = R1

R2 .

(condition)

Le schma de la relation T rsultat de la jointure est la concatnation des schmas des


oprandes (s'il y a des attributs de mme nom, il faut les renommer).
Les n-uplets de T sont tous les couples (u1,u2) d'un n-uplet de R1 avec un n-uplet de R2 qui
satisfont "condition".
Exemple : considrons deux relations :
Matire (Intitul, anne, semestre, coef, credit)
Rsultat (Num_Etudiant, Nom_Etudiant, Anne_Etude, Nom_Matire, note)
La relation T rsultat de la jointure de Matire et Rsultat sur la condition (Nom_Matire =
Intitul) et (Anne_Etude = Anne), donne un relev de note annuel des tudiants.

ENST

Le modle Relationnel et lAlgbre relationnelle

2012-2013

Figure. II.8. La jointure de deux relations.

Notation graphique :

Cas particuliers :
LEqui-Jointure de r et s sur les attributs Ai et Bj : cest la jointure selon la condition
(Ai=Bj). Par exemple, la jointure de la figure ci-dessus est une equi-jointure.
LAuto-Jointure de r et selon lattribut Ai : cest la jointure de r avec elle-mme selon la
condition (Ai = Ai). tant donn que la relation r reprsente les deux oprandes de
lopration, alors on doit les renommer.
Par exemple, la relation T = Matire As M1

Matire As M2 est le rsultat dune auto-

(M1.Coef=M2.Coef) et
(M1.Semestre=M2).

jointure de la relation matire. Elle donne les couples des matires ayant le mme
coefficient dans le mme semestre.
La Jointure Naturelle de r et s de schma R et S est lqui-jointure de r et s sur tous les
attributs de mme nom dans R et S, suivie de la projection qui limine les doublures de
colonnes. Elle est note (r

s).

3.2.2. Division
Soit deux relations R1 (A1, A2, , An, B1, B2, , Bm) et R2 (B1, B2, , Bm). Si le schma de
R2 est un sous-schma de R1, la division de R1 par R2 est une relation T dont :
- le schma est le sous-schma complmentaire de R2 par rapport R1.
- un n-uplet (a1, a2, , an) appartient T si (a1, a2, , an, b1, b2, , bm) appartient R1
pour tous (b1, b2, , bm) R2.
On notera : T = R1 R2.
8

ENST

Le modle Relationnel et lAlgbre relationnelle

2012-2013

Exemple : considrons la relation T rsultat de la jointure de la Figure II.8. Et la relation


Etudiant (Num_Etudiant, Nom_Etudiant).
La relation T rsultat de la division de T par Etudiant donne les matires examines par tous
les tudiants.

Figure. II.9. La division de deux relations.

Notation graphique :

3.3. Composition doprateurs


Avec les oprateurs, il est possible de composer la plupart des requtes que lon peut faire
sur une base de donnes relationnelle. Les requtes sexpriment laide dune combinaison
doprations : Union, Diffrence, Jointure, Restriction et Projection, etc. la reprsentation
graphique dune requte est nomme : Arbre algbrique dont les feuilles reprsentent les
oprandes.
Pae exemple, pour connaitre les noms des tudiants qui ont examin dans une matire dont
le crdit dpasse 1, on doit succder deux oprations algbriques : la jointure et la
projection. Et a donnera :

T=

!" #$

Matire

Rsultat

(Nom_Matire=Intitul)
et
(Coef>1)

Figure. II.10. larbre algbrique dune requte.


9

ENST

Le modle Relationnel et lAlgbre relationnelle

2012-2013

Exemple : considrons le schma relationnel suivant


PRODUIT (IdPro, Nom, Marque, Prix)

CLIENT (IdCli, Nom, Ville)

VENTE (IdCli, IdPro, Date, Qte)


Quels sont les rfrences et les prix des produits ?
Quelles sont les marques des produits ?
Quelles sont les produits de marque IBM ?
Donnez pour chaque vente la rfrence du produit, sa dsignation, son prix, le numro de
client, la date et la quantit vendue.

Quels sont les noms des clients qui habitent la mme ville que John ?

Donner les numros des produits de marque Apple et de prix <5000 F.

Donner les numros des clients ayant achet un produit de marque Apple.

Donner les numros des clients n'ayant achet que des produits de marque Apple.

Donner les numros des clients ayant achet tous les produits de marque Apple.

Quels sont les clients de Nice ayant achet un produit de marque 'Apple' ?

10

Vous aimerez peut-être aussi