Théorie de la Normalisation 1/44



Documents pareils
Patrice BOURSIER. Professeur, Univ. de La Rochelle. Bases de Données. Notes de cours

Bases de Données. Plan

Rappel sur les bases de données

Bases de Données Avancées

Modélisation de bases de données : Le modèle relationnel

Modélisation des données

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du

Chap. 3: Le modèle de données entité-association (E.A.)

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Modèle conceptuel : diagramme entité-association

MERISE. Modélisation de Systèmes d Information. Pierre Gérard. DUT Informatique 2ème année 2004/2005. IUT de Villetaneuse - Université de Paris 13

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Les bases de données

Bases de données Cours 5 : Base de données déductives

Polynômes à plusieurs variables. Résultant

Bases de données. Yamine AIT AMEUR. INPT-ENSEEIHT DIMA 2 Rue Charles Camichel Toulouse Cedex 7

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

UML et les Bases de Données

Information utiles. webpage : Google+ : digiusto/

Introduction aux bases de données. Généralités sur les bases de données. Fonctions d'un SGBD. Définitions. Indépendance par rapport aux traitements

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Chapitre 1 Généralités sur les bases de données

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Bases de Données Relationnelles. Le Modèle Relationnel

LE MODELE CONCEPTUEL DE DONNEES

II. Modèle conceptuel le modèle entité-association

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Modèle Entité/Association

1 Modélisation d une base de données pour une société de bourse

DESS CCI Formation Continue. Février Université Louis-Pasteur de Strasbourg Département d'informatique

Université Paris-Dauphine DUMI2E 1ère année, Applications

Systèmes d information et bases de données (niveau 1)

Programmation Par Contraintes

Algorithmes d'apprentissage

Cours 02 : Problème général de la programmation linéaire

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Chapitre 07 Le modèle relationnel des données

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

I4 : Bases de Données

Conception d une base de données

Année Universitaire 2009/2010 Session 2 de Printemps

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Algèbre binaire et Circuits logiques ( )

Introduction aux Bases de Données

Introduction aux Systèmes de Gestion de Bases de Données Relationnelles. Olivier Losson

1 Définition et premières propriétés des congruences

CHAPITRE 1. Introduction aux bases de données

16H Cours / 18H TD / 20H TP

Structures algébriques

Le langage SQL Rappels

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Thierry Spriet Version rééditée au format PDF et remise en page

DOCM Solutions officielles = n 2 10.

1 Introduction et installation

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

Chapitre 1 : Introduction aux bases de données

Introduction aux Bases de Données

Bases de données réparties: Fragmentation et allocation

Conception des bases de données : Modèle Entité-Association

Utilisation des tableaux sémantiques dans les logiques de description

6. Les différents types de démonstrations

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Calculabilité Cours 3 : Problèmes non-calculables.

Le modèle de données

Rappels et compléments, première partie : Nombres complexes et applications à la géométrie

Dossier I Découverte de Base d Open Office

Recherche dans un tableau

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Gestion des Clés Publiques (PKI)

1S Modèles de rédaction Enoncés

Bases de données relationnelles

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

COURS de BASES de DONNEES

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

... /5. Bases de Données I (J. Wijsen) 23 janvier 2009 NOM + PRENOM : Orientation + Année : Cet examen contient 11 questions.

Exercice 1 Trouver l équation du plan tangent pour chaque surface ci-dessous, au point (x 0,y 0,z 0 ) donné :

Par : Abdel YEZZA, Ph.D. Date : avril 2011 / mise à jour oct (ajout de la section 3 et augmentation de la section 1)

Théorie de la Mesure et Intégration

.../5. Gestion de Bases de Données (J. Wijsen) 27 janvier 2011 NOM + PRENOM : Orientation + Année : Cet examen contient 8 questions. Durée : 2 heures.

Géométrie dans l espace Produit scalaire et équations

Présentation du module Base de données spatio-temporelles

Proposition. Si G est un groupe simple d ordre 60 alors G est isomorphe à A 5.

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Bases de Données relationnelles et leurs systèmes de Gestion

Premiers exercices d Algèbre. Anne-Marie Simon

Systèmes de Gestion de Bases de Données

PROBLEME(12) Première partie : Peinture des murs et du plafond.

Méthode d analyse Merise

Langage SQL : créer et interroger une base

