Top Banner
1 Conception d’une BD INT
28

146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

Apr 03, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

1

Conception d’une BD

INT

Page 2: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

2

Plan du document

Introduction slide 148 Modèle Entité/Association slide 153 Modèle données UML slide 158 Traduction E/A relationnel slide 160 Rétro-conception slide 172

Page 3: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

3

Conception indépendante d’un modèle de données

Réalité

Schéma conceptuel

Schémarelationnel

Schémaréseau

Fichiers….

transformation

Introduction

Page 4: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

4

Conception relationnelle

Relation universelle

Dépendances fonctionnelles

décomposition

SchémaRelationnelnormalisé

Introduction

Page 5: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

5

Conception centraliséeSchéma

conceptuel global

Schémalocal

Schémalocal

….Schéma

local

ProgrammeUtilisateur …

Introduction

Page 6: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

6

Conception décentralisée (à partir d’un existant)

intégration

Schémaglobal

Schéma local Schéma local Schéma local

Hétérogène/homogène

Introduction

Page 7: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

7

Conception d’une BDIntroduction

Réalité

Recueil des besoins et analyse

Besoin de la BD

Conception logique

Schéma conceptuel (haut niveau)

Transformation du modèle

Schéma conceptuel (spécifique SGBD)

Conception physique

Schéma physique (spécifique SGBD)

Indépendant du SGB

DSpécifique à un SG

BD

Page 8: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

8

Modèle Entité/Association

Proposé en 1976 (Chen) Nombreuses extensions depuis Avantages :

Utilisé dans la plupart des méthodes de conception (MCD Merise, …)

SimpleGraphiqueFacilite le dialogue avec les utilisateurs

Modèle E/A

Page 9: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

9

Concepts Modèle E/A

Graphisme 1 Graphisme 2

Type d'entité

Attribut

Attribut composite

Attribut multivalué

Clé d’un type d’entité

Type d’association

Rôle

Contraintes de cardinalité

Nom Type Entité T

A

A

AssAss

RôleRôle

0,n1,n

Page 10: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

10

Concepts (2) Modèle E/A

Graphisme 1 Graphisme 2

Type d’entité faible

Type d’association identifiante

Attribut calculé

Ass (1,1)

Page 11: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

11

Modèle E/A EntrepriseModèle E/A

Employé

nomadresseNoSS

nomf prenom

Personne-à-charge Projet

Département

Nb_heures

No_dept libelle

Numéro Descriptionprénom

localisations

Avoir à charge

diriger

Travailler pour

Travailler surgérer

date

0,n 1,n

0,10,n

1,1

1,1

1,11,n

1,1

0,n

Nb_emp

superviser

Supervise0,n

Est supervisé1,1

DateNaissanceParente

Page 12: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

12

Modèle E/A EntrepriseGraphisme 2

Modèle E/A

1,n

1,n

1,1

Est supervisé

0,nsupervise

(1,1)

0,n

1,1

1,n

1,10,1

1,n1,1Employe

NoSSAdresseNomfPrenom

Département

No_deptlibelleNb_Emp

Projet

NuméroDescription

PersonneACharge

prénomDateNaissanceParenté

TravaillerPour

Diriger

Date

GérerAvoir a charge

Superviser

TravaillerSur

Nb_heures

localisations

Page 13: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

13

UML EntrepriseUML

Page 14: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

14

Entité-Association / Diagramme de classe UML

Entité-Association Diagramme de Classe

SI – BD Génie logiciel – langages

Entité Classe

Entité faible Composition ? Clé ?

Association sans attribut Association / Composition

Association avec attribut Association + Classe d’association

(Héritage) - Association Héritage

Attribut / Propriété Attribut

Clé

Attribut calculé Méthode

(Attributs multivalués) – Entité + Association Attributs multivalués

Méthode

Cardinalité Multiplicité

UML

Page 15: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

15

Traduction EA relationnel

La sémantique n’est pas complètement préservée (il faut ajouter des contraintes d’intégrité)

Règles sont automatisables (de nombreux outils existent sur le marché, AMCDesignor par exemple)

Transformation se fait en 7 étapes Comparaison des concepts des deux modèles : à

faire par l’étudiant

Traduction

Page 16: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

16

Étape 1 : transformation des entités non faibles

Type d'entité relation Attribut atomique constituant (attribut) Attributs composites n constituants Attribut(s) clé(s) clé candidate

Traduction

ECA

E(C, A)

Page 17: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

17

Exemples d’étape 1 Traduction

Employé Attributs atomiques Employé(noss, adresse)

Attributs composites Employé(noss, adresse, nomf, prénom)

Aplatissement de la structure (suite d’attributs atomiques) perte de la sémantique

Département Attributs atomiques Département(no_dept, libelle)

Attributs multivalués Étape 6 : local

