transparents

Download Report

Transcript transparents

Conception d’une BD
INT
146
Plan du document
Introduction
 Modèle Entité/Association
 Modèle données UML
 Traduction E/A  relationnel
 Rétro-conception

slide 148
slide 153
slide 158
slide 160
slide 172
147
Conception indépendante d’un
modèle de données
Introduction
Réalité
Schéma conceptuel
transformation
Schéma
relationnel
Schéma
réseau
….
Fichiers
148
Introduction
Conception relationnelle
Relation
universelle
Dépendances
fonctionnelles
décomposition
Schéma
Relationnel
normalisé
149
Introduction
Conception centralisée
Schéma
conceptuel global
Schéma
local
Utilisateur
Schéma
local
Programme
….
Schéma
local
…
150
Conception décentralisée
Introduction
(à partir d’un existant)
Hétérogène/homogène
Schéma local
Schéma local
Schéma local
intégration
Schéma
global
151
Introduction
Conception d’une BD
Réalité
Besoin de la BD
Conception logique
Schéma conceptuel (haut niveau)
Indépendant du SGBD
Recueil des besoins et analyse
Transformation du modèle
Conception physique
Spécifique à
un SGBD
Schéma conceptuel (spécifique SGBD)
Schéma physique (spécifique SGBD)
152
Modèle E/A
Modèle Entité/Association
Proposé en 1976 (Chen)
 Nombreuses extensions depuis
 Avantages :

 Utilisé
dans la plupart des méthodes de conception
(MCD Merise, …)
 Simple
 Graphique
 Facilite le dialogue avec les utilisateurs
153
Modèle E/A
Concepts
Graphisme 1
Type d'entité
Graphisme 2
Nom Type Entité
Attribut
T
A
Attribut
composite
Attribut
multivalué
Clé d’un type
d’entité
Type
d’association
Rôle
Contraintes de
cardinalité
A
Ass
Ass
Rôle
1,n
Rôle
0,n
154
Modèle E/A
Concepts (2)
Graphisme 1
Graphisme 2
Type d’entité
faible
Type
d’association
identifiante
Ass
(1,1)
Attribut
calculé
155
Modèle E/A
Modèle E/A Entreprise
nomf
NoSS
adresse
prenom
nom
No_dept
libelle
localisations
Nb_emp
Travailler pour
Est supervisé
Employé
1,1
Supervise
0,n
0,n
superviser
1,1
0,1
1,n
0,n Département
1,1
diriger
0,n
date
Avoir à charge
1,1
gérer
Travailler sur
Nb_heures
Personne-à-charge
Parente
prénom
DateNaissance
1,1
1,n
Projet
Numéro
Description
156
Modèle E/A
Modèle E/A Entreprise
Graphisme 2
supervise
Superviser
0,n
Employe
1,1
NoSS
Adresse
Est supervisé
1,1 Nomf
Prenom
TravaillerPour
0,1
1,n
1,1
Département
No_dept
libelle
Nb_Emp
localisations
Diriger
0,n
1,n
1,n
Date
Avoir a charge
Gérer
TravaillerSur
Nb_heures
(1,1)
PersonneACharge
prénom
DateNaissance
Parenté
1,1
1,n
Projet
Numéro
Description
157
UML
UML Entreprise
158
Entité-Association /
Diagramme de classe UML
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é
159
Traduction
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
160
Étape 1 : transformation des entités
non faibles
Traduction
Type d'entité  relation
 Attribut atomique  constituant (attribut)
 Attributs composites n constituants
 Attribut(s) clé(s)  clé candidate

E
C
A
E(C, A)
161
Traduction
Exemples d’étape 1
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
Projet
Attributs atomiques
Département(no_dept, libelle)
Attributs multivalués
Étape 6 : local
Attributs calculés
Étape 7 : nb_emp
Attributs atomiques
Projet(numéro, description)
162
Traduction
É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é

E
C
A
(1,1)
E2
C2
A2
E2(C, C2, A2)
163
Traduction
Exemple d’étape 2
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
164
Étape 3 : transformation des
associations binaires monovaluées
Traduction
Clé associée à E1  attribut de E2
 Attributs de Ass  attributs de E2

E1
C1
A1
?,?
Ass
A3
?,1
E2
C2
A2
E2(C2, A2, C1, A3)
Clé étrangère,
pas clé dans E2
165
Traduction
Exemples d’étape 3
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
166
Traduction
É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

E1
C1
A1
TravailleDans
?,n
Ass
A3
?,n
E2
C2
A2
Ass(C1, C2, A3)
TravailleDans(noss, numeroProjet, nb_heures)
167
Étape 5 : Transformation des
associations n-aires (n > 2)

Traduction
Idem étape 4 :
 Création
d'une nouvelle relation Ass
 Clé de E1 + Clé de E2 + … clé de En clé de Ass
 Attributs de Ass  Attributs de Ass
E1
C1
A1
Ass
A4
E3
C3
A3
E2
C2
A2
Ass(C1, C2, C3, A4)
168
Étape 6 : transformation des
attributs multivalués
Traduction
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

A
Département
Localisations dans Département
C
R(A, C)
LocalisationDept(localisation, num_dept)
169
Étape 7 : transformation des
attributs calculés
Traduction
Attribut calculé
 Requête associée

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
170
Traduction
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
171
Rétro-conception
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)
172
Rétro-conception
Rétro-conception de la BD des vins
Vins
num
cru
degré
annee
1
?
Buveurs
num
nom
prenom
ville
?
0,n
0,n
0,n
recoltes
concerne
?
Passer
quantite
1
?
0,n
Producteurs
num
nom
prenom
region
1
?
1,1
1,1
Commandes
ncde
qté
date
0,n
1
?
Livraisons
Donner_lieu
(1,1)
No_ordre
qteLivrée
date
173