Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
146
Conception d’une BD INT
147
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
148
Conception indépendante d’un modèle de données
Introduction Réalité Schéma conceptuel transformation Schéma relationnel réseau Fichiers ….
149
Conception relationnelle
Introduction Relation universelle Dépendances fonctionnelles décomposition Schéma Relationnel normalisé
150
Conception centralisée
Introduction Schéma conceptuel global Schéma local Schéma local Schéma local …. Utilisateur Programme …
151
Conception décentralisée (à partir d’un existant)
Introduction Hétérogène/homogène Schéma local intégration Schéma global
152
Conception d’une BD Introduction Réalité Indépendant du SGBD
Recueil des besoins et analyse Besoin de la BD Conception logique Schéma conceptuel (haut niveau) Transformation du modèle Spécifique à un SGBD Schéma conceptuel (spécifique SGBD) Conception physique Schéma physique (spécifique SGBD)
153
Modèle Entité/Association
Modèle E/A 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
154
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 Ass Ass Rôle Rôle 1,n 0,n
155
Concepts (2) Modèle E/A Graphisme 1 Graphisme 2 Type d’entité faible
Type d’association identifiante Attribut calculé Ass (1,1)
156
Modèle E/A Entreprise Modèle E/A nom adresse NoSS nomf prenom No_dept
libelle localisations Nb_emp Travailler pour Est supervisé 1,1 1,1 Employé 0,n Département 0,1 Supervise 0,n diriger 1,1 0,n superviser 0,n 1,n date Avoir à charge gérer Travailler sur 1,1 Nb_heures 1,1 1,n Personne-à-charge Projet Parente prénom DateNaissance Numéro Description
157
Modèle E/A Entreprise Graphisme 2
supervise Employe 1,1 TravaillerPour Département Superviser NoSS 1,n No_dept Est supervisé Adresse libelle Nomf 1,1 Nb_Emp Prenom 0,1 1,1 localisations Diriger 0,n 1,n Date 1,n Avoir a charge Gérer TravaillerSur Nb_heures (1,1) PersonneACharge prénom 1,n 1,1 DateNaissance Projet Parenté Numéro Description
158
UML Entreprise UML
159
Entité-Association / Diagramme de classe UML
27/03/2017 Entité-Association / Diagramme de classe UML UML
160
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
161
É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)
162
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 Département(no_dept, libelle) Attributs multivalués Étape 6 : local Attributs calculés Étape 7 : nb_emp Projet Projet(numéro, description)
163
Étape 2 : transformation des entités faibles
Traduction 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 E2 C2 A2 (1,1) E2(C, C2, A2)
164
Exemple d’étape 2 Traduction 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
165
É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 E2 C2 A2 ?,? Ass A3 ?,1 E2(C2, A2, C1, A3) Clé étrangère, pas clé dans E2
166
Exemples d’étape 3 Traduction 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
167
Étape 4 : transformation des associations binaires multivaluées dans les 2 sens
Traduction 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 E2 C2 A2 ?,n Ass A3 ?,n Ass(C1, C2, A3) TravailleDans TravailleDans(noss, numeroProjet, nb_heures)
168
É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 E2 C2 A2 Ass A4 Ass(C1, C2, C3, A4) E3 C3 A3
169
É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 C R(A, C) Localisations dans Département LocalisationDept(localisation, num_dept)
170
É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
171
Récapitulatif de l’exemple
Traduction 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
172
Rétro-conception But : Pourquoi ? Comment ? Remarque
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)
173
Rétro-conception de la BD des vins
Buveurs num ? num cru nom degré prenom annee 1 ? 0,n ville 0,n ? 0,n concerne recoltes Passer quantite 1 ? 1 ? 0,n 1,1 Producteurs 1,1 Livraisons Commandes Donner_lieu num 0,n (1,1) No_ordre ncde nom qteLivrée qté prenom date date region 1 ?
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.