Formes Normales et Normalisation. Anomalies et Redondance. Exemple de schéma mal conçu. Anomalies. Erreurs de conception et Anomalies

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

Programmation linéaire

Activités numériques [13 Points]

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

Structures algébriques

CONJUGUÉ D'UN POINT PAR RAPPORT À UN TRIANGLE

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

2.4 Représentation graphique, tableau de Karnaugh

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

Polynômes à plusieurs variables. Résultant

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

Problème 1 : applications du plan affine

Programmation linéaire

Statistiques Exercice 2011

Séquence 10. Géométrie dans l espace. Sommaire

DOCM Solutions officielles = n 2 10.

Fonctions homographiques

La médiatrice d un segment

Séquence 2. Repérage dans le plan Équations de droites. Sommaire

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

Étude des formes de pratiques de la gymnastique sportive enseignées en EPS à l école primaire

315 et 495 sont dans la table de 5. 5 est un diviseur commun. Leur PGCD n est pas 1. Il ne sont pas premiers entre eux

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 =

Statistiques Exercice 2012

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

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

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

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

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

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

1 Première section: La construction générale

Bases de Données Avancées

Chapitre 6. Fonction réelle d une variable réelle

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Algorithmique et Programmation Fonctionnelle

Intégration et probabilités TD1 Espaces mesurés Corrigé

Continuité et dérivabilité d une fonction

Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe

Chapitre 5 : Flot maximal dans un graphe

Optimisation des fonctions de plusieurs variables

Le seul ami de Batman

Cours d Analyse. Fonctions de plusieurs variables

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Optimisation Discrète

Analyse des incidents

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

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

Les intermédiaires privés dans les finances royales espagnoles sous Philippe V et Ferdinand VI

Programmation Par Contraintes

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

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

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

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

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

La maison Ecole d ' Amortissement d un emprunt Classe de terminale ES. Ce qui est demandé. Les étapes du travail

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions

I. Ensemble de définition d'une fonction

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

Bases de Données. Plan

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

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

CHAPITRE VIII : Les circuits avec résistances ohmiques

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Limites finies en un point

Algèbre binaire et Circuits logiques ( )

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Méthode d analyse Merise

A QUOI SERVENT LES BASES DE DONNÉES?

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

Data Mining. Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne. Data Mining. V. Augusto.

Le centre de gestion a le plaisir de vous adresser les statistiques professionnelles élaborées à partir des dossiers de gestion 2013.

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

5 ème Chapitre 4 Triangles

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

Deux disques dans un carré

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

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

IFT1215 Introduction aux systèmes informatiques

ARBRES BINAIRES DE RECHERCHE

Comparaison de fonctions Développements limités. Chapitre 10

Distribution Uniforme Probabilité de Laplace Dénombrements Les Paris. Chapitre 2 Le calcul des probabilités

Quels enseignements de l expérience française ( )

Équations non linéaires

Présentation du programme d automatisation du bâtiment

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

Cours de Probabilités et de Statistique

Mise à jour du STAN S31 au logiciel R6F

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Le nombre d or et Fibonacci

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

Chapitre 3. Les distributions à deux variables

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

Pour l épreuve d algèbre, les calculatrices sont interdites.

Méthode : On raisonnera tjs graphiquement avec 2 biens.

REGLEMENT JEU QUIZZ SMS +

Angles orientés et trigonométrie

Capes Première épreuve

Transcription:

Transparents de Jeffrey Ullman (Stanford University) Traduits/adaptés par C. Retoré (U. Bordeaux 1) Formes Normales et Normalisation Anomalies et Redondance Anomalies Boyce-Codd BCNF 3 e Forme Normale 3NF Types d anomalies Exemple d erreurs de conception 1 2 Anomalies Exemple de schéma mal conçu! Bon schéma relationnel: " pas de redondance (redondance plusieurs fois la même information) " pas d anomalies. Anomalie de mise à jour : une occurrence d une information est modifiée et pas les autres Anomalie de suppression : une information pertinente est perdue en détruisant un n-uplet. 3 Drinkers(name, addr, beersliked, manf, favbeer) name addr beersliked manf favbeer Janeway Voyager Bud A.B. WickedAle Janeway??? WickedAle Pete s??? Spock Enterprise Bud??? Bud Les données sont redondantes: les Dépendances Fonctionnelles name -> addr favbeer beersliked -> manf. déterminent les??? 4 Erreurs de conception et Anomalies Forme Normale de Boyce Codd BCNF name addr beersliked manf favbeer Janeway Voyager Bud A.B. WickedAle Janeway Voyager WickedAle Pete s WickedAle Spock Enterprise Bud A.B. Bud Anomalie de Mise à jour: si Janeway part pour l Intrepid, pensera-t-on à changer tous les n-uplets? Anomalie de Destruction: si personne n aime Bud, on perd le faut que son fabricant Anheuser-Busch. 5 Exemple Mise en forme normale 6

