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

Normalisation dune relation Frédéric Gava (MCF) LACL, bâtiment P2 du CMC, bureau 223 Université de Paris XII Val-de-Marne 61 avenue.

Présentations similaires


Présentation au sujet: "Normalisation dune relation Frédéric Gava (MCF) LACL, bâtiment P2 du CMC, bureau 223 Université de Paris XII Val-de-Marne 61 avenue."— Transcription de la présentation:

1 Normalisation dune relation Frédéric Gava (MCF) LACL, bâtiment P2 du CMC, bureau 223 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle Créteil cedex COURS PECA

2 2/19 Introduction Lors de la définition dun schéma conceptuel dans le modèle relationnel, le choix des relations est primordiale. Ce choix doit être guidé par les dépendances qui existent entre les données, dans la réalité et qui sont des contraintes que doivent vérifier les données effectivement dans la base. Exemple : Produit(NºP, NomP, Couleur, Poids) Fournisseur(NºF, NomF, Adresse, Tél) Livraison(NºF, NºP,Quantité, Date, Tél) DF = NºP {NomP, Couleur, Poids} NºF {NomF, Adresse, Tél} NºF, NºP,Date Quantité, Tél Problèmes : Si un fournisseur na pas fait de livraison, on ne connaît pas son nº de tél Sil fait plusieurs livraisons, le nº de tél sera stocké plusieurs fois Sil faut changer de nº de tél, il faut le faire autant de fois quil apparaît dans la table des livraisons. Ce schéma est mal défini

3 3/19 Définitions (1) Définition : Normaliser une relation consiste à la représenter sous une forme qui respecte certains critères afin de sassurer de lintégrité des données La normalisation est un moyen fondamentale mis à la disposition du concepteur de la base pour éviter un bon nombre derreur Définition : Une dépendance est une contrainte exprimé par une règle qui doivent vérifier les données pour que la BD soit dans un état cohérent. Exemple : un salarié travail dans un et un seul service. Nous avons 3 sortes de dépendance Fonctionnelle (forme normale 1, 2 et 3) Multi-valué (forme norme 4) Jointure (forme normal 5) Définition : Une DF traduis le fait quà une valeur dune donnée, on associe dans une relation, une valeur au plus dune autre donnée à un instant considéré

4 4/19 Décomposer une relation (1) Étant donnée une relation non satisfaisante (répétitions, pbs dintégrités etc.) on peut trouver un sous-ensemble de sous-relation satisfaisant et qui décrivent les mêmes informations Exemple : NOMSTATUTAGECOURS GAVAMCF26Parallélisme HAINSPr40Sécurité HAINSPr40Sémantique NOMSTATUTAGE GAVAMCF26 HAINSPr40 NOMCOURS GAVAParallélisme HAINSSécurité HAINSSémantique

5 5/19 Décomposer une relation (2) On dira quune décomposition est « bonne » si on peut retrouver les informations de la relation initiale à partir des sous-relations Pour retrouver les informations dune relation à partir des relations « filles », on utilisera lopérateur de jointure naturelle

6 6/19 Jointure naturelle Lopération de jointure naturelle permet de composer des sous-relations pour en obtenir une plus grosse relation : R1(X,Y) R2(Y,Z)=R(X,Y,Z) Cest donc un lien entre plusieurs tables disposant de colonnes commune sémantiquement Chaque ligne de R est fabriquée avec une ligne de R1 et une ligne de R2 de telle sorte que les valeurs sur les attributs de Y soient identiques dans les ligne de R1 et de celle de R2 Elle permet donc de recomposer une relation qui avait été préalablement décomposée (voir forme normale) Une décomposition est dite « sans perte dinformations » si les jointures naturelles des sous-relations redonne la relation initiale

7 7/19 Produit cartésien : concaténation de toutes les lignes de la première table avec toutes les lignes de la seconde table. Exemple Jointure : lien entre 2 tables disposant dau moins une colonne commune (sémantiquement). On associe a chaque ligne de la première table toutes les lignes de la seconde table Exemple Jointure et produit cartésien Table 1Table 2 Produit axa,x bya,y cb,x b,y c,x c,y Table 1Table 2Jointure a1,b1b1,c1a1,b1,c1 a2,b1b2,c2a2,b1,c1 a3,b2b3,c3a3,b2,c2

8 8/19 Exemple Jointure NomPrénom Numéro avocat CollardBebert1 VergèsJacquy2 Numéro avocatProcèsRésultat 1HLMPerdu 2Serial KillerGagné 1OutreauPerdu 2Du siècleGagné R1 = R2 = R1 R2 = NomPrénomNuméro avocatProcèsRésultat CollardBebert1HLMPerdu VergèsJacquy2Serial KillerGagné CollardBebert1OutreauPerdu VergèsJacquy2Du siècleGagné

