Les bases de Donn©es Relationnelles

  • View
    258

  • Download
    1

Embed Size (px)

Text of Les bases de Donn©es Relationnelles

Les bases de Donnes Relationnelles

1

Chapitre 1 : Rgles depassage du Diagramme de Classes au Modle Relationnel

2

1)Cas des entits:

Pour chaque entit du diagramme de classes, une table est cre dans le modle relationnel. Les attributs de l'entit deviennent les attributs de la table ,et dans le cas d'une entit forte, son identifiant simple ou compos, devient la cl primaire de la table. Il existe deux types d'entits faibles dans un diagramme de classes : les entits d'association et les entits reprsentant un composant d'une entit composite.3

Diagramme de classes comportant une entit dassociation:

4

Le modle relationnel driv comporte trois tables dont une table, Article command, possde une cl primaire compose obligatoirement des cls primaires des deux autres tables.

bauche du modle relationnel driv du modle

5

La table drive de l'entit d'association est une table fille qui doit tre lie toutes les tables drives des autres entits associes qui agiront comme tables mres.

Chaque association portera une multiplicit 1..1 du ct de la table mre et quant aux multiplicits du ct de la table fille, elles sont reprises du diagramme de classes.

6

7

1-2) Drivation partir des entits dune composition

Une table sera drive du composite et uneautre sera drive du composant. Cette dernire aura comme cl primaire la combinaison de l'identifiant du composite et de l'identifiant propre du composant.

8

Diagramme de classes comportant une composition

9

10

2) Associations Binaires:2-1) Associations Binaires un un:

Dans un tel cas, la drivation de la cl trangre repose sur l'analyse des multiplicits minimales de l'association. Cela consiste tablir si la participation des occurrences l'association est obligatoire d'un ct ou de l'autre ou des deux la fois. Si la participation est obligatoire des deux cts de l'association (multiplicits minimales 1 de part et d'autre), l'une ou l'autre des tables drives des entits peut agir comme table mre. Cependant, si une seule des deux entits est associe une troisime, on choisira comme table fille celle drive de l'entit qui comporte une deuxime association. Si toutes deux sont associes une autre, on choisit comme table fille celle qui possde une cl primaire compose.11

Association binaire un un avec participation obligatoire de part et dautre

12

Pour ce modle, nous faisons lhypothse que lentit Paiement est associe par ailleurs lentit Client (non illustre). La table fille sera donc Paiement, la table mre sera Reu, et la cl primaire de la table mre, No reu, est reproduite dans la table fille titre de la cl trangre. Sans cette hypothse, la table fille aurait tout aussi bien pu tre Reu.

13

Diagramme de classes avec association un un, et une participation optionnelle dun cot

14

L'association un un tant optionnelle ct Carte de crdit, la table drive de cette entit est considre comme table fille et la cl primaire de la table mre Client, soit No client, est copie dans la table fille comme cl trangre.

15

Modle relationnel driv

16

2-2) Association binaire un plusieurs

la table drive de l'entit du ct de la multiplicit maximale plusieurs (*) est considre comme la table fille. En consquence, une copie de la cl primaire de la deuxime table, la table mre, est dpose dans la table fille titre de cl trangre.

17

Modle conceptuel avec association binaire un plusieurs

18

Modle relationnel driv

19

2-3) Association binaire plusieurs plusieurs:Une association plusieurs plusieurs sans entit d'association donne lieu une table fille comportant comme cl primaire la combinaison des cls primaires des tables mres. Chaque association portera une multiplicit 1..1 du ct de la table mre et quant aux multiplicits du ct de la table fille, elles sont reprises du diagramme de classes .Magasin N agence N civique Rue Ville Code postal N tlphone

Employ N employ Nom employ Prnom employ Salaire employ

1..*

1..*

20

Modle relationnel driv dune association binaire plusieurs plusieurs :

21

3) Priorit dapplication des rgles de drivation

Qu'arrive-t-il si les deux mmes entits sont associes avec des associations de natures diffrentes ? Par exemple la fois par une association du type un un et une autre de type un plusieurs. Rponse : il n'y a pas de priorit d'application des rgles : Chaque association donne lieu la cration de cls trangres, dans la mme table ou dans les deux tables.

22

Plus dune association impliquant les mme entits

23

Modle dvir dassociation impliquant les mmes entits

24

4) Drivation rflexive

