La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194.

Présentations similaires


Présentation au sujet: "180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194."— Transcription de la présentation:

1 180 Conception dune BD INT Management

2 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194 Rétro-conception slide 206 Généralisation/Spécialisation slide 211 Théorie des dépendancesslide 221 Dépendances fonctionnellesslide 227 Décomposition des relationsslide 239 Formes normalesslide 248

3 182 Conception indépendante dun modèle de données Réalité Schéma conceptuel Schéma relationnel Schéma réseau Fichiers…. transformation Introduction

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

5 184 Conception centralisée Schéma conceptuel global Schéma local Schéma local …. Schéma local ProgrammeUtilisateur… Introduction

6 185 Conception décentralisée (à partir dun existant) intégration Schéma global Schéma local Hétérogène/homogène Introduction

7 186 Conception dune BD Introduction 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 SGBD Spécifique à un SGBD

8 187 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 Modèle E/A

9 188 Concepts Modèle E/A Graphisme 1Graphisme 2 Ens. entité Attribut Attribut composite Attribut multivalué Clé dun type dentité Type dassociation Rôle Contraintes de cardinalité Nom Type Entité T A A Ass Rôle 0,n 1,n

10 189 Concepts (2) Modèle E/A Graphisme 1Graphisme 2 Type dentité faible Type dassociation identifiante Attribut calculé Ass (1,1)

11 190 Modèle E/A Entreprise Modèle E/A Employé nomadresseNoSS nomfprenom Personne-à-chargeProjet Département Nb_heures No_deptlibelle NuméroDescriptionprénom localisations Avoir à charge diriger Travailler pour Travailler sur gérer date 0,n1,n 0,1 0,n 1,1 1,n 1,1 0,n Nb_emp superviser Supervise 0,n Est supervisé 1,1 DateNaissanceParente

12 191 Modèle E/A Entreprise Graphisme 2 Modèle E/A 1,n 1,1 Est supervisé 0,n supervise (1,1) 0,n 1,1 1,n 1,1 0,1 1,n 1,1 Employe NoSS Adresse Nomf Prenom Département No_dept libelle Nb_Emp Projet Numéro Description PersonneACharge prénom DateNaissance Parenté TravaillerPour Diriger Date Gérer Avoir a charge Superviser TravaillerSur Nb_heures localisations

13 192 UML Entreprise UML

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

15 194 Traduction EA relationnel La sémantique nest pas complètement préservée (il faut ajouter des contraintes dinté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

16 195 É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 ECAECA E(C, A)

17 196 Exemples détape 1 Traduction EmployéAttributs atomiquesEmploye(noss, adresse) Attributs compositesEmploye(noss, adresse, nomf, prenom) Aplatissement de la structure (suite dattributs atomiques) perte de la sémantique DépartementAttributs atomiquesDépartement(no_dept, libelle) Attributs multivaluésEtape 6 : local Attributs calculésEtape 7 : nb_emp ProjetAttributs atomiquesProjet(numero, description)

18 197 É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 lentité identifiante partie de clé Traduction ECAECA E2 C2 A2 (1,1) E2(C, C2, A2)

19 198 Exemple détape 2 Traduction Entité PersonneACharge Attributs atomiquesPersonneACharge(nom, DateNaissance, parenté) + Clé de lentité identifiante PersonneACharge(nom, DateNaissance, parenté, noss) Noss : clé étrangère sur Employé + Partie de la clé de PersonneACharge

20 199 Étape 3 : transformation des associations binaires monovaluées Clé associée à E1 attribut de E2 Attributs de Ass attributs de E2 Traduction E1 C1 A1 E2 C2 A2 ?,1 E2(C2, A2, C1, A3) ?,? Ass A3 Clé étrangère, pas clé dans E2

21 200 Exemples détape 3 Traduction TravaillePourEmploye(noss, adresse, nomf, prenom, no_dept) DirigeDépartement(no_dept, libelle, nosschef, dateDebut) Dirige monovaluée dans les 2 sens on aurait pu créer Employe(noss, adresse, nomf, prenom, nodept, nodeptDirigé, dateDebut) Cardinalités (0,1), association partielle valeurs nulles ControleProjet(numero, description, numdept) SupervisionEmploye(noss, adresse, nomf, prenom, nodept, noSSSuperviseur) noSSSuperrviseur clé étrangère de Employé sur elle-même PersonneAChargeCf. étape 2

22 201 É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 E1 C1 A1 E2 C2 A2 ?,n Ass(C1, C2, A3) ?,n Ass A3 TravailleDansTravailleDans(noss, numeroProjet, nb_heures)

23 202 Étape 5 : Transformation des associations n-aires (n > 2) 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 Traduction E1 C1 A1 E2 C2 A2 Ass(C1, C2, C3, A4) Ass A4 E3 C3 A3

24 203 É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épartement A C R(A, C) Localisations dans DépartementLocalisationDept(localisation, num_dept)

25 204 É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

26 205 Récapitulatif de lexemple 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 Traduction

27 206 Rétro-conception But : Passer dun schéma relationnel à un schéma Entité- Association équivalent Pourquoi ? Analyse na pas été faite ou a été perdue Comment ? Appliquer les étapes de transformation « à lenvers » Remarque Ne fournit pas une solution unique (perte dinformation sur le schéma relationnel par rapport au schéma E/A) Rétro-conception

28 207 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 208 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 209 Schéma relationnel BD vins 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) Exemples