9 9/19 Différentes jointures Définition : une équi-jointure est une jointure dont la condition est une comparaison dégalité de 2 colonnes appartenant aux 2 tables Définition : une theta-jointure est est une jointure dont la condition est une comparaison autres que légalité de 2 colonnes appartenant aux 2 tables Définition : une jointure multiple met en relation plus de 2 tables. Définition : une auto-jointure est une jointure dune table avec elle-même

10 10/19 Définitions (2) Définition : Une DF est élémentaire si un sous-ensemble de la clé nest pas source de la DF. Exemple : A, B, C D est élémentaire sil existe pas les DF A, B D ; A, C D ; B, C D et aussi A D ; B D ; C D Définition : Une DF A B est directe (non transitive) sil nexiste pas un autre attribut C tel que A C et C B Définition : Une relation est normalisée si aucun attribut nest présent plus dune fois dans la relation et si aucun attribut nest lui- même décomposable en dautres attributs et quil nest pas lui- même une relation Théorème de Heath : Une relation R(X,Y,Z) est décomposable SPI en 2 sous-relations R1(X,Y) et R2(X,Z) sil existe pour R1 une DF X Y ou pour R2 une DF X Z (cest le cas si X est une clé de R1 ou de R2)

11 11/19 Formes normales 1 Toute relation normalisée est en FN1 R(N°_Client, N°_Article, Nom_Client, Nom_Article) N°_Client Nom_Client ; N°_Article Nom_Article ; N°_Client, N°_Article Nom_Article Table suivante : Il faudrait plutôt les relations suivantes : Client(N°,Nom) Article(N°, Nom) Commande(N°_Article, N°_Client) 23A5FredChaise 23A6FredTable 26A5 BobChaise

12 12/19 Forme normal 2 Une relation est en FN2 si Elle est en FN1 si tout attribut nappartenant pas à une clé dépend élémentairement dune clé Suffisant ? R(N°_Client, Nom_Client, N°_Repr, Nom_Repr) DF= N°_Client Nom_Client, N°_Repr, Nom_Repr ; N°_Repr Nom_Repr Repr(N°_Repr, Nom) Client(N°_Client, Nom, N°_Repr) 25FredR1Nicole 26PatrickR1Nicole

13 13/19 Exemple Fournisseur(Nom, Adresse, Tél, NomProduit, Prix) Nom, NomProduit Prix, Adresse, Tél Nom Adresse FN2 ? ok pour Nom, NomProduit Prix par contre Nom, NomProduit Adresse nest pas élémentaire car Nom Adresse donc que FN1 Décomposition possible et SPI daprès théorème de Heath Fournisseur(Nom, Adresse, Tél) Catalogue(Nom_Fournisseur, NomProduit, Prix)

14 14/19 Forme normal 3 Une relation est en FN3 si Elle est en FN2 (donc en FN1) Tout attribut nappartenant pas à une clé dépend de façon direct dune clé Définition : un ensemble dattribut X est une clé candidate dune relation R si et seulement si {X} + =R Remarque : lorsquune relation est en FN3 aucune DF nest issue dun sous-ensemble de la clé et aucune DF nest issue dun attribut non clé vers un autre

15 15/19 Exemple Fournisseur(Nom, Pays, Ville) Nom Ville, Pays Ville Pays (pas de ville homonyme dans des pays différents) FN2 ? Oui car lattribut Nom est la seule clé FN3 ? Non car Nom Pays nest pas direct (on peut passer par Ville). Il y a donc des répétitions de noms de pays. Décomposition SPI Fournisseur(Nom, Ville) Géographie(Ville, Pays)

16 16/19 Forme normal 4 Aussi appelé Forme normal de Boyse-Codd Une relation R est en en FNBC si tout attribut dépend de façon élémentaire et direct dune clé Remarque : quand une relation na quune clé candidate (donc quune unique clé appelé atomique), alors si elle est en FN3 cela implique quelle est aussi en FNBC Remarque : FNBC FN3 FN2 FN1 Remarque : Il existe une FN5 mais nous la verrons pas dans ce cours (trop rare)

17 17/19 Exemple Catalogue(N°F, NomF, NomP, Prix) 2 clés (N°F, NomP) et (NomF, NomP) DF : N°F, NomP NomF,Prix NomF, NomP N°F, Prix N°F NomF NomF N°F FN3 ? Oui car seul Prix nappartient pas à une clé et dépend élémentairement et directement de 2 clés FNBC ? Non car NomF ne dépend pas élémentairement dune clé : N°F,NomP NomF nest pas élémentaire car il existe et N°F NomF et NomF ne dépend pas de lautre clé Décomposition possible Fournisseur(N°F, NomF) avec N°F NomF et si lon veut NomF N°F Catalogue(N°F, NomP, Prix) avec N°F, NomP Prix