Forme Normale de Boyce-Codd BCNF!Une relation R est dite en BCNF ssi pour toute Dépendance Fonctionnelle non triviale (c.-à-d. X ne contient pas A) X ->A sur les attributs de R X est une clé (pas forcément minimale) Exemple Drinkers(name, addr, beersliked, manf, favbeer) DF: name->addr favbeer, beersliked->manf!une seule clé minimale {name, beersliked}.!pour chacune DF: la partie droite n est pas une clé!drinkers n est pas en BCNF (prendre l une des deux DF Au choix) 7 8 Autre Exemple Beers(name, manf, manfaddr) FD s: name->manf, manf->manfaddr!une seule clé minimale {name}.!name->manf ne contredit pas BCNF, mais par contre la relation n est pas BCNF à cause de: manf->manfaddr. Décomposition en BCNF!Donnée: une relation R avec des DF F.!Chercher les DF X ->B telles que X ne soit pas une clé " Si R pas BCNF, il y en a au moins une.!calculer X +. " Qui ne contient pas tous les attributs, sinon X serait une clé. 9 10 Décomposer R en suivant X -> B! Remplacer R par deux relations dont les attributs sont: #$ R 1 = X +. %$ R 2 = R (X + X ).! Projeter les DF sur ces schémas Attention! c est la clôture de F, Cl(F), qu on projette sur R 1 et R 2 11 Schéma de la Décomposition R 1 =X + R-X + X X + -X R 2 R 12

Exemple Drinkers(name, addr, beersliked, manf, favbeer) F = name->addr, name -> favbeer, beersliked->manf! Trouver une DF qui fait que Drinkers n est pas en BCNF: name->addr.! Clôture des attributs de gauche: {name} + = {name, addr, favbeer}.! On obtient deux relations: #$Drinkers1(name, addr, favbeer)= {name} + %$Drinkers2(name, beersliked, manf) = {name, addr, beersliked, manf, favbeer} moins13 {adr,favbeer} Exemple, suite! Il faut maintenant voir si Drinkers1 et Drinkers2 sont en BCNF! Projection des DF assez facile pour ce cas particulier -- calcul de la clôture Cl(F)! Pour Drinkers1(name, addr, favbeer), les DF pertinentes sont name->addr et name->favbeer. " {name} est la seule clé et Drinkers1 est en BCNF. 14 Exemple, suite! Pour Drinkers2(name, beersliked, manf), la seule DF est beersliked->manf, et la seule clé est {name, beersliked}. " Pas BCNF, on recommence.! beersliked + = {beersliked, manf}, on décompose Drinkers2 en: #$ Drinkers3(beersLiked, manf)=x + %$ Drinkers4(name, beersliked)= {name, beersliked, manf} moins {manf} 15 Exemple, fin! Décomposition de Drinkers : #$ Drinkers1(name, addr, favbeer) %$ Drinkers3(beersLiked, manf) &$ Drinkers4(name, beersliked)! Remarque: " Drinkers1 parle des personnes, " Drinkers3 parle des bières, " Drinkers4 relation entre personnes et bières 16 3e Forme Normale 3NF Motivation Décomposition 17 3 e Forme Normale - Motivation! Il y a des DF qui posent problème quand on décompose AB ->C C ->B. " Exemple (Paris, Marseille, Lyon, Rennes, ) A = adresse, B = ville, C = code postal.! Il y a deux clés, {A,B } et {A,C }.! C ->B contredit BCNF, il faudrait décomposer en AC, BC. 18

On ne peut pas garder les DF!Si décomposition AC et BC on ne peut pas retrouver AB ->C à partir des DF projetées.!exemple avec A = adresse, B = ville, C = code postal sur le transparent suivant. 19 B:Ville Paris Paris Une DF non préservée Code postal Adresse 75005 75006 80, Bd St-Germain 80, Bd St-Germain 80, Bd St-Germain 80, Bd St-Germain B:Ville Paris Paris Adresse Code postal 75005 75006 Code postal 75005 75006 Bien que toutes les DF soient vérifiées (C->B) dans chacune des tables, la DF adresse ville -> code_postal n est pas respectée. 20 3NF: évite ce problème! 3 e Forme Normale (3NF) assouplit la condition de BCNF pour ne pas décomposer dans ce cas.! Un attribut est dit premier s il fait partie d une clé minimale.! Une relation n est pas en 3NF ssi on peut trouver une DF X ->A telle que X n est pas une clé et A ne fait pas partie d une clé minimale. Exemple!Dans notre exemple avec les DF AB ->C et C ->B, les clés minimales sont AB et AC.!Chaque attribut A, B, ou C est premier.!bien que C ->B contredise BCNF, le schéma A, B,C est en 3NF. 21 22 Test pour SPI Théorème de Heath Sans Perte d Information R(A 1,,A n ) Décomposition de R suivant X 1,,X k ensembles d attributs! {A 1,,A n } R i = " Xi (R) pour 1! i! k µ(r)=r 1 jointure R 2 jointure jointure R k a-t-on: R=µ(R)? 23 24