31 210 Rétro-conception de la BD des vins Rétro-conception 0,n 1,1 (1,1) 0,n 1,1 0,n Vins num cru degré annee Producteurs num nom prenom region recoltes Livraisons No_ordre qteLivrée date concerne Buveurs num nom prenom ville Commandes ncde qté date Passer Donner_lieu quantite ? ? 1?1? 1?1? 1?1? 1?1?

32 211 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 212 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 213 Exemple de généralisation / spécialisation Ensemble d'entité A A1 A2 Ensemble d'entité B B1 Ensemble d'entité C C1 Ensemble d'entité D D1 D2 Super ensemble d'entité A1 A2 B1 A1 A2 C1 A1 A2 D1 D2 T/P A = B C D B C = C D =

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

36 215 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 216 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 217 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 218 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 219 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 220 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 AS SELECT 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 221 Théorie des dépendances Normalisation des schémas relationnels

43 222 Objectifs Mauvaise conception => Redondance des données anomalies de maj (valeurs dupliquées) anomalies dinsertion (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 223 Exemple de mauvaise conception Relation APPROVISIONNEMENT PRODUIT QUANTITE COULEUR FOURNISSEUR ADRESSE parapluie 110 rouge Labaleine Paris Chapeau50vert Lemelon Lyon sac à main 65noir Toutcuir Lyon parasol 15jaune Labaleine Paris ombrelle 5rouge Labaleine Paris ceinture 25vert Letour Nantes sac à main 65noir Legrand Paris

45 224 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 225 Décomposition dune relation

47 226 Les dépendances fonctionnelles

48 227 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 228 Exemple BUVEURS(nb, nom, prénom, ville) COMMANDES(nc, datec, nv, qtéc, nb) EXPEDITIONS(nc, dateexp, qtéexp)

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

51 230 Axiomes dArmstrong Réflexivité Y X X Y Augmentation X Y XZ YZ Transitivité X Y et Y Z X Z

52 231 Propriétés déduites Union X Y et X Z X YZ Pseudo-transitivité X Y et YW Z XW Z Décomposition X Y et Z Y X Z

53 232 Fermeture transitive Fermeture transitive d'un ensemble F de DF est notée F + F + = F U DF obtenues via les axiomes Par exemple NC NB et NB NOM donc NC NOM NB NOM donc NB, NV NOM, NV essentiellement transitivité et pseudo-transitivité

54 233 Graphe de dépendances fonctionnelles Noeuds = attributs Arcs = DF

55 234 Graphe de fermeture transitive

56 235 Dépendance fonctionnelle élémentaire Une dépendance fonctionnelle X A est dite élémentaire si A nest pas inclus dans X il nexiste pas X inclus dans X tel que X A Permet de simplifier la fermeture transitive (sinon on peut toujours créer de nouvelles DF par augmentation) Exemple : NB NOM NB, NV NOM non DFE

57 236 Couverture minimale Définition sous ensemble minimum de DF élémentaires permettant de générer toutes les autres Exemple (nb nom; nb prénom; nb ville; nc datec; nc nb; nc nv; nc qtéc; nc, dateexp qtéexp) Théorème Tout ensemble de DF admet une couverture minimale, en général non unique

58 237 Clé dune relation Définition ensemble minimum dattributs permettant de déterminer tous les autres Soit R(A 1, A 2,..., A n ) un schéma de relation. Soit F + lensemble des DF associées à R. X (sous-ensemble d'attributs de R) est une clé de R ssi : X A 1, A 2,..., A n il nexiste pas de sous-ensemble Y de X tel que Y A 1, A 2,..., A n

59 238 Clé dune relation (2) Exemple nc, dateexp est une clé du schéma coopérative Remarques une même relation peut avoir plusieurs clés il existe toujours au moins une clé (au pire on prend tout le schéma)

60 239 Décomposition des relations

61 240 Décomposition dune relation Décomposition dun schéma de relation La décomposition dun schéma de relation R(A 1, A 2,..., A n ) est sa substitution par un ensemble de schéma de relations R 1, R 2,..., R p telles que : schéma(R) schéma(R 1 ) schéma(R 2 )... schéma(R p ) Critères de bonne décomposition Décomposition sans perte d'informations Décomposition préservant les DF

62 241 Décomposition sans perte d'informations La décomposition dun schéma de relation R(A 1, A 2,..., A n ) par un ensemble de schéma de relations R 1, R 2,..., R p est sans perte d'informations ssi : R R 1 R 2... R p

63 242 Décomposition préservant les DF Soit R(A 1, A 2,..., A n ) et DF R (ens. de DF associé) la décomposition de R en R 1, R 2,..., R p (avec DF R1,...DF Rn resp. ens. de DF de R 1,..., R n ) préserve les DF ssi : DF R + = DF R1 + U... U DF Rn +

64 243 Exemples de décomposition Commandes(nc, datec, nv, qtéc, nb, nom, prénom, ville) C(nc, datec, nv, qtéc, nb) et B(nom, prénom, ville) : perte d'info C(nc, datec, nv, qtéc, nb) et B(nb, nom, prénom, ville) : pas de perte d'info et préservation DF C(nc, nb) et B(nc, datec, nv, qtéc, nom, prénom, ville) : pas de perte d'info et perte de DF (nb nom par exemple)

65 244 Principe de décomposition binaire R(X,Y,Z) et X Y R(X,Y,Z)=R1(X,Y) R2(X,Z) on peut toujours décomposer une relation suivant une DF on ne peut pas décomposer une relation s'il n'y a pas de DF la décomposition selon une DF préserve l'information

66 245 Algorithme de décomposition Commandes(nc, datec, nv, qtéc, nb, nom, prénom, ville) nb nom; nb prénom; nb ville; nc datec; nc nb; nc nv; nc qtéc; nc, dateexp qtéexp Commandes(nc, datec, nv, qtéc, nb, nom, prénom, ville) C1(nc, datec, nv, qtéc) C2(nc, nb) C(nc, nb, nom, prénom, ville) C3(nb, nom, prénom, ville) nc datec, nv, qtéc nb nom, prénom, ville

67 246 Algorithme de décomposition Garantie que la décomposition soit sans perte (puiqu'on suit le principe de décomposition binaire) Pas de garantie que la décomposition préserve les DF Décomposition n'est pas unique (dépend de l'ordre du choix des DF dans la décomposition)

68 247 Autre décomposition Commandes(nc, datec, nv, qtéc, nb, nom, prénom, ville) C2(nc, datec, nv, qtéc, nb)C1(nb, nom, prénom, ville) nb nom, prénom, ville

69 248 Formes normales

70 249 Formes normales Première forme normale Deuxième forme normale Troisième forme normale...

71 250 1ère forme normale Définition Une relation est en première forme normale si tous ses attributs sont atomiques (inhérent au modèle relationnel) Un attribut atomique nest pas : multivalué (liste de valeurs) composé (structuré en sous-attributs)

72 251 Deuxième forme normale Définition Une relation est en deuxième forme normale ssi : elle est en première forme normale tout attribut non clé dépend de la totalité de toutes les clés Exemple C(nc, dateexp, qtéexp, nb) pas en 2FN car nc, dateexp clé et nc nb

73 252 Troisième forme normale Objectif : élimination des redondances dues aux dépendances fonctionnelles déduites par transitivité Définition Une relation est en troisième forme normale ssi : elle est en deuxième forme normale il nexiste aucune DF entre attributs non clé

74 253 Comment calculer une forme normale Soit R(A 1,..., A n ) et DF R ens. de DF associé calculer DF R + déterminer la (les) clé (s) de R partitionner les attributs en attributs clés (ils appartiennent à au moins une clé) et attributs non clés appliquer les définitions de forme normale (depuis la 1ère)

75 254 Propriétés Toute relation R admet au moins une décomposition en 3FN qui préserve l'information et les DF Deux approches pour la calculer : décomposition : on s'arrête dès que les relations dérivées sont en 3FN (mais pas de garantie sur les DF) synthèse à partir de la couverture minimale

76 255 Algorithme de synthèse en troisième forme normale Pré : connaissance du contenu de la relation universelle + DF Principe de lalgorithme : A partir du graphe G des DF, calculer une couverture minimale C Editer lensemble des attributs isolés dans une même relation (tous sont clés) Recherche le plus grand ensemble X dattributs qui détermine dautres attributs Editer la relation R(X, A 1,..., A n ) Supprimer les DF X A 1,.., X A n du graphe de couverture minimale C Supprimer les attributs isolés de C Reprendre lopération à partir de létape 3 jusquà ce que C soit vide

77 256 Insuffisance de la 3FN Relation VINS(CRU, PAYS, REGION) Chenas, France, Beaujolais Juliénas, France, Beaujolais Chablis, France, Bourgogne Chablis, USA, Californie avec les DF suivantes : région pays; cru, pays région VINS est en 3FN, pourtant il y a des redondances (ici on peut régler cela avec la 3FN Boyce Codd Kent)

78 257 Conclusion sur la normalisation Permet d'affiner une conception de schéma Peut se coupler avec une démarche de conception "à la Merise" Inconvénient majeur : on suppose qu'on possède une couverture minimale des DF (si on a oublié une DF tout est faux) Autres formes normales avec d'autres types de dépendance Peut être remis en cause au niveau physique (dénormalisation)


Télécharger ppt "180 Conception dune BD INT Management. 181 Plan du document Introductionslide 182 Modèle Entité/Associationslide 187 Traduction E/A relationnelslide 194."

Présentations similaires


Annonces Google