INSUFFISANCE DE LA 3NF



Documents pareils
Bases de Données Avancées

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

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

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

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

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

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

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

Concevoir un modèle de données Gestion des clients et des visites

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

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

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

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

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

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

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

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

2.4 Représentation graphique, tableau de Karnaugh

3 Approximation de solutions d équations

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

Année Universitaire 2009/2010 Session 2 de Printemps

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

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

Modélisation des données

Programmation Par Contraintes

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

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

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Algorithmique et Programmation Fonctionnelle

Chapitre 07 Le modèle relationnel des données

Structures algébriques

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

Conception d une base de données

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

LE MODELE CONCEPTUEL DE DONNEES

Etude d Algorithmes Parallèles de Data Mining

Optimisation des fonctions de plusieurs variables

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

Bases de Données. Plan

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

UML et les Bases de Données

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

Information utiles. webpage : Google+ : digiusto/

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

IMAFA O5 LOGO2 PARTIE I

Cours Premier semestre

Correction du bac blanc CFE Mercatique

6. Les différents types de démonstrations

3. Conditionnement P (B)

Le théorème de Thalès et sa réciproque

Continuité et dérivabilité d une fonction

Introduction aux Bases de Données

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Problèmes de Mathématiques Filtres et ultrafiltres

Université de Bangui. Modélisons en UML

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

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

Calcul différentiel sur R n Première partie

CHAPITRE 1. Introduction aux bases de données

Raisonnement par récurrence Suites numériques

CH.6 Propriétés des langages non contextuels

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Résolution d équations non linéaires

Bases de données - Modèle relationnel

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

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

Rappel sur les bases de données

Planche n o 22. Fonctions de plusieurs variables. Corrigé

Correction du Baccalauréat S Amérique du Nord mai 2007

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

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

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

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

Modèle conceptuel : diagramme entité-association

Chp. 4. Minimisation d une fonction d une variable

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Entrepôt de données 1. Introduction

Continuité d une fonction de plusieurs variables

Théorie et codage de l information

ÉPREUVE COMMUNE DE TIPE Partie D

CHAPITRE 10. Jacobien, changement de coordonnées.

Chapitre 1 : Introduction aux bases de données

IFT1215 Introduction aux systèmes informatiques

Actuariat I ACT2121. septième séance. Arthur Charpentier. Automne charpentier.arthur@uqam.ca. http ://freakonometrics.blog.free.

Cours d Analyse. Fonctions de plusieurs variables

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Modèle Entité/Association

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

CHAPITRE VIII : Les circuits avec résistances ohmiques

Espérance conditionnelle

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

Modélisation conceptuelle des données Responsable: Dominique Schneuwly, Regis Caloz

Logique. Plan du chapitre

Chapitre 2 Le problème de l unicité des solutions

Introduction à la théorie des graphes. Solutions des exercices

Correction du baccalauréat ES/L Métropole 20 juin 2014

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 =

Les indices à surplus constant

Transcription:

156 INSUFFISANCE DE LA 3NF Exemple: Poste (Ville, Rue, Code) et DF={V,R C ; C V} Clés: VR, RC Relation en 3 NF Poste Ville Rue Code Paris St Michel 75005 Paris Champollion 75005 Redondance entre le code et la ville

157 forme normale de Boyce-codd La forme normale de Boyce-Codd, (BCNF en anglais ou FNBC en français) examine les dépendances de parties de clé entre elles, et les dépendances d'attributs non-clé vers une partie de clé. Une relation est sous la Forme Normale de Boyce-Codd Si et seulement si Ses clés candidates sont les uniques sources de DFs Définition: Un schéma relationnel R(A1,.,An) avec un ensemble F de DF est en forme normale BCNF si pour chaque DF élémentaire X A dans F+, la partie gauche X est une clé candidate. Toute relation en BCNF est en 3NF Théorème. Toute relation admet une décomposition en BCNF sans perte d information mais parfois au prix de perte de dépendances fonctionnelles.