18 18/19 Exemple complet La relation Place( N° Etu, Matière, Rang) représente le rang de chaque étudiant par matière. On suppose quil ny a pas dex-aequo. Nous avons les DF suivantes : Rang, Matière N° Etu (pas dex-aequo) N° Etu, Matière Rang 2 clés candidates : (Rang, Matière) et ( N° Etu, Matière) Quelles sont les formes normales vérifiées ? Tout attribut appartient à une clé donc cest en FN3 Les 2 DF sont directes et élémentaires avec des membres gauches (de la DF) qui sont des clés donc la relation Place est en FNBC

19 19/19 Version simplifiée (pratique) On ne touche pas à la définition de FN1 Quand on na quune clé (clé primaire ou atomique) Définition dune relation R en FN2 : La relation R est en FN1 Toutes les DF issues de la clé sont élémentaires Définition dune relation R en FN3 : La relation R est en FN2 Toutes les DF issues de la clé sont directes Pas de FNBC

20 20/19 Atelier Pour la BD suivante : R1(N°_Client, N°_Produit, QtComm, Nom_Produit) R2(N°_Commande, N°_Produit, QtComm) R3(N°_Client, Nom_Client, Nom_Repr) R4(N°_Produit, Nom_Produit, N°_Atelier, Nom_Chef_Atelier) R5(N°_Client, Nom_Client, N°_Repr) R6(N°_Produit, N°_Fournisseur, Prix, Nom_Fournisseur) Trouvez les clés externe et déduisez les DF Trouvez les formes normales des relations suivantes

21 21/19 Correction Atelier 1. N°_Produit Nom_Produit donc pas élémentaire donc FN1 2. N°_Commande, N°_Produit Qt_Commandé donc FN3 3. N°_Client Nom_Client, Nom_Repr donc FN3 4. N°_Produit Nom_Produit et N°_Atelier Nom_Chef_Atelier donc indirect donc FN2 5. N°_Client Nom_Client, Nom_Repr et N°_Repr Nom_Repr donc indirect donc FN2 6. N°_Produit Prix et N°_Fournisseur Nom_Four donc pas élémentaire donc FN1

22 22/19 Société de Tourisme (1) Une société de tourisme possède une vingtaine de centres sur le territoire français et une douzaine dans dautres pays. Cette société a implanté une BD dont vous trouverez la structure ci-dessous : Cette BD a, entre autre, pour but de mieux cibler les activités pratiquées par les clients dans les centres Un centre est ouvert pendant un certain nombre de semaines de lannée suivant son implantation Un animateur est en général un saisonnier, il nanime quune seule activité et est rattaché à un seul centre Un responsable dactivité est un permanent de la société. Il peut- être responsable de plusieurs activités et travaille suivant les saisons dans différents centres. Cependant, un responsable dune activité est responsable de cette activité dans tous les centres où il travaille (lorsque cette activité existe) Donner et justifier les formes normales des relations

23 23/19 Société de Tourisme (2) 1.Client(N°, Nom, Adresse, Age) 2.Inscription(N°_client, N°_Centre, N°_Semaine, N°_activité, N°_animateur) 3.Animateur(N°_Animateur, N°_Activité, N°_Responsable, Nom_Responsable, Adresse_Responsable, N°_Centre, N°_SS, Nom) 4.Centre(N°, Nom, Adresse) 5.Responsable(N°, N°_SS, Ancienneté, Nom, Adresse) 6.Employé(N°_SS, Nom, Adresse, Date_Naissance) 7.Activité(N°, Nom) 8.Fonctionnement(N°_Centre, Type_Appart, N°_Semaine) 9.Séjour(N°_Client, N°_Centre, N°_Semaine, Type_Appart) 10.Responsabilité(N°_Responsable, N°_Centre, N°_Activité) 11.Statistique(N°_Responsable, N°_Centre, N°_Activité, Nombre_Heures_Effectués)

24 24/19 Correction Tourisme 1. FN3 2. FN3 3. FN2 4. FN3 5. FN1 6. FN3 7. FN3 8. FN3 9. FN1 10. FN3 11. FN3


Télécharger ppt "Normalisation dune relation Frédéric Gava (MCF) LACL, bâtiment P2 du CMC, bureau 223 Université de Paris XII Val-de-Marne 61 avenue."

Présentations similaires


Annonces Google