Vous êtes sur la page 1sur 37

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.

Degr dune relation : cest le nombre de colonne (domaines) dans une relation Ex. Degr de PRODUIT=3

Relation PRODUIT

NUM_PDT

DES_PDT

COUL_PDT

Enregistrement

P1
P2

D1
D2

C1
C2
Domaine

Attribut : nom d'une colonne d'une relation.


Ex. NUM_PDT DES_PDT COUL_PDT attributs de la relation PRODUIT.

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.

Exemple 1

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 2

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 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)