158 forme normale de Boyce-codd (2) Exemple: soit la relation Poste (Ville, Rue, Code) DF = {V,R C ; C V} Clés: VR, RC R est en 3NF mais n est pas en BCNF (dans C V, C n est pas une clé) Poste Ville Rue Code Paris St Michel 75005 Paris Champollion 75005

159 forme normale de Boyce-codd (3) La décomposition R1(Ville, Code); R2(Rue, Code) évite la redondance Ville, Code, elle est donc sans perte d information mais elle ne préserve pas la dépendance V,R C R1 Ville Code Paris 75005 R2 Code Rue 75005 St Michel 75005 Champollion

160 Algorithme de décomposition de Boyce-codd Une décomposition SPI de R, qu'on appellera D, est construite de manière itérative : Entrée: un schéma R et un ensemble de dépendances fonctionnelles F Sortie: Schémas {R1, R2,..., Rn} avec Ri en BCNF pour tout i 1) D est initialisée à R, 2) Tant qu il existe une relation R(U) qui n est pas en BCNF: a) Chercher une dépendance non triviale X Y dans F+, telle que X ne soit pas une clé candidate de R b) Décomposer R comme indiqué dans le théorème de décomposition (sans perte) c est-à-dire en R 1 (X,Y) et R 2 (X,Z) 3) D est réinitialisée avec R 1 et R 2 et on répète cette procédure tant qu il existe des relations qui ne sont pas en BCNF. 4) S il existe des relations R i (Xi) et R j (Xj) dans la décomposition telle que Xi Xj alors on supprime Ri.

161 Algorithme de décomposition de Boyce-codd (2) Exemple: Soit R(A,B,C,D,E) et DF={A B ; A C ; C,D E ; B D} 1 )Calcul des clés candidates: A est la seule clé et R n est pas en BCNF car C,D E, B D 2) Calculons les fermetures transitives: A+={A,B,C,D,E} B+={B,D} (C,D)+= {C,D,E} et (BC)+= {B,C,D,E} 3) Première décomposition: Nous pouvons prendre la dépendance B D: a) L algorithme de décomposition donne deux relations: R1(B,D) et R2(A,B,C,E) R A, B, C, D, E R1 B, D A B C E R2 R1 est en BCNF avec une seule DF non triviale B D R2 n est pas BCNF car BC E viole la condition BCNF

162 Algorithme de décomposition de Boyce-codd (3) b) Décomposition de la relation R2 en deux relations R 21 (B,C,E) et R 22 (A,B,C) qui sont en BCNF R2 A, B, C, E R21 B, C, E A B C R22 Dans R 21 (B,C,E), on a une dépendance non triviale: B,C E Dans R 22 (A,B,C), on a deux dépendances non triviales: A B et A C Avec ces dépendances R 21 (B,C,E) et R 22 (A,B,C) sont BCNF

163 Algorithme de décomposition de Boyce-codd (4) R(A,B,C,D,E) est finalement décomposée en trois relations: R 1 (B,D) avec B D R 21 (B,C,E) avec B,C E et R 22 (A,B,C) avec A B et A C Cette décomposition préserve les DF et SPI Décomposez R en commençant avec la DF: C,D E

164 Algorithme de décomposition de Boyce-codd (5) Deuxième décomposition en commençant par C,D E En utilisant l algorithme de décomposition nous obtenons 2 relations: R1(C, D, E) avec la DF C,D E Et R2(A, B, C, D) avec 3DF: A B, A C, B D R1 est en BCNF avec comme clé C,D Dans R2, A est la seule clé candidate, mais B D viole BCNF. On décompose: R21(B,D) et R22(A,B,C)

165 décomposition de Boyce-codd Exercice: Proposer une décomposition en BCNF 1) Description des pièces employées dans un atelier de montage. Piece(numPiece, prix, tva, libelle, categorie) DF1 : numpiece prix, tva, libelle, categorie et DF2 : categorie tva 2) Liste des auteurs d'une publication avec leur position dans la liste des auteurs. Auteurs(publication, auteur, position) DF1 : (auteur, publication) position et DF2 : (publication, position) auteur 3) Commande(numCommande, numclient, nomclient, date, numproduit, nomproduit) DF1 : numcommande numclient, date,numproduit DF2 : numclient nomclient et DF3 : numproduit nomproduit

