Académique Documents
Professionnel Documents
Culture Documents
2012-2013
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
- 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.
ENST
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).
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
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
2012-2013
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
2012-2013
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.
Notation graphique :
ENST
2012-2013
,...,
Exemple : La relation T rpond la question : donnez les triplets (matire, coefficient, crdit)
des matires enseignes dans le premier dpartement.
Notation graphique :
(Condition)
une comparaison simple entre 2 attributs ou entre un attribut et une valeur en utilisant
les oprateurs relationnels : =, , <, >, , .
ENST
2012-2013
Notation graphique :
R2 .
(condition)
ENST
2012-2013
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
(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
2012-2013
Notation graphique :
T=
!" #$
Matire
Rsultat
(Nom_Matire=Intitul)
et
(Coef>1)
ENST
2012-2013
Quels sont les noms des clients qui habitent la mme ville que John ?
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