Anomalies et Redondance. Erreurs de conception et Anomalies. Exemple

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

Programmation linéaire

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

* 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

Structures algébriques

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

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

Les Angles. I) Angles complémentaires, angles supplémentaires. 1) Angles complémentaires. 2 Angles supplémentaires. a) Définition.

Problème 1 : applications du plan affine

Optimisation des fonctions de plusieurs variables

Activités numériques [13 Points]

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

DOCM Solutions officielles = n 2 10.

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)

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

Algèbre binaire et Circuits logiques ( )

Programmation linéaire

La médiatrice d un segment

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

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

Continuité et dérivabilité d une fonction

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

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

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

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.

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

Optimisation Discrète

Fonctions homographiques

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.

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

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 =

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

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

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

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

Bases de Données Avancées

Si deux droites sont parallèles à une même troisième. alors les deux droites sont parallèles entre elles. alors

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

I. Ensemble de définition d'une fonction

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

Limites finies en un point

CONJUGUÉ D'UN POINT PAR RAPPORT À UN TRIANGLE

CHAPITRE VIII : Les circuits avec résistances ohmiques

LE PRODUIT SCALAIRE ( En première S )

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

5 ème Chapitre 4 Triangles

Exercice 6 Associer chaque expression de gauche à sa forme réduite (à droite) :

Le seul ami de Batman

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

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

BD et XML : Exercices

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

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Chapitre 5 : Flot maximal dans un graphe

Analyse des incidents

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

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

ARBRES BINAIRES DE RECHERCHE

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

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

1 Introduction au codage

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Les droites (d 1 ) et (d 2 ) sont sécantes en A Le point A est le point d intersection des 2 droites

6. Les différents types de démonstrations

Cours d Analyse. Fonctions de plusieurs variables

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

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

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

Polynômes à plusieurs variables. Résultant

Corrigé du baccalauréat S Pondichéry 12 avril 2007

REGLEMENT JEU QUIZZ SMS +

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

Capes Première épreuve

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

Méthode d analyse Merise

TRAIT FALCIFORME. Clinique spécialisée d hématologie pédiatrique

Validation de la création des groupes ABM et ajout de l utilisateur SASDEMO

CHAPITRE 2 SYSTEMES D INEQUATIONS A DEUX INCONNUES

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

Biostatistiques Biologie- Vétérinaire FUNDP Eric Depiereux, Benoît DeHertogh, Grégoire Vincke

Cours Premier semestre

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

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

Probabilités. C. Charignon. I Cours 3

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

COMPTABILITÉ EN LIGNE MANUEL DU MODULE BANCAIRE

Priorités de calcul :

CHAPITRE I FONCTIONS STATISTIQUES, DE DATE & HEURE... 1

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

Taux d évolution moyen.

Mise à jour du STAN S31 au logiciel R6F

Informatique et Systèmes d'information

Données Réparties. Thibault BERNARD.

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

Guide méthodologique Utilisation de l état de contrôle de la participation aux bénéfices C22

Chapitre 7. Récurrences

SYSTÈMES DE CONFÉRENCE. Système de conférence analogique CDS Système de conférence numérique DCS

Les Cheminements piétons

Transcription:

Transparents de Jeffrey Ullman (Stanford University) Traduits/adaptés par C. Retoré (U. Bordeaux 1) Formes Normales et Normalisation Anomalies Boyce-Codd BCNF 3 e Forme Normale 3NF Anomalies et Redondance Types d anomalies d erreurs de conception Anomalies!Bon schéma relationnel: " pas de redondance (c.-à-d. 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. 1 2 3 de schéma mal conçu Drinkers(name, addr, beersliked, manf, favbeer) Erreurs de conception et Anomalies Forme Normale de Boyce Codd BCNF name addr beersliked manf favbeer Janeway Voyager Bud A.B. WickedAle Janeway??? WickedAle Pete s??? Spock Enterprise Bud??? Bud Les données sont redontantes: les Dépendances Fonctionnelles name -> addr favbeer beersliked -> manf. 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 Descruction: si personne n aime Bud, on perd le faut que son fabricant Anheuser-Busch. 4 5 déterminent les??? 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) Drinkers(name, addr, beersliked, manf, favbeer) FD s: 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) Autre 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. 7 8 9

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é. Décomposer R en suivant X -> B! Remplacer R par deux relations dont les attributs sont: 1. R 1 = X +. 2. 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 Schéma de la Décomposition R-X + X X + -X R 2 R R 1 10 11 12 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: 1. Drinkers1(name, addr, favbeer), 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., 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: 1. Drinkers3(beersLiked, manf) 2. Drinkers4(name, beersliked) 2. Drinkers2(name, beersliked, manf) 13 14 15, fin! Décomposition de Drinkers : 1. Drinkers1(name, addr, favbeer) 2. Drinkers3(beersLiked, manf) 3. 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. " (, 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.! avec A = adresse, B = ville, C = code postal sur le transparent suivant. 19 Ville Une DF non préservée Code postal Adresse 75005 75006 Adresse Ville Code postal 75005 75006 Code postal 75005 75006 Bien que toutes les DF soient vérifiées 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. 21!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. 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 X X R k Jointure notée X, a-t-on: R=µ(R)? 22 23 24 : 1. µ(r)=r 1 X X 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 X1 X2 X3 X4 A A 1 A 1 B 31 B 41 B B 12 A 2 A 2 A 2 C B 13 B 23 B 23 B 33 D A 4 B 24 B 24 B 34 E B 15 B 25 B 25 A 5 X5 A 1 B 52 B 53 B 54 A 5 25 26 27

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 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 28 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 Décomposition 3NF! Correction de la décomposition:! DF préservées, OK! 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 31 32 33 Décomposition 3NF Décomposition efficace en BCNF SPI! C->P! HP->S! HE->S! HS->C! CE->N! HC->P 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 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. 34 35 36

Prop. 2 Explication Prop. 2 Prop. 3 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 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 clôture) sur R 2 39 Z:le schéma à décomposer Init: Y:=Z Pour chaque paire d attributs A B 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.! Cours! Heure! Salle! Prof! Etudiant! Note! C->P! HP->S! HE->S! HS->C! CE->N Attention les DFs ne sont pas conservées Recommencer avec Z-C. 40 41 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 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 Propriétés de 3NF et de BCNF! Il y a deux propriétés importantes des décompositions: 1. : Sans perte d information : on peut projeter la relation de départ sur chacine des composantes et reconstruire la relation de départ. 2. Préservation des dépendances fonctionnelles : on peut vérifier dans les relations projetées que les dépendances originales sont préservées. Décomposé en IN, ID, IS mais déjà BCNF! 44 43 45

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. 46