280 likes | 419 Views
Conception d’une BD. INT. 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. Schéma relationnel. Schéma réseau. …. Fichiers.
E N D
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
Schéma relationnel Schéma réseau …. Fichiers Conception indépendante d’un modèle de données Introduction Réalité Schéma conceptuel transformation
Relation universelle Dépendances fonctionnelles Conception relationnelle Introduction décomposition Schéma Relationnel normalisé
Conception centralisée Introduction Schéma conceptuel global Schéma local Schéma local Schéma local …. Utilisateur Programme …
Schéma local Schéma local Schéma local Conception décentralisée (à partir d’un existant) Introduction Hétérogène/homogène intégration Schéma global
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)
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
Concepts Modèle E/A T Nom Type Entité A A Ass Ass Rôle Rôle 1,n 0,n
Concepts (2) Modèle E/A (1,1) Ass
nomf prenom NoSS adresse nom localisations Avoir à charge Modèle E/A Entreprise Modèle E/A No_dept libelle Nb_emp Travailler pour Est supervisé 1,1 1,1 Employé Département 0,n 0,1 Supervise 0,n diriger 1,1 0,n superviser 0,n 1,n date gérer Travailler sur 1,1 1,1 Nb_heures 1,n Personne-à-charge Projet Parente prénom DateNaissance Numéro Description
Modèle E/A EntrepriseGraphisme 2 Modèle E/A 0,n Employe supervise TravaillerPour Département 1,1 1,n NoSS Superviser No_dept Adresse Est supervisé libelle Nomf Nb_Emp 1,1 0,1 Prenom 1,1 localisations Diriger 0,n 1,n 1,n Date Avoir a charge Gérer TravaillerSur Nb_heures (1,1) PersonneACharge prénom 1,1 1,n DateNaissance Projet Parenté Numéro Description
UML Entreprise UML
Traduction EA relationnel Traduction • 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
É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)
Exemples d’étape 1 Traduction
É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)
Exemple d’étape 2 Traduction
É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
Exemples d’étape 3 Traduction
É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)
É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
A É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 C Département R(A,C)
Étape 7 : transformation des attributs calculés Traduction • Attribut calculé • Requête associée
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
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)
Rétro-conception Rétro-conception de la BD des vins 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 Livraisons Producteurs 1,1 Commandes Donner_lieu (1,1) No_ordre num 0,n ncde qteLivrée nom qté date prenom date region 1 ?