La drivation d'une association rflexivereprend les rgles voques en les spcialisant pour tenir compte du fait qu'une entit est associe elle-mme.

25

Cas 1: L'association rflexive comporte une entit d'association

L'entit d'association donne lieu une table fille associe la table mre drive de la seule entit en cause. La table drive de l'entit d'association comporte les attributs de cette dernire avec comme cl primaire deux exemplaires de la cl primaire de la table mre, les exemplaires portent un nom diffrent pour viter toute redondance.

26

Modle conceptuel avec association rflexive et entit d'association

27

Le rsultat de la drivation du modle relationnel est donn la figure. La table fille Mariage est drive de l'entit d'association. Elle comporte une cl primaire compose des deux numros matricules des personnes contractant un mariage. Chaque matricule porte un nom d'attribut diffrent. Modle relationnel driv

28

Cas 2: L'association rflexive est du type un un ou un plusieursDans

ce cas une seule table est drive et elle comporte une cl trangre. Celle-ci est un double de sa cl primaire qui doit porter un nom diffrent. Les multiplicits de l'association au modle conceptuel sont reprises intgralement dans le modle relationnel driv.

29

Modle relationnel, driv du modle conceptuel

30

Modle conceptuel, sans entit dassociation, avec association rflexive un plusieurs

Modle relationnel driv du modle conceptuel

31

Cas 3: L'association rflexive est du type plusieurs plusieurs

Une association rflexive plusieurs plusieurs est traite comme une association rflexive comportant une entit d'association. Une table doit tre cre pour assurer une liaison plusieurs plusieurs sur la mme table. Cette table n'a pas d'attribut propre. Sa cl primaire est une combinaison de deux exemplaires de la cl primaire de la table drive de l'entit.

32

La figure modlise la descendance d'une personne. Une personne descend de plusieurs personnes et par ailleurs possde plusieurs descendants.

Modle conceptuel, sans entit d'association, avec association rflexive plusieurs plusieurs

33

Modle relationnel driv

34

5) Associations de degr suprieurToute association de degr suprieur donne lieu une table qui s'ajoute aux tables drives des entits associes.

S'il s'agit d'une association de degr suprieur qui comporte une entit d'association, les rgles vues prcdemment pour la conversion d'une entit d'association sur une association binaire s'appliquent ; chaque entit associe devient une table mre; l'entit d'association devient une table fille. Les cls primaires des tables mres qui sont copies dans la table fille sont toutes des attributs considrs comme cls trangres. Les multiplicits places du ct de la table fille sont toutes 0..*,et les multiplicits du ct des tables mres sont systmatiquement 1..1.

35

Modle conceptuel avec entit d'association sur une association de degr suprieur

36

Modle relationnel driv du modle

37

Diagramme de classes avec une association de degr suprieur

38

Modle relationnel driv du modle

39

6) Association dhritage: Les tables drives d'une association ou de plusieurs associations d'hritage rattaches au mme supertype seront de natures fort varies selon qu'il y a prsence ou non de contraintes inter associations dans le modle conceptuel. Nous allons illustrer tour de rle chaque situation l'aide d'un exemple. Toutes les figures montrent gauche un diagramme de classes avec une ou des associations d'hritage et droite le modle relationnel rsultant.

40

Cas 1 : aucune contrainte

41

.

Cas 2: Contrainte dexclusion

42

Cas 3:Contrainte de totalit

Une contrainte de totalit spcifie qu'une occurrence du supertype doit avoir les attributs de tous ses sous-types et donc tre de tous les sous-types la fois. Deux attributs boolens, Poste client? et Serveur?, permets d'tablir les sous-types auxquels une ligne de la table drive

appartiens.

43

Cas 4: Contrainte de partition

Une contrainte de partition stipule qu'une occurrence du supertype doit appartenir obligatoirement un des sous-types. D'o la prsence d'un attribut discriminant obligatoire, Sous-type, qui rattache l'occurrence un des deux sous-types admissibles.44

Etude de cas:Traduire le diagramme de classe suivant en modle logique correspondant

45

Chapitre 2 : Introduction aux bases de donnes

46

I Dfinitions:

Une base de donne est une collection des donnes inter-relies. C'est une entit cohrente logiquement et vhiculant une certaine smantique.

47

Un systme de Gestion De Bases De donnes (SGBD) est un ensemble de programmes qui permettent des utilisateurs de crer et maintenir une base de donnes. Les activits supportes sont la dfinition d'une base de donnes (spcificat