Axiomatique de N, construction de Z

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Modélisation Conceptuelle. Partie 2: Le modèle Entité-Association

Fonctions de plusieurs variables

Algorithmique et Programmation Fonctionnelle

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Mejdi BLAGHGI & Anis ASSÈS

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Transcription:

Théorie de la Normalisation 1/44

La phase de design d une BD q Analyse des besoins q Design conceptuel q Modèle EA, UML q Design logique q EA vers relations q raffinement de schéma: normalisation q Design physique q indexes, etc. 2/44

Conception de schéma Modèle conceptuel: Modèle relationnel + DFs Normalisation: Éliminer les anomalies 3/44

Théorie de la normalisation q Anomalies de conception, redondance q Dépendances fonctionnelles q Décomposition de schéma q Formes normales q Automatisation de la normalisation q Conclusion 4/44

Anomalies de conception de schéma VOITURE (N VEH, TYPE, COULEUR, MARQUE, PUISSANCE) Un type de voiture peut avoir une seule puissance et une seule marque, mais différentes couleurs, numéros VOITURE NVH MARQUE TYPE PUIS COULEUR 872RH7 RENAULT R21 7 BLEUE 975AB8 RENAULT R21 7 BEIGE 975AB8 PEUGEOT 205 8 ROUGE Redondance, anomalies de modification, anomalies d effacement. 5/44

Décomposition VOITURE NVH MARQUE TYPE PUIS COULEUR 872RH7 RENAULT R21 7 BLEUE 975AB8 RENAULT R21 7 BEIGE 975AB8 PEUGEOT 205 8 ROUGE V_TYPE MARQUE TYPE PUIS V_NVH NVH TYPE COULEUR RENAULT R21 7 872RH7 R21 BLEUE PEUGEOT 205 8 975AB8 R21 BEIGE 975AB8 205 ROUGE 6/44

Objectif et principes q Problèmes de conception: redondances et anomalies de m.à.j. q Objectif : Minimiser les redondances pour améliorer les performance de la BD. requêtes d interrogation et de mise à jour plus rapides moins de valeurs NULL gestion de l intégrité des données simplifiée q Principe : + NOM + PRIX + PUIS + NSS + COULEUR + NVH + TYPE + DATE + PRENOM + MARQUE NORMALISATION RELATION UNIVERSELLE R1 (... ) R2 (... )... 7/44

Dépendances fonctionnelles q Définition :! Formellement : Utilité : X --> Y, X détermine Y, ou Y dépend fonctionnellement de X, X et Y: ensembles d attributs de R est une assertion sur toutes les instances de la relation R telle que si deux tuples quelconques de R possèdent la même valeur sur X, alors ils doivent avoir la même valeur sur Y. X --> Y ssi quel que soit l instance r de R, pour tout tuple t1 et t2 de r on a : Π X (t1) = Π X (t2) ==> Π Y (t1) = Π Y (t2) Contrainte sur les données que peut contenir la relation. Outil de contrôle d intégrité des données (niveau schéma). Outil mathématique permettant d expliquer le processus de la «normalisation» Vital lorsqu on veut ré-étudier le schéma d une BD qui pose problème. 8/44

Dépendances fonctionnelles Definition: A 1,..., A m à B 1,..., B n vérifiée dans R si: t, t R, (t.a 1 =t.a 1... t.a m =t.a m t.b 1 =t.b 1... t.b n =t.b n ) R A 1... A m B 1... B m t t si t, t ont les mêmes valeurs ici alors t, t ont les mêmes valeurs ici aussi 9/44

Exemples ID Nom Tél Dép I0 S 1234 Info I3 M 9876 Ventes I1 S 9876 Ventes I9 M 1234 RH ID -> Nom, Tél, Dép? Dép -> Tél? Tél -> Dép? 10/44

Observation Si ces deux DFs vérifiées: nom -> couleur couleur, catégorie -> prix Alors cette DF vérifiée aussi: nom, catégorie -> prix Explication? 11/44

Axiomes d'armstrong q Propriétés de base q Propriétés déduites Union Réflexivité Y inclus dans X Augmentation X -> Y Transitivité X -> Y et Y -> Z => X -> Y => XZ -> YZ => X -> Z X -> Y X -> Z Pseudo-transitivité X -> Y YW -> Z Décomposition X -> Y => X -> YZ => XW -> Z => X -> Z Z inclus dans Y 12/44