Quelques propriétés: 1. µ(r)=r 1 jointure R 2 jointure jointure R k $ R 2. " Xi (µ(r))=r i 3. µ(µ(r))=µ(r) Démonstration au tableau de 1.! R(A,B,C,D,E)! Dépendances fonctionnelles:! A -> C! B->C! C->D! DE->C! CE->A! Décomposition:! X1=AD! X2=AB! X3=BE! X4=CDE! X5=AE 25 26 X1 X2 X3 A A 1 A 1 B 31 B B 12 A 2 A 2 C B 13 B 23 B 23 D A 4 B 24 B 24 E B 15 B 25 B 25 Remplir la table Forcer les égalités jusqu à ce que les DF soient vraies Si une ligne est A 1..A n décomposition SPI Sinon, il y a perte d information, c.-à-d. µ(r) # R X4 B 41 A 2 B 33 B 34 A 5 X5 A 1 B 52 B 53 B 54 A 5 27 28 Si la ligne A 1..A n n apparaît pas, on a une relation qui satisfait les DFs et A 1..A n est dans la jointure des projections mais pas dans R Sinon, il n y a pas de perte d information, c.-à-d. µ(r) = R (explication au tableau)!théorème de Heath: une décomposition en X 1 et X 2 est SPI ssi " (X 1 %X 2 )->X 1 -X 2 ou " (X 1 %X 2 )->X 2 -X 1!Application du test précédent 29 30

Décomposition 3NF SPI et sans perte de DF Algo de base Raffinement Décomposition 3NF! Calculer une couverture minimale! Créer une table par DF + une par attribut isolé " Le résultat est 3NF! Si on veut une décomposition SPI ajouter il faut une table avec les attributs d une clé minimale " Découle du test SPI 31 32 Décomposition 3NF Décomposition 3NF! Correction de la décomposition:! DF préservées, évidemment.! 3NF. EN effet, si pb avec X->A dans YB (de Y->B) " A=B X pas clé donc X strictement inclus Y X->A peut remplacer Y->B couverture pas minimale " A"B soit Z clé minimale de YB incluse dans Y A pas dans Z car A premier et Z clé de YB Z->B et Z strictement inclus dans Y couverture pas minimale! C->P! HP->S! HE->S! HS->C! CE->N! HC->P 33 34 Décomposition efficace en BCNF SPI Le premier algo donné impose de calculer les projections des DFs, et donc leur clôture ce qui est coûteux. On peut faire mieux Prop. 1 Quelques propriétés Si on décompose R en R 1 R 2.R k SPI et si on décompose R 1 en S 1 et S 2 SPI alors la décomposition de R en S 1 S 2 R 2.R k est SPI Raison: la jointure est associative. 35 36

Prop. 2 Quelques propriétés Explication Prop. 2 Quelques propriétés Toute schéma à deux attributs est BCNF Si R n est pas BCNF alors il existe des attributs A et B tels que (R-AB) -> A Réciproque fausse: R(A,B,C) C->A C->B pas BCNF à cause de X-> A Si pas d autres attributs que X et A, X clé. Donc il existe B tq R-AB->X (réflexivité) X->A et donc (R-AB)->X ABC-AB->A et pourtant R est BCNF 37 38 Prop. 3 Quelques propriétés SI! on projette un ensemble de DF F (sa clôture) sur R 1!R et qu on obtient G! et si on projette G (sa clôture) sur R 2!R 1 ALORS On obtient la même chose que si on projette F (sa Algo décomposition BCNF SPI Z:le schéma à décomposer Init: Y:=Z Pour chaque paire d attributs A B de Y si Y-AB->A faire Y:=Y-B et C:=A Si aucune paire ne marche ou si Y =2 Y est BCNF Décomposer Z en Y et Z-C. clôture) sur R 2 39 40 Recommencer avec Z-C. Algo décomposition BCNF SPI! Cours! Heure! Salle! Prof! Etudiant! Note! C->P! HP->S! HE->S! HS->C! CE->N Attention les DFs ne sont pas conservées 41 Algo décomposition BCNF SPI Correction de l algo: Le schéma extrait est BCNF (Prop. 2) On décompose Z en XA et Z-A avec X->A (pas de perte par jointure, th. de Heath) La combinaison des décomposition SPI est SPI (Prop. 1) Les X + sont calculés avec F (Prop. 3) 42

Algo décomposition BCNF SPI Peut décomposer un schéma déjà en BCNF Identifiant Nom Départment Salaire I->N I->D I->S Comparaison 3NF BCNF Décompositions sans perte d information avec préservation des DF Décomposé en IN, ID, IS mais déjà BCNF! 44 43 Propriétés de 3NF et de BCNF! Il y a deux propriétés importantes des décompositions:!" : Sans perte d information : on peut projeter la relation de départ sur chacine des composantes et reconstruire la relation de départ. #" Préservation des dépendances fonctionnelles : on peut vérifier dans les relations projetées que les dépendances originales sont préservées. 3NF et BCNF, fin! On peut toujours mettre en BCNF sans perte d information.! On peut toujours mettre en 3NF " Sans perte d information " En préservant les Dépendances Fonctionnelles! Par contre il n y a pas toujours de forme BCNF sans perte d information et sans perte de dépendance fonctionnelle " Adresse rue ville est un exemple. 45 46