Attributs calculés Étape 7 : nb_emp

Projet Attributs atomiques Projet(numéro, description)

Page 18: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

18

Étape 2 : transformation des entités faibles Type d'entité faible relation Attribut atomique constituant (attribut) Attributs composites n constituants Attribut(s) clé(s) partie de clé candidate Attributs clés de l’entité identifiante partie

de clé

Traduction

ECA

E2C2A2

(1,1)E2(C, C2, A2)

Page 19: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

19

Exemple d’étape 2Traduction

Entité PersonneACharge

Attributs atomiques PersonneACharge(prénom, DateNaissance, parenté)

+

Clé de l’entité identifiante

PersonneACharge(prénom, DateNaissance, parenté, noss)

Noss :

clé étrangère sur Employé

+

Partie de la clé de PersonneACharge

Page 20: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

20

Étape 3 : transformation des associations binaires monovaluées Clé associée à E1 attribut de E2 Attributs de Ass attributs de E2

Traduction

E1C1A1

E2C2A2

?,1E2(C2, A2, C1, A3)

?,? AssA3

Clé étrangère, pas clé dans E2

Page 21: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

21

Exemples d’étape 3Traduction

TravaillePour Employé(noss, adresse, nomf, prénom, no_dept)

Dirige Département(no_dept, libelle, nosschef, dateDebut)

Dirige monovaluée dans les 2 sens on aurait pu créer

Employé(noss, adresse, nomf, prénom, nodept, nodeptDirigé, dateDebut)

Cardinalités (0,1), association partielle valeurs nulles

Controle Projet(numéro, description, numdept)

Supervision Employé(noss, adresse, nomf, prénom, nodept, noSSSuperviseur)

noSSSuperrviseur clé étrangère de Employé sur elle-même

AvoirACharge Cf. étape 2

Page 22: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

22

Étape 4 : transformation des associations binaires multivaluées dans les 2 sens

Création d'une nouvelle relation Ass Clé de E1 + Clé de E2 clé de Ass Attributs de Ass Attributs de Ass

Traduction

E1C1A1

E2C2A2

?,nAss(C1, C2, A3)

?,n AssA3

TravailleDans TravailleDans(noss, numeroProjet, nb_heures)

Page 23: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

23

Étape 5 : Transformation des associations n-aires (n > 2) Idem étape 4 :

Création d'une nouvelle relation AssClé de E1 + Clé de E2 + … clé de En clé de AssAttributs de Ass Attributs de Ass

Traduction

E1C1A1

E2C2A2

Ass(C1, C2, C3, A4)AssA4

E3C3A3

Page 24: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

24

Étape 6 : transformation des attributs multivalués Création d'une nouvelle relation R Attribut multivalué -> constituant Clé du type d'entité associé -> constituant Clé de la relation : tout le schéma

Traduction

DépartementA C R(A, C)

Localisations dans Département LocalisationDept(localisation, num_dept)

Page 25: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

25

Étape 7 : transformation des attributs calculés Attribut calculé Requête associée

Traduction

Nb_emp dans Département

Département(no_dept, libelle, nosschef, dateDebut)

SELECT no_dept, COUNT(*)

FROM Employe

GROUP BY no_dept

Couples no département – effectif du département

Associée à une vue relationnelle

Page 26: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

26

Récapitulatif de l’exemple

Employé(noss, adresse, nomf, prénom, nodept, noSSSuperviseur)

Département(no_dept, libelle, nosschef, dateDebut, Nb_emp)

Projet(numero, description, numdept)

PersonneACharge(prénom, noss, DateNaissance, parenté)

TravailleDans(noss, numeroProjet, nb_heures)

LocalisationDept(localisation, num_dept)

SELECT no_dept, COUNT(*)

FROM Employe

GROUP BY no_dept

Traduction

Page 27: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

27

Rétro-conception

But : Passer d’un schéma relationnel à un schéma Entité-

Association équivalent Pourquoi ?

Analyse n’a pas été faite ou a été perdue Comment ?

Appliquer les étapes de transformation « à l’envers » Remarque 

Ne fournit pas une solution unique (perte d’information sur le schéma relationnel par rapport au schéma E/A)

Rétro-conception

Page 28: 146 Conception dune BD INT. 147 Plan du document Introductionslide 148 Modèle Entité/Associationslide153 Modèle données UMLslide158 Traduction E/A relationnelslide.

28

Rétro-conception de la BD des vinsRétro-conception

0,n

1,1

(1,1)0,n

1,1

0,n

0,n

0,n

Vins

numcrudegréannee

Producteurs

numnomprenomregion

recoltes

Livraisons

No_ordreqteLivréedate

concerne

Buveurs

numnomprenomville

Commandes

ncdeqtédate

Passer

Donner_lieu

quantite

?

?

1 ?

1 ?

1 ?

1 ?