Académique Documents
Professionnel Documents
Culture Documents
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
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)
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.
La traduction dune association seffectue selon les cardinalits relatives aux entits participant lassociation. Plusieurs cas peuvent se prsenter.
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.
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 :
Cette rgle est adapte pour tout type de spcialisation ce qui permettra de reprsenter lentit mre et les entits filles explicitement.
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.
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)