F + et Couverture minimale q Fermeture transitive d un ensemble F de DF q F + = F {DF déduites de celles contenues dans F} q Couverture minimale d un ensemble F de DF q Sous-ensemble minimum de DF élémentaires permettant de générer toutes les autres. q Théorème : tout ensemble de DF possède une couverture minimale, en général non unique. q Formellement, F est une CM ssi : q Tout f dans F est élémentaire. q Il n existe pas de f dans F telle que F - {f} soit «équivalent» à F. q DF élémentaires (les seules utiles) q Une DF élémentaire est une DF de la forme X -->A, où : q A est un attribut, X un ensemble d attributs, A n'est pas inclus dans X q il n'existe pas X' inclus dans X tel que X' -> A dans F+ q Equivalence q On dit que deux ensembles de DF sont équivalents s ils possèdent la même fermeture transitive. 13/44

Calcul de F + q Avec les axiomes de Armstrong q Trop compliqué! 14/44

X + : Fermeture d un ensemble d attributs X Pour X= A 1,, A n La fermeture, {A 1,, A n } + = l ensemble des attributs B t.q. A 1,, A n -> B Exemple: nom -> couleur catégorie -> département couleur, catégorie -> prix Fermetures: nom + = {nom, couleur} {nom, catégorie} + = {nom, catégorie, couleur, département, prix} couleur + = {couleur} 15/44

Calcul de X + X + :=X do{ pour chaque DF Y->Z dans F tq Y inclus dans X + X + := X + + Z } until (X + inchangé) {nom, catégorie}+ = {nom, catégorie, couleur, département, prix} nom, catégorie -> couleur, département, prix 16/44

Tester l appartenance d une DF à F + q Les axiomes d Armstrong: correctes et complètes (calculent F + ) q Pour tester l appartenance de X->Y à F + : q calculer la fermeture de X, X + ={A i X->A i } q tester si Y inclus dans X + F + : Énumérer les DFs X -> Y t.q. Y X + et X Y = 17/44

Clé d une relation q Définition : Ensemble minimum d attributs qui détermine tous les autres. q Formellement : Soient : R (A1, A2,..., An) un schéma de relation, F+ l'ensemble des DF associés et X un sous-ensemble de A1, A2,..., An. X est une clé de R ssi : q X -> A1 A2... An est dans F+ q il n'existe pas de sous-ensemble X inclus dans X tel que X -> A1 A2... An q Non unicité : q Il peut y avoir plusieurs clés pour une relation (clés candidates) q Sur-clé : q Une est choisie comme clé primaire q Sur-clé : X est sur-clé ssi X->R dans F + 18/44

Graphe des DF VOITURE (N VEH, TYPE, COULEUR, MARQUE, PUISSANCE) N VEH COULEUR TYPE MARQUE PUISSANCE 19/44

Autre Exemple CRU TYPE CLIENT REMISE CHENAS MEDOC JULIENAS A A B C1 C2 C1 3% 5% 4% CRU TYPE CLIENT CRU --> TYPE TYPE, CLIENT --> REMISE REMISE 20/44

Calculer les (sur)clés q Calculer X + pour tous les ensemble X q Si X + = {tous les attributs}, alors X est une (sur)clé q Lister uniquement les Xs minimaux Les clés décident la «qualité» d un schéma. 21/44

Décomposition de schéma Définition : La décomposition d'un schéma de relation R(A1,, An) consiste en son remplacement par une collection de relations (R1, Rm) tel que SCHEM (R) = SCHEM (R1) U SCHEM (R2) U... U SCHEM (Rm) But de la décomposition : Casser R en de plus petites relations afin d'éviter : les redondances les anomalies en mises à jour 22/44

Décomposition Sans Perte d Information Définition Une décomposition d'une relation R en m relation (R1, Rm) est SPI par rapport à un ensemble de DF si et seulement si, quelle que soit I une instance de R, alors I = I 1 x I 2 x... x I m où I j = Π Rj (I) c-à-d, Il doit exister une série de jointures sur les instances de R1,, Rm qui permet de reconstruire I. Théorème: Une décomposition de R en R1 et R2 est SPI ssi R1 R2 est sur-clé de R1 et/ou R2. 23/44

Décomposition Sans Perte d Information Preuve : On cherche a démontrer que Π R1 (r) x Π R2 (r) = r. r Π R1 (r) x Π R2 (r) est toujours vrai. Soient r: Π R1 (r) : Π R2 (r) : A B C A B B C a1 b1 c1 a1 b1 b1 c1 a2 b2 c2 a2 b2 b2 c2 a3 b1 c3 a3 b1 b1 c3 Π R1 (r) x Π R2 (r) : A B C a1 b1 c1 a1 b1 c3 a2 b2 c2 a3 b1 c1 a3 b1 c3 24/44

Décomposition Sans Perte d Information Preuve : On cherche a démontrer que Π R1 (r) x Π R2 (r) = r. Π R1 (r) x Π R2 (r) r n est en général pas vrai. Si t Π R1 (r) x Π R2 (r) et t r R1 R2 n est pas sur-clé, ni de R1 ni de R2. 25/44

Exemple VOITURE NVH MARQ UE TYPE PUIS COULEUR 87 2RH75 RENAULT R21 7 BLEUE 97 5AB80 RENAULT R21 7 BEIG E R1 R2 8H75 R21 BLEUE R21 RENAULT 7 97AB80 R21 BEIGE R'1 R2 R'3 872RH75 R21 R21 7 BLEUE R21 RENAULT 975AB80 R21 R21 7 BEIGE VOITURE = R1 X R2 VOITURE <> R'1 X R'2 X R'3 N VEH TYPE COULEUR MARQUE PUISSANCE R'1 X R'2 X R'3 872RH75 R21 7 BLEUE RENAULT 872RH75 R21 7 BEIGE RENAULT 975AB80 R21 7 BLEUE RENAULT 975AB80 R21 7 BEIGE RENAULT 26/44

Décomposition sans perte de DF Définition Projection de F sur un sous-ensemble X d attributs: l ensemble de DFs dans F + qui utilisent uniquement X. Définition Une décomposition (R1, Rm) de R préserve les DFs (SPD) si la fermeture transitive des DFs de R est la même que la fermeture transitive de l'union des projection des DFs sur R1, Rm. Exemple: A->B, B->C, C->A et la décomposition AB, BC Tester si une décomposition est SPD: par la définition. 27/44

Example (1) Exemple 1) R1 (NVH, TYPE, COULEUR) =>F1 = { NVH -> TYPE, NVH -> COULEUR } R2 (TYPE, MARQUE, PUIS) => F2 = { TYPE -> MARQUE, TYPE -> PUIS } ==> OK 2) R'1 (NVH, TYPE) => F'1 = { NVH -> TYPE } R'2(TYPE, PUIS, COULEUR) =>F'2 = {TYPE -> PUIS} R'3(TYPE, MARQUE) => F'3 = {TYPE -> MARQUE} ==> ON A PERDU LA DF : NVH ->COULEUR 28/44

Exemple (2) VOITURE (NVH, MARQUE, TYPE, PUIS, COULEUR) VOITURE NVH MARQUE TYPE PUIS COULEUR R1 (NVH, TYPE, COULEUR) R2 (TYPE, MARQUE, PUIS) 87 2RH75 RENAULT R21 7 BLEUE 97 5AB80 RENAULT R21 7 BEIG E Décomposition N VEH COULEUR R'1 (NVH, TYPE) R'2 (TYPE, PUIS, COULEUR) R'3 (TYPE, MARQUE) TYPE MARQUE PUISSANCE 29/44

Formes normales pour éliminer les anomalies Deux FN principales, BCNF et 3NF Idée principale: X A est OK si X est un (sur)clé sinon X A mauvaise (BCNF), à moins que A prime (3NF) A prime: A appartient à une clé. 30/44

Formes normales Définition 1NF Une relation est en 1ère forme normale si tout attribut contient une valeur atomique (unique) Exemple PERSONNE NOM PROFESSION DUPONT Ingénieur, Professeur MARTIN Géomètre Une telle relation doit être décomposée en répétant les noms pour chaque profession 31/44

2NF Définition une relation est en 2e forme normale ssi : Schéma Ø elle est en 1ère forme Ø tout attribut non clé ne dépend pas d'une partie de clé R K1 K2 X Y Une telle relation doit être décomposée en R1(K1,K2,X) et R2(K2,Y) 32/44

Exemple 2NF q Exemple 1 : q Fournisseur (nom,adresse, article, prix) q La clé est (nom, article) q Mais nom --> adresse : pas en 2e forme q Exemple 2 : q R (cru,type,client,remise) q La clé est (cru, client) q Mais cru --> type : pas en 2e forme 33/44

3NF q Définition q une relation est en 3e forme normale ssi : q Schéma Ø elle est en 1ère forme Ø tout attribut n'appartenant pas a une clé ne dépend pas d un ensemble d attributs qui ne sont pas (sur)clé Ø X->A une DF non triviale dans F+ alors : Ø X contient une clé de R ou Ø A fait partie d une clé de R (prime). R K X Y Z Une telle relation doit être décomposée en R1(K, X, Y) et R2(X,Z) 34/44

Exemple 3ème Forme q Exemple q Voiture (nvh, marque, type,puissance, couleur) q Type --> marque q Type --> puissance Pas en 3eme forme! q Caractéristiques de la 3NF : q redondance limitée q On arrive toujours à une décomposition en 3NF SPI et SPD 35/44

Exemples de décomposition q Voiture (nvh, marque, type, puissance, couleur) véhicule (nvh, type, couleur) Modèle (type, marque, puissance) CRU q Réduction (cru, type, client, remise) Remise (Type,client,remise) Type (cru,type) Commande(Cru, Client) REMISE TYPE CLIENT 36/44

Algorithme de décomposition 1. A partir du graphe G des DF, calculer une couverture minimale C 2. Rechercher le plus grand ensemble X d'attributs qui détermine d'autres attributs A1, An Sans DF entre attributs : Ai->Aj 3. Editer la relation (X, A1,, An) qui est en 3FN 4. Supprimer les DFs (X->A1, X->An) du graphe de couverture minimale C 5. Supprimer les attributs isolés de C (i.e. les attributs non-cible ni source de DF) 6. Répéter l'opération de réduction du graphe C à partir de l'étape 2, jusqu'à ce que C soit vide. 7. Ajouter une relation dont les attributs forment une clé de la relation universelle DATE NVH NPRO COULEUR PRIX TYP E PRENOM NOM MARQUE PUIS 37/44

Comment tester si R en 3NF? q Calcul des clés (les X + ) q Pour chaque X->A dans F, par la définition q X (sur)clé? q A prime? 38/44

Automatisation de la décomposition DFs RELATION UNIVERSELLE AUTOMATISATION DU PROCESSUS DE DECOMPOSITION EN 3NF, A PARTIR DE L'ENSEMBLE DES ATTRIBUTS ET DES DFs ALGORIHME DE DECOMPOSITION RELATIONS EN 3FN 39/44

Encore moins de redondances : BCNF Définition: une relation est en BCNF (Boyce-Codd Normal Form) ssi : les seules dépendances fonctionnelles sont du type clé détermine attribut X->A une DF non triviale dans F + alors : Ø X contient une clé de R Plus simple que 3NF, un peu plus fort, mais ne peut pas toujours être obtenue SPD! X + ={X} ou X + =tout R K1 K2 X Y Une telle relation peut être décomposée en R1(K2, Y, X) et R2(Y,K1) 40/44

Exemple CRU, PAYS --> REGION REGION--> PAYS R (CRU, PAYS, REGION), en 3NF CRU PAYS Décomposition BCNF : R1(REGION, PAYS) R2(CRU, REGION) REGION 41/44

Décomposition en BCNF Algorithme: (1)Pour R(A) et X t.q. X + X A q Décomposer en R 1 (X U {A X + }) et R 2 (X+ ) (2) Répéter le premier pas pour R 1 et R 2 Comment tester si R(A) en BCNF? -calcul de X + pour chaque X->Y dans F, -test si X + =A ou X + =X Exemple: CSJDPQV, clé C, SD->P, J->S, JP->C Exemple sans SPD: ABC, AB->C, C->B On ne peut pas décomposer sans perdre AB->C 42/44

Exemple R(A,B,C,D) A ->B B -> C R(A,B,C,D) A + = ABC ABCD R 1 (A,B,C) B + = BC ABC R 2 (A,D) R 11 (B,C) R 12 (A,B) Si on choisit d abord B + (ou AB + )? 43/44

Conclusion q Normalisation utile q pour obtenir une représentation canonique des entités du monde réel q pour améliorer la performance de la BD q Normalisation automatisable q Algos 3NF q outils du commerce (Power Designer, ER-Win, etc.) 44/44