décomposition de Boyce-codd (2) Soit le schéma relationnel VOL (V, P, A, J, H, D, R) Avec C: nom de la Compagnie ; V: num Vol, A: nom Avion P: nom pilote H: heure du départ du vol J: Jour du départ du vol D: ville de départ et R: ville arrivée. et Les DF= { V H, D, R H, D, R V J, V P, A J,H,P D, R, A J, H, A D, R, P } Proposer une décomposition en BCNF 166

167 décomposition de Boyce-codd (3) Supposons la contrainte (peu réaliste) suivante : Un pilote ne travaille qu'un jour par semaine (tous les lundi ou tous les mardi ou...) qui se traduit par la DF : P J Considérons maintenant le schéma : VOL( V, P, A, J) avec {P J ; J, V P, A} Proposer une décomposition en BCNF

168 Décomposition en 3 ème forme normale et en BCNF Il est démontré que: Toute relation a au moins une décomposition en 3 ème forme normale qui préserve les dépendances fonctionnelles et qui est sans perte Toute relation a au moins une décomposition en forme normale de Boyce Codd qui est sans perte mais qui peut ne pas préserver les dépendances fonctionnelles.

169 Quatrième forme normale La notion de dépendance fonctionnelle nous a conduit à décomposer les relations en 3NF et en forme normale de BOYCE CODD. Ceci est pourtant insuffisant pour éliminer les redondances et les anomalies de mises à jour.

170 Quatrième forme normale Exemple: Considérons la relation ETUDIANT(NUMERO, COURS, SPORT) qui modélise la réalité suivante : Un étudiant est identifié par un NUMERO, peut suivre un ou plusieurs COURS et pratiquer un ou plusieurs SPORTS. Il n existe aucune DF entre les différents attributs La clé de cette relation est donc l ensemble de ses attributs (elle est en 3NF). Une extension de cette relation est : NUMERO COURS SPORT 100 BD TENNIS 100 BD FOOT 200 BD VELO 200 MATH VELO 300 BD FOOT 300 BD TENNIS Il y a une dépendance multivaluée entre un Numéro et Cours car à chaque valeur de Numero, il correspond un ensemble de valeurs de Cours et que cet ensemble de valeurs ne dépend pas des valeurs de Sport.

171 Dépendances multivaluées Définition formelle: Soit R (X, Y, Z) un schéma relationnel. On dit que X Y (X multidétermine Y ou il y a une dépendance multivaluée de Y sur X) si pour toute extension de R (X Y) : À chaque valeur de X il correspond toujours le même ensemble de valeurs de Y cet ensemble de valeurs ne dépend pas de Z On dit que X multidétermine Y et l on note : X Y, si, soit Z = R - X - Y, ((x,y,z) et (x,y,z ) R (x,y,z) et (x,y,z ) R ) Les dépendances multivaluées sont une généralisation des dépendances fonctionnelles: si X Y alors X Y

172 Dépendances multivaluées (2) Exemple Reprenons la relation ETUDIANT(NUMERO, COURS, SPORTS) et l ensembles des D.M. sont : 1- NUMERO COURS 2- NUMERO SPORTS En posant : X = NUMERO ; Y = COURS et Z = W - (X Y) = SPORTS. On peut constater que : Les deux tuples ( X =100, Y=B.D., Z=TENNIS) et (X=100, Y =B.D., Z = FOOT) à R donc on doit aussi trouver les tuples (X=100, Y =B.D., Z=TENNIS) et (X=100, Y=B.D., Z = FOOT) dans R ce qui est le cas car Y= Y. NUMERO COURS SPORT 100 BD TENNIS 100 BD FOOT 200 BD VELO 200 MATH VELO 300 BD FOOT 300 BD TENNIS

173 Dépendances multivaluées (3) Exemple Un employé peut avoir plusieurs compétences et parler plusieurs langues. On a une relation R (N Employé, Compétence, Langue) N Employé Compétence Langue 4 Cuisine Français 4 Cuisine Allemand 4 Cuisine Grec 4 Dactylo Français 4 Dactylo Allemand 4 Dactylo Grec N Employé Compétence,Langue

174 Dépendances multivaluées (4) De même que pour les DF, une dépendance multivaluée D est déductible de F si elle est obtenue par application des axiomes d Armstrong: A étant l ensemble des attributs d une relation 1. Complémentation : Si (X Y) alors on a ( X A (X Y) ) 2. Augmentation : Si (X Y) et (V W), alors on a (X W Y V) 3. Transitivité : Si on a ( X Y ) et ( Y Z ), alors on a ( X Z) 4. Union : Si on a ( X Y ) et ( X Z ), alors on a ( X YZ) Fermeture transitive: Définition identique aux DF

175 Dépendances multivaluées (5) Décomposition sans perte d une relation Soient une relation R(A) et une partition {X,Y,Z} de A. La décomposition formée de deux relations R(X,Y) et R(X,Z) est une décomposition sans perte de R(A) Ssi On a X Y Décomposition préservant les dépendances Même définition que pour les DF

176 Quatrième forme normale La 4FN est une généralisation de la BCNF destinée à décomposer les relations ayant des DM élémentaires Un schéma relationnel est en quatrième forme normale si (1) Ce schéma est en 1 ère forme normale (1NF) (2) Ssi les seules dépendances multivaluées élémentaires sont celles dans lesquelles une clé multi détermine un attribut Rappel: La dépendance fonctionnelle X Y entre les deux ensembles d attributs X et Y est triviale si : Y X La dépendance multivaluée X Y entre les deux ensembles d attributs X et Y est triviale si: Y X ou (A-Y) X (avec A ensemble des attributs)

177 Quatrième forme normale Exemple Soit la relation VOL(Pilote, Avion, Ville_Départ, Ville_Arrivée) ayant pour clé le couple d attributs (Pilote, Avion) et vérifiant les D.M suivantes : Pilote Avion Pilote (Ville_Départ, Ville_Arrivée) Cette relation n est pas en 4 FN car l attribut Pilote est une partie gauche des deux D.M. mais n est pas une clé candidate de R (Pilote n est qu une partie de la clé!)

178 Quatrième forme normale La 4 ème forme normale implique la forme normale de Boyce Codd puisqu une dépendance fonctionnelle est un cas particulier de dépendance multivaluée. Il est démontré que toute relation a au moins une décomposition en 4e forme normale qui est sans perte mais qui peut ne pas préserver les dépendances.

179 Décomposition en 4 ème forme normale On utilise cet algorithme lorsque certaines dépendances sont des DM Entrée : Schéma R(X) contenant des DF et des DM Sortie : Schémas {R1, R2,..., Rn} avec Ri en 4NF pour tout Etape1 : Initialisation : S={R} Etape 2: itération Si T est un schéma de S qui n'est pas en 4NF, alors chercher une DM non triviale W V de T telle que W ne contienne pas une clé de T. Remplacer le schéma T dans S par les deux schémas T1(W, V) et T2(X,W) munis des dépendances dérivées de la fermeture de celles du schéma T. Répéter l'étape 2 si S contient un schéma qui n'est pas en 4NF. Etape 3 : élimination de la redondance Pour tout couple Ri et Rj de S, si Xi Xj alors éliminer Ri de S.

180 Décomposition en 4 ème forme normale Exemple: Soit la relation VOL(Pilote, Avion, Ville_Départ, Ville_Arrivée) ayant pour clé le couple d attributs (Pilote, Avion) et vérifiant les D.M.suivantes : Pilote Avion Pilote (Ville_Départ, Ville_Arrivée) Et on aura : R1(Pilote, Avion) R2(Pilote, Ville_Départ, Ville_Arrivée)

181 Synthèse sur la normalisation Permet d'affiner une conception de schéma Si on applique de façon rigoureuse la méthode d'élaboration d'un Modèle Conceptuel de Données (M.C.D.), le Modèle Relationnel résultant sera automatiquement en 3FN. Inconvénient majeur : on suppose qu'on possède une couverture minimale des DF (si on a oublié une DF tout est faux) Peut être remise en cause au niveau physique (dénormalisation)