Les bases de Données Relationnelles

  • Published on
    20-Jul-2015

  • View
    248

  • Download
    1

Transcript

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 (spcification des types de donnes stocker), la construction d'une base de donnes (stockages des donnes proprement dites) et la manipulation des donnes (principalement ajouter, supprimer, retrouver des donnes). Les SGBD commerciaux les plus connus sont Oracle, Sybase, lnformix et DB2.48

Un SGBD spare la partie description des donnes, des donnes elles mmes. Cette description est stocke dans un dictionnaire des donnes (galement gr dans le SGBD) et peut tre consulte par les utilisateurs.

49

Un modle de donnes est un ensemble de concepts permettant de dcrire la structure d'une base de donnes. La plupart des modles de donnes incluent des oprations permettant de mettre jour et questionner la base. Le modle de donnes le plus utilis est le modle relationnel .

50

Un schma de base de donnes (ou comprhension ou intension) est la description des donnes grer. Il est conus dans la phase de spcialisation et peut tre volutif (pratiquement statique). Une extension d'une base de donnes correspond aux donnes de la base un instant donn. Par dfinition cet tat est dynamique.

51

II- Fonctionnalits:

Nous donnons ici les caractristiques souhaitables des SGBD qui ne sont pas forcment prises en compte par les SGBD Commerciaux.

52

1- Contrler la redondance d'informations

La redondance d'informations pose diffrents problmes (cot en temps, cot en volume et risque d'incohrence entre les diffrentes copies). Un des objectifs des bases de donnes est de contrler cette redondance, voire de la supprimer, en offrant une gestion unifie des informations compltes par diffrentes vues pour des classes d'utilisateurs diffrents.53

2- Partage des donnes

Une base de donnes doit permettre d'accder la mme information par plusieurs utilisateurs en mme temps. Le SGBD doit inclure un mcanisme de contrle de la concurrence base sur des techniques de verrouillage des donnes (pour viter par exemple qu'on puisse lire une information qui est en train de se mettre jour). Le partage des donnes se fait galement par la notion de vue utilisateur qui permet de dfinir pour chaque classe d'utilisateurs la portion de la ou de donnes qui l'intresse (et dans la forme qui l'intresse).54

3- Grer les autorisations d'accs

Une base de donnes tant Multi-Utilisateurs, se pose le problme de confidentialit des donnes. Des droits doivent tre grs sur les donne de lecture, mise jour, cration, ... qui permettent d'affiner la notion d utilisateur.

55

4- Offrir des interfaces d'accs multiples

Un SGBD doit offrir plusieurs interfaces d'accs, correspondant aux diffrents types d'utilisateurs pouvant s'adresser lui.

56

On trouve des interfaces orientes utilisateur final (langages de requtes dclaratifs comme SQL avec mise en oeuvre graphique, interface de type formulaires ... ) ou bien orientes programmeurs d'applications (interface avec des langages de programmation classiques.

57

5- Reprsenter des relations complexes entre les donnes

Un SGBD doit permettre de reprsenter des donnes inter relies de manire complexe. Cette facilit s'exprime travers le modle de donnes sous jacent au SGBD. Chaque modle de donnes offre ses propres concepts pour reprsenter les relations.

58

6- Vrifier les contraintes d'intgrit

Un schma de base de donnes se compose d'une description des donne et de leurs relations ainsi que d'un ensemble de contraintes d'intgrit. Une contrainte d'intgrit est une proprit de l'application modliser qui renforce la connaissance que l'on en a.

59

On peut classifier les contraintes d'intgrit, en contraintes structurelles ( exemple : un employ a un chef et un seul ) et contraintes dynamiques ( exemple : un salaire ne peut diminuer). Les SGBD commerciaux supportent automatiquement un certain nombre de contraintes structurelles, mais ne prennent pas en compte les contraintes dynamiques (elles doivent tre codes dans les programmes d'application).60

7 - Assurer la scurit et la reprise aprs panne

Une base de donnes est souvent vitale dans le fonctionnement d'une organisation, et il n'est pas tolrable qu'une panne puisse remettre en cause son fonctionnement de manire durable. Les SGBD fournissent des mcanismes pour assurer cette scurit.

61

En ce qui concerne les risques lis aux pannes disques, les SGBD s'appuient sur un mcanisme de journalisation qui permet de rgnrer une base de donnes automatiquement partir d'une version de sauvegarde et du journal des mouvements.

62

III- Architecture Iogique d'un SGBDElle est dfinie sur trois niveaux:

niveau interne ou physique: dcrit le modle de stockage des donnes et fonctions d'accs

63

modle conceptuel ou logique: dcrit la structure de la base de donnes globalement tous les utilisateurs (limite la redondance). Le schma conceptuel est produit par une analyse de l'application modliser et par intgration des diffrentes vues utilisateurs. Ce schma dcrit la structure de la base indpendamment de son implantation

64

niveau externe: correspond aux diffrentes vues des utilisateurs. Chaque schma externe donne une vue sur le schma conceptuel une classe d'utilisateurs.

65

Le SGBD doit tre capable de faire des transformations entre chaque niveau, de manire transformer une requte exprime en terme du niveau externe requte du niveau conceptuel puis du niveau physique.(voir schma)

66

Schma externe

Schma externe

Schma externe

Correspondance externe/ conceptuel

Schma conceptuelCorrespondance Conceptuel/physique

Schma physique

67

Chapitre 3 : Le Modle relationnel

68

I-...

Recommended

View more >