Soors Aurore (2302) Année académique 2009-2010 Sytèmes de gestion de base de données Notes de cours
Chapitre 1 La normalisation 1.1 Procédé de design 1. Analyse et définition des règles de gestion 2. Validation par le client des règles de gestion 3. Identificaiton des entités 4. Définition des associations 5. Définition des clés et des attributs 6. Normalisation conceptuelle et relationnelle 1.2 Règles de vérification 1.2.1 Types de règles Règles de complétude : Règles de complétude formelle Règles de cohérence : Vérifient l absence de contradictions 1.2.2 Règles de complétude Type d entité : La spécification d un type d entité (TE) est considdérée formellement complète si elle possède les éléments suivants : Un nom Une définition Une durée de vie ou condition d existence Un identifiant Type d association : La spécification d un type d association (TA) est considérée comme formellement complète si elle possède les éléments suivants : Un nom Une définition Une durée de vie ou de condition d existence (comprise dans celles caractérisant les TE sur lesquelles le TA est défini) Au moins 2 TE sur lesquels le TA est défini Un nom de rôle pour chaque TE Un identifiant Attribut : La spécification d un attribut d un TE ou d un TA est considérée formellement complète si elle possède les éléments suivant : Un nom Une définition Une structure (simple ou répétitive, élémentaire ou décomposable) Un domaine de valeurs (si l attribut est élémentaire) 2
1.2.3 Règles de cohérence Règle 1 : élimination des contradictions Règle 2 ; unicité des noms et absences d homonymes Règle 3 : absence de synonymes Règle 4 : minimalité de l identifiant Règle 5 : contrôle des attributs dérivables Règle 6 : élimination des structures redondantes 6.1 : élimination d un attribut redondant avec un TA 6.2 : élimination d un TA sémentiquement redondant avec d autres TA 6.3 : redondance entre un TA et un TE Règle 7 : désagrégation d un TE 7.1 : existence d attributs répétitifs ou décomposables 7.2 : existence de dépendances fonctionnelles partielles d attributs non idenfiant avec l identifiant 7.3 : existende de dépendances fonctionnelles transitives non indentifiant avec l identifiant 7.4 : présence d attributs prenant une valeur «inexistante» en fonction de la valeur prise par d autres attributs Règle 8 : désagrégation d un TA 8.1 : existence d attributs répétitifs ou décomposables 8.2 : existence de dépendances fonctionnelles partielles d attributs non identidiant avec l identifiant 8.3 : existence de dépendances fonctionnelles transitives d attributs non identifiant avec l identifiant 8.4 : présence d attributs prenant une valeur «inexistante» en fonction de la valeur prise par d autres attributs 1.3 Règles de normalisations 1.3.1 Difficultés rencontrées Redondance des données Anomalies dues à la complexité des insertions Quand y a-t-il une redondance gênante? S il y a redondance Comment faut-il décomposer la relation? Y a-t-il de l information perdue par décomposition? Anomalies de modification : Oubli de modification de toutes les occurrences concernées Anomalies d insertion : Problème d insertion faute de connaître la valeur de tous les attributs d une relation Anomalies de suppressions : Une suppression entraîne la suppression d autres informations sémentiquement distinctes Problèmes de reconnexion Constat : La décomposition n est pas réversible c est le probèle de la reconnexion Le schéma initial est un mauvait schéma Solution possible : Isoler par décomposition réversible la contrainte dans une relation séparée Conclusion : Une et une seule information sémantique par relation 1.3.2 Le modèle relationnel Le modèle relationnel des données structure celles-ci sous la forme de schémas de relation R(C 1, C 2,..., C m ) où R désigne le le nom de la relation et C 1, C 2,..., C m sont des attributs (colonnes) Remarques : Un identifiant d une relation est formé d un ou plusieurs attributs Chaque relation possède au moins un identifiant La clé primaire est choisie parmi ces identifiants 3 Aurore Soors
1.3.3 Théorie de la normalisation Théorie basée sur les dépendances fonctionnelles Identification des liens n à 1 Les dépendances fonctionnelles Traduisent des contraintes sur les données Sont représentatives d une perception de la réalité Imposent des limites à la base de données Permettent de décomposer l ensemble des informations en différentes relations 1.3.4 Dépendance fonctionnelle Soient Une relation R(A 1, A 2,..., A n ) Des attributs X, Y (A 1, A 2,..., A n ) On dit que Y dépend fonctionnellent de X si pour toute extension r de R et pour tous les tuples t 1, t 2, r, on a X(t 1 ) = X(t 2 ) Y (t 1 ) = Y (t 2 ) Description : On dit qu un attribut Y dépend fonctionnellement d un attribut X, si pour toute valeur de X, il existe une et une seule valeur de Y Notation : X Y «X détermine Y» «Y dépend fonctionnellement de X» Exemple1 : Deux personnes distinctes peuvent porter le même nom et le même prénom. Elles se distinguent par leur numéro Traduction : Num Nom, Num Prenom Exemple 2 : Deux plages d une même région ne peuvent porter le même nom Traduction : (NomPlage, Region) NumPlage 1.3.5 Axiomes d Armstrong Reflexivite : Y X X Y Exemple : (Jour, Periode, Local) Local Augmentation : X Y XZ Y Z Exemple : Catégorie Prix (Categorie, Titre) Prix,Titre) Transitivité : X Y et Y Z X Z A partir de ces trois axiomes de bases, on peut déduire d autres règles : Union : Si X Y et Y Z, alors X Y Z Pseudo-transitivité : Si X Z et W Y Z, alors W X Z Décomposition : Si X Y et Z Y, alors X Z 4 Aurore Soors
1.3.6 Dépendance fonctionnelle élémentaire Soient R une relation fonctionnelle et A une colonne non incluse dans X (A X). La dépendance fonctionnelle X A est élémentaire s il n existe pas une colonne X X telle que X A. Description : Les propriétés doivent dépendre de TOUT l identifiant et non pas d une partie de cet identifiant Remarque : Cette dépendance est couramment appelée dependance complète ou totale. Exemple : Soit la dépendance : (NomPlage, Region) Pollution La pollution d une plage dépend de sa région et de son emplacement Constat : En aucun cas, il n y a : NomPlage Pollution Region Pollution Conclusion : (NomPlage, Region) Pollution est une DFE 1.3.7 Dépendance transitive Chaque attribut doit dépendre directement de la clé et non par l intermédiaire d un ou plusieurs attributs. Remarque : Cette dépendanec est également appleée dépendance directe Exemple : «Soit l attribution d une prime de qualification à des employés. L attribution de cette prime dépend de la qualification de l employé» Constat : Dépendances fonctionnelles : Num Nom, Prenom, Qualification Qualification Prime Solution : EMP(Num, Nom, Prenom, Qualification) QUALI(Qualification, Prime) 1.3.8 Clé d une relation Soit X un sous-ensemble d attributs de la relation R(A 1, A 2,..., A n ) X est une clé de la relation R si X (A 1, A 2,..., A n ) Il n y a pas de X X tel que X (A 1, A 2,..., A n ) Description : X est une clé de la relation R si X détermine tous les autres attrivuts de manière élémentaire, c est à dire si X est le minimum d informations qui permet d identifier les lignes d une relation. Exemple : NumPersonne est une clé pour PERSONNE(NumPersonne, Nom, Prenom) Remarque : Plusieurs clés peuvent être candidates pour une même relation. Ainsi, dans le cas de la relation PLAGE : NumPlage et (NomPlage, Region) sont des clés cadidates. 5 Aurore Soors
1.4 Règles de normalisation 1.4.1 Forme Normale 1 (1FN) Objectif : éliminer complètement les répétitions d entrées de données (liste, structures, etc) Une relation est 1FN si et seulement si Elle possède une clé Chaque valeur de colonne est atomique Exemple : Soit la relation : BAINS(NumPers, NumPlage, Date, Durees) où Durées est la liste des durées des bains pris par le nageur NumPers sur la plage Numplage à la date Date. Ce schéma n est pas 1FN. Solution : BAINS(NumPers, NumPlage, Date, Duree) 1.4.2 Forme Normale 2 (2FN) Objectif : éliminer les dépendances partielles. Une relation est 2FN si et seulement si Elle est en 1FN Chaque colonne non clé dépend élémentairement de la clé primaire Description : les propriétés d une entité ne doivent dépendre que de la clé de la relation et non d une partie de cette clé. Exemple : Soit la relation : PLAGE(NomPlage, Region, Type, Pollution) Supposons : PLAGE Pollution Region Type La deuxiième forme normale impose la décomposition : R1(NomPlage, Region, Pollution) R2(Region, Type) 1.4.3 Forme Normale 3 (3FN) Objectif : éliminer les dépendances transitives. Une relation R est en 3FN si et seulement si Elle est en 2FN Chaque attribut non clé ne dépend pas transitivement de la clé primaire Exemple : Soit la relation : Supposons que l on ait Region Type Constat : NumPlage Region Type Décomposition en 3FN : R1(NumPlage, Region, Pollution) R2(Region, Type) PLAGE(NumPlage, Region, Type, Pollution) 6 Aurore Soors
1.4.4 Forme Normale de Boyce-Codd (BCNF) Objectif : éliminer les boucles. Une relation R est en BCNF si et seulement si Elle est en 32FN Les seules DFE qu elle comporte sont celles où une clé détermine un atttribut. Remarque : pour les clés composées de plusieurs attributs, ces derniers ne doivent pas être dépendant d un autre attribut de la relation. Exemple : Soit la relation : Avec : (NomPlage, Region) Province Province Region Une décomposition en BCNF serait : PLAGE(NomPlage, Province) GEO(Province, Region) 1.4.5 Dépendances multivaluées PLAGE(NomPlage, Region, Province) Soit La relation R(A 1, A 2,..., A n ) X et Y des sous-ensemble de R Il y a une dépendance multivaluée de Y sur X si et seulement si, étant données des valeurs de X : Il y a un ensemble de valeurs de Y associées Cet ensemble est indépendant des autres attributs Z = R X Y de la relation R C est à dire : X Y ((xyz) et (xy z ) R (xy z) et (xyz ) R) Propriétés : Les dépendances fonctionnelles sont des cas particuliers des dépendances multivaluées. Dépendance multivaluées élémentaire (DME) : Une dépendance multivaluée élémentaire X Y d une relation R est une dépendance multivaluée telle que : Y n est pas vide et est disjoint de X R ne contient pas d autre dépendance multivaluée du type X Y telle que X X et Y Y Exemple : Dans la relation étudiant, (NumEtud, Cours, Sport), on a : NumEtud Cours NumEtud Sport 7 Aurore Soors
1.4.6 Forme Normale 4 (4FN) Une association est en 4FN si et seulement si lorsqu il existe une dépendance multivaluée élémentaire, celle-ci est unique. Une relation est en 4FN si et seulement si chaque fois qu il y a une dépendance multivaluée dans R, disons X Y, alors tous les attributs de R dépendent fonctionnellement de X (c est-à-dire X A pour tout attrivut A de R). Propriété : Une relation est en 4FN est également en FNBC et donc en 3FN. Exemple : Soit la relation ETUDIANT : La relation est «full key» Les dépendances sont : NumEtud Cours NumEtud Sport La décomposition de la relation en 4FN devient assez logiquement : PREF1(NumEtud,Cours) PREF21(NumEtud,Sport) 1.4.7 Récapitulatif 1FN - Attributs atomiques 2FN - Dépendance à la clé 3FN - Dépendance transitives FNBC - Boucles 4FN - Dépendance multivaluée 8 Aurore Soors
Table des matières 1 La normalisation 2 1.1 Procédé de design........................................ 2 1.2 Règles de vérification....................................... 2 1.2.1 Types de règles...................................... 2 1.2.2 Règles de complétude.................................. 2 1.2.3 Règles de cohérence................................... 3 1.3 Règles de normalisations..................................... 3 1.3.1 Difficultés rencontrées.................................. 3 1.3.2 Le modèle relationnel.................................. 3 1.3.3 Théorie de la normalisation............................... 4 1.3.4 Dépendance fonctionnelle................................ 4 1.3.5 Axiomes d Armstrong.................................. 4 1.3.6 Dépendance fonctionnelle élémentaire......................... 5 1.3.7 Dépendance transitive.................................. 5 1.3.8 Clé d une relation.................................... 5 1.4 Règles de normalisation..................................... 6 1.4.1 Forme Normale 1 (1FN)................................. 6 1.4.2 Forme Normale 2 (2FN)................................. 6 1.4.3 Forme Normale 3 (3FN)................................. 6 1.4.4 Forme Normale de Boyce-Codd (BCNF)........................ 7 1.4.5 Dépendances multivaluées................................ 7 1.4.6 Forme Normale 4 (4FN)................................. 8 1.4.7 Récapitulatif....................................... 8 9