Traduction d’un modèle Entité - Association en modèle relationnel
Traduction dun modle Entit - Association en
modle relationnel
I. Concepts de base Le modle relationnel consiste percevoir lensemble des donnes comme des tableaux o chaque table reprsente une relation, au sens mathmatique d'ensemble. L'ensemble des valeurs des tableaux reprsente le contenu de la base de donnes. Ce contenu peut tre modifi en ajoutant des lignes, en supprimant des lignes ou en modifiant le contenu des lignes. Modle : une reprsentation du monde rel. Cette reprsentation doit tre simple et fiable.
Domaine : un ensemble de valeurs caractrises par un nom.
Ex. : Domaine (couleurs) = {bleu, rouge, blanc, }
: Domaine (noms) = {ali, salah, }
Relation : est un ensemble d'enregistrements. Enregistrement = n-uplet = tuple : une squence ordonnes d'informations.
NUM_PDT DES_PDT COUL_PDT
P1 D1 C1
P2 D2 C2
Relation PRODUIT
Enregistrement
Domaine
Degr dune relation : cest le nombre de colonne (domaines) dans une relation
Ex. Degr de PRODUIT=3
Attribut : nom d'une colonne d'une relation. Ex.
NUM_PDT
DES_PDT attributs de la relation PRODUIT.
COUL_PDT
Schma de relation : nom de la relation suivi de la liste des attributs et de la dfinition de leurs domaines
Ex. : PRODUIT (NUM_PDT, DES_PDT, COUL_PDT)
Cl primaire : un attribut (ou plusieurs) permettant d'identifier d'une faon unique un tuple d'une relation. Cet attribut doit avoir toutes ses valeurs diffrentes dans la relation R.
Ex. : PRODUIT (NUM_PDT, DES_PDT, COUL_PDT)
ETUDIANT (NUM_ET, NOM_ET, DATNAIS_ET, ADR_ET)
Cl trangre : soit la relation R1 (A, B, , S, ).
On dit que S est une cl trangre de R1 s'il y a une relation R2 ayant
pour cl primaire S.
Ex. : PRODUIT (NUM_PDT, DES_PDT, COUL_PDT, #NUM_MAG)
MAGASIN (NUM_MAG, ADR_MAG, TEL_MAG)
=> si on connat la cl primaire d'un produit, on dispose des informations
concernant ce produit ainsi que celles du magasin o il est stock.
Contraintes d'intgrit (CI)
Cest une rgle qui doit tre vrifie au moment de la cration et de la
manipulation de donnes afin que le rsultat soit considr correct et
cohrent. A tout instant de l'existence d'une BD, on doit pouvoir ajouter,
modifier ou supprimer une contrainte d'intgrit et le SGBD doit tre
capable de vrifier que la base est toujours cohrente vis vis du
changement apport son environnement; dans le cas contraire, il doit
rejeter notre intervention.
Gnralisation et hirarchie
Un ensemble dentits E1 est un sous-ensemble de E2 si toute
occurrence de E1 est aussi une occurrence de E2. Lensemble
dentits E1 hrite des attributs de E2.
Un ensemble dentits E est une gnralisation de E1, E2, En si
chaque occurrence de E est seule entit E1, E2, ..., En.
Les ensembles E1, E2, ..., En sont des spcialisations de
lensemble dentits E. Les ensembles dentit E1, E2, En hritent
des attributs de E et possdent en outre des attributs spcifiques
qui expriment leur spcialisation.
Notation "EST-UN" (IS A) : B "EST-UN" A si lensemble A est
une extension de B ou B un cas particulier de A.
II. Traduction
1.Traduction des entits
Toute entit est traduite selon les trois rgles suivantes :
Lentit se transforme en une relation.
Lidentifiant de lentit devient la cl primaire de la relation.
Les proprits de lentit deviennent des attributs de la
relation.
2. Traduction des associations
Nous distinguons deux catgories dassociations :
les associations binaires
et les associations n-aires.
La traduction dune association seffectue selon les
cardinalits relatives aux entits participant
lassociation.
Plusieurs cas peuvent se prsenter.
a. Traduction des associations binaires
Soient deux entits A et B relies par une association
AssAB
Cas1 : Association Un--Un
Cardinalit entit A 0, 1 ou 1, 1 et Cardinalit entit
B 0, 1 ou 1, 1
Pour ce type dassociation deux traductions sont
possibles :
Solution 1 :
Les deux entits et lassociation seront transformes en une seule relation contenant les attributs des deux entits ainsi que les attributs ventuels de lassociation, la cl de lentit A ou de lentit B sera choisie comme cl de la nouvelle relation.
Solution 2 :
Les deux entits seront transformes en deux relations. Une de ces deux relatons sera choisie et tendue par la liste des attributs ventuels de lassociation ainsi que de la cl de lautre entit en tant que cl trangre.
Le modle relationnel correspondant est le suivant : Commande (NCmd, DateCmd)
Livraison (NLiv, Qt, Adresse, # NCmd)
La relation 'Livraison' a comme cl trangre l'identifiant de 'Commande' car la cration d'une
livraison survient aprs la cration d'une commande.
Exemple 1
Le modle relationnel correspondant est le suivant :
Personne (IdPers, NomPrenom, DateNaiss)
CIN (N CIN, DateCIN, Lieu, # IdPers)
La relation 'CIN' a comme cl trangre l'identifiant de 'Personne' en
supposant que la cration d'une CIN survient aprs la cration d'une
personne. Il est possible galement dutiliser la deuxime solution et de
fusionner les deux tables 'Personne' et 'CIN' car les cardinalits 1,1 de
chaque ct ne risquent pas de changer dans le temps. En effet, une
personne a une et une seule CIN et une CIN correspond une et une seule
personne; et cette rgle ne risque pas de changer dans l'avenir.
Exemple 2
Exemple 3
Le modle relationnel correspondant est le suivant : Sinistre (NSinistre, Date Sinistre)
Rglement (NRegl, Montant, N Chque, # NSinistre,
Date)
La relation 'Rglement' a comme cl trangre l'identifiant de 'Sinistre' car un rglement fait obligatoirement rfrence
au sinistre qui lui a donn naissance.
Cas2 : Association Un--plusieurs (Matre-Esclave):
Cardinalit entit A (Matre) 0, N ou 1, N et Cardinalit
entit B (Esclave) 0, 1 ou 1, 1
Les rgles de traduction de ce type dassociation sont les suivantes :
Lentit Matre (Entit A) devient la relation Matre.
Lentit Esclave (Entit B) devient la relation Esclave.
Lidentifiant de lentit Matre devient attribut de la relation Esclave. Cet attribut est dsign comme cl
trangre.
Les attributs ventuels de lassociation (AssAB) migrent vers la relation esclave et deviennent ses attributs.
Cas 3 : Association plusieurs--plusieurs :
Cardinalit entit A 0, N ou 1, N et Cardinalit
entit B 0, N ou 1, N
Les rgles de traduction de ce type dassociation
sont les suivantes
Chaque entit (Entit A et Entit B) devient une relation.
L'association sera transforme aussi en une relation
ayant comme cl la concatnation des deux cls issues
des entits A et B. Les attributs ventuels de
l'association seront stocks dans cette relation en tant
qu'attributs.
Le modle relationnel correspondant est le suivant :
Client (NCl, NomCl, AdrCl)
Produit (RefProduit, Designation, PU)
Acheter (#NCl, #RefProduit, Quantite)
b. Traduction des associations n-aires
Ce type dassociation sera transform en une relation
ayant comme liste dattributs la liste des cls des
relations correspondantes aux entits qui participent
cette association en plus de ses attributs ventuels.
Une cl minimale sera choisie parmi la liste des
attributs ainsi constitue
3. Traduction du lien IS
La traduction du lien is-a peut se faire selon plusieurs rgles.
Dans ce qui suit, nous considrerons une entit mre R avec
n entits filles S1, S2, .Sn.
La traduction dun lien is-a se fait selon lune des trois rgles
suivantes :
R1 : Reprsentation de lentit mre et de ses entits filles
Lentit mre sera transforme en une nouvelle relation avec ses attributs.
Chaque entit fille Si sera transforme en une relation comportant comme
Cl lidentifiant de lentit mre et comme attributs les attributs de Si
Cette rgle est adapte pour tout type de spcialisation ce qui permettra de reprsenter lentit mre et les entits filles explicitement.
R2 : Pas de reprsentation de lentit mre
Chaque entit fille Si sera transforme en une relation comportant comme Cl
lidentifiant de lentit mre et comme attributs les attributs de Si en plus des
attributs de lentit mre.
Cette rgle pose un problme lorsque les sous-entits ne
sont pas disjointes. Dans ce cas, il peut y avoir
duplication de certaines donnes. Certains problmes
d'incohrence peuvent alors avoir lieu.
Cette rgle est applicable donc, dans le cas de sous-entits
sont totalement disjointes, tels que :
Homme, Femme -> Personne
ou aussi, Alimentaire, Habillement, Electromnager ->
Article.
Pour le cas, Etudiant, Employ -> Personne cette rgle
conduirait dupliquer les donnes hrites pour des
employs tudiants.
R3 : Fusion des entits filles et de lentit mre
Lentit mre et ses entits filles seront transformes toutes en une seule relation
ayant comme Cl lidentifiant de lentit mre et comme attributs les attributs de
toutes les entits (mre et filles).
Le problme pos par cette rgle est que certains attributs risquent
d'avoir une valeur nulle.
Par exemple, pour la hirarchie Homme, Femme -> Personne, suite
lutilisation de cette rgle les attributs spcifiques aux hommes
seront nuls pour les femmes et vice versa.
En utilisant cette rgle par exemple pour la hirarchie Etudiant,
Employ -> Personne, tout tudiant non employ aura les attributs
spcifiques aux tudiants nuls, et tout employ non tudiant aura
les attributs d'tudiants nuls.
Pour traduire cette hirarchie nous utilisons deux rgles :
Pour le deuxime niveau de la hirarchie Professeur Employ
nous pouvons utiliser la troisime rgle et nous obtiendrons la
relation suivante :
Employ (NumEmp, NumProf,Grade)
Pour le premier niveau de la hirarchie nous utilisons la premire
rgle, nous obtiendrons alors comme modle relationnel final :
Personne (CIN)
Employ (#CIN, NumEmp, NumProf, Grade)
Etudiant (#CIN, NumImm)