1 / 78

Conception d’une BD

Conception d’une BD. INT Management. Plan du document. Introduction slide 182 Modèle Entité/Association slide 187 Traduction E/A  relationnel slide 194 Rétro-conception slide 206 Généralisation/Spécialisation slide 211 Théorie des dépendances slide 221

mahola
Download Presentation

Conception d’une BD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Conception d’une BD INT Management

  2. Plan du document • Introduction slide 182 • Modèle Entité/Association slide 187 • Traduction E/A  relationnel slide 194 • Rétro-conception slide 206 • Généralisation/Spécialisation slide 211 • Théorie des dépendances slide 221 • Dépendances fonctionnelles slide 227 • Décomposition des relations slide 239 • Formes normales slide 248

  3. 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

  4. Relation universelle Dépendances fonctionnelles Conception relationnelle Introduction décomposition Schéma Relationnel normalisé

  5. Conception centralisée Introduction Schéma conceptuel global Schéma local Schéma local Schéma local …. Utilisateur Programme …

  6. 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

  7. 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)

  8. 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

  9. Concepts Modèle E/A T Nom Type Entité A A Ass Ass Rôle Rôle 0,n 1,n

  10. Concepts (2) Modèle E/A (1,1) Ass

  11. 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

  12. 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

  13. UML Entreprise UML

  14. Entité-Association / Diagramme de classe UML UML

  15. 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

  16. É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)

  17. Exemples d’étape 1 Traduction

  18. É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)

  19. Exemple d’étape 2 Traduction

  20. É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

  21. Exemples d’étape 3 Traduction

  22. É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)

  23. É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

  24. 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)

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

  26. Récapitulatif de l’exemple Traduction Employe(noss, adresse, nomf, prenom, nodept, noSSSuperviseur) Département(no_dept, libelle, nosschef, dateDebut) Projet(numero, description, numdept) PersonneACharge(nom, noss, DateNaissance, parenté) TravailleDans(noss, numeroProjet, nb_heures) LocalisationDept(localisation, num_dept) CREATE VIEW Effectifs(no_dept, nb_emp) AS SELECT nodept, COUNT(*) FROM Employe GROUP BY nodept CREATE VIEW DepartementComplet AS SELECT D.*, EF.nb_emp FROM Département D, Effectifs EF WHERE D.no_dept=EF.no_dept

  27. 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)

  28. Principes de rétro-conception • Relation ne possédant pas de clé étrangère : ensemble d'entité • Relation possédant une clé étrangère à l'extérieur de sa clé : ensemble d'entité plus association monovaluée vers l'ensemble d'entité correspondant à la clé étrangère

  29. Principes de rétroconception (2) • Relation dont la clé est intégralement composée de clés étrangères : association multivaluée entre les ensembles d'entités correspondant aux clés étrangères • Relation dont la clé comprend une clé étrangère et une clé "locale" : ensemble d'entité faible par rapport à l'ensemble d'entité correspondant à la clé étrangère

  30. Schéma relationnel BD vins Exemples Vins(num, cru, annee, degre) Recoltes(nvin, nprod, quantite) Producteurs(num, nom, prenom, region) Buveurs(num, nom, prenom, ville) Commandes(ncde, date, nb, nvin, qte) Livraisons(ncde, no_ordre, qteLivree)

  31. Rétro-conception de la BD des vins Rétro-conception 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 ?

  32. Généralisation / spécialisation • Introduire dans le modèle E/A un concept objet "classique" • Permet de définir un ensemble d'entité relativement à un autre (attention ressemble à entité faible mais est très différent)

  33. Sémantique de la généralisation / spécialisation • Sous ensemble d'entité hérite des attributs de son super ensemble d'entité • A priori pas d'héritage multiple • Spécialisation peut être : • totale (toute instance est spécialisée dans au moins un sous-ensemble) ou partielle • une partition (une instance ne peut être spécialisée dans plusieurs sous-ensembles) ou un recouvrement

  34. Exemple de généralisation / spécialisation Ensemble d'entité A A1 A2 Super ensemble d'entité B  C =  C  D =  A = B  C  D T/P Ensemble d'entité B B1 Ensemble d'entité D D1 D2 Ensemble d'entité C C1 A1 A2 B1 A1 A2 C1 A1 A2D1 D2

  35. Exemple de généralisation / spécialisation PERSONNE nom prénom adresse E  S  P = E  S T/R ETUDIANT noétud cycle SALARIE salaire S = PR  PU PR  PU = T/P PRIVE prime PUBLIC indice

  36. Transformation G / S vers modèle relationnel (1) • Approche par généralisation • feuille : relation de base dont le schéma est l'union des attributs de la feuille jusqu'à la racine • non feuille : vue définie comme union des fils (avec projection sur les attributs communs)

  37. Conséquences • Pas de création d'instances sur les non feuilles • Accès aux feuilles peu coûteux • Accès aux non feuilles par union-projection • Une même instance peut être spécialisée dans plusieurs entités • Pas vraiment de notion "d'identité d'objet" (donc pas de partage de structure) • Evolution de schéma difficile

  38. Exemple de transformation CREATE TABLE ETUDIANT(nom, prénom, adresse, noétud, cycle) CREATE TABLE PRIVE(nom, prénom, adresse, salaire, prime) CREATE TABLE PUBLIC(nom, prénom, adresse, salaire, indice) CREATE VIEW SALARIE AS SELECT nom, prénom, adresse, salaire FROM PRIVE UNION SELECT nom, prénom, adresse, salaire FROM PUBLIC CREATE VIEW PERSONNE AS SELECT nom, prénom, adresse FROM ETUDIANT UNION SELECT nom, prénom, adresse FROM SALARIE

  39. Transformation G / S vers modèle relationnel (2) • Approche par spécialisation • chaque noeud : relation dont le schéma est constitué des attributs "locaux" • chaque instance : on rajoute un oid (ou surrogate) • héritage : on ajoute l'oid de l'instance mère comme clé étrangère dans l'instance fille

  40. Conséquences • Création d'instance à n'importe quel niveau dans l'arbre d'héritage • Accès coûteux aux instances "loin" de la racine (reconstruction par jointures) • Héritage multiple difficile • Notion d'oid est offerte (partage de structure possible) • Multi-instanciation possible • Evolution de schéma plus facile

  41. Exemple de transformation CREATE TABLE PERSONNE(idfP, nom, prénom, adresse) CREATE TABLE ETUDIANT(idfE, noétud, cycle, idfP) CREATE TABLE SALARIE(idfS, salaire, idfP) CREATE TABLE PUBLIC(idfPU, indice, idfS) CREATE TABLE PRIVE(idfPR, prime, idfS) CREATE VIEW PERSONNE ASSELECT nom, prénom, adresse FROM PERSONNE CREATE VIEW ETUDIANT AS SELECT P.nom, P.prénom, P.adresse, E.noétud, E.cycle FROM  PERSONNE P,  ETUDIANT E WHERE P.idfP = E.idfP ...

  42. Théorie des dépendances Normalisation des schémas relationnels

  43. Objectifs • Mauvaise conception => Redondance des données • anomalies de maj (valeurs dupliquées) • anomalies d’insertion (valeurs nulles, incohérences) • anomalies de suppression (pertes d'information non désirées) • Introduire une notion de "bon" schéma (sans redondance d'informations) • permet de comparer deux schémas

  44. Exemple de mauvaise conception Relation APPROVISIONNEMENT PRODUIT QUANTITE COULEUR FOURNISSEUR ADRESSE parapluie 110 rouge Labaleine Paris Chapeau 50 vert Lemelon Lyon sac à main 65 noir Toutcuir Lyon parasol 15 jaune Labaleine Paris ombrelle 5 rouge Labaleine Paris ceinture 25 vert Letour Nantes sac à main 65 noir Legrand Paris

  45. Outils proposés • Étudier les propriétés des données • dépendances fonctionnelles • dépendances multi-valuées • dépendances produits, ... • Formes normales • ordre partiel sur les schémas • Algorithmes de décomposition / synthèse pour obtenir des schémas en 3ème forme normale

  46. Décomposition d’une relation

  47. Les dépendances fonctionnelles

  48. Dépendance fonctionnelle (DF) • Propriété définie sur le schéma • cas particulier de contrainte d'intégrité • définie sur l'intension (donc valide qq soit l'extension) • Définition • B dépend fonctionnellement de A si, étant donné une valeur de A, il lui correspond une unique valeur de B (quel que soit l'extension) • A et B sont des ensembles d'attributs • Notation A  B

  49. Exemple • BUVEURS(nb, nom, prénom, ville) • COMMANDES(nc, datec, nv, qtéc, nb) • EXPEDITIONS(nc, dateexp, qtéexp)

  50. NB  NOM NB  PRENOM NB  VILLE NC  DATEC NC  NB NC  NV NC  QTEC NC, DATEEXP  QTEEXP NOM  VILLE ? NB  NV ? QTEC  QTEEXP ? Exemples de DF

More Related