Fermeture transitive. La normalisation d une relation va reposer sur les rapports qui existent entre les identifiants et les DF de cette relation.



Documents pareils
2.4 Représentation graphique, tableau de Karnaugh

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

Bases de Données. Plan

Continuité et dérivabilité d une fonction

Gestion du parc informatique des collèges du département du Cher. Manuel d utilisation de la solution de gestion de Parc

Les bases de données

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

Structures algébriques

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

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

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 =

Limites finies en un point

Année Universitaire 2009/2010 Session 2 de Printemps

Axiomatique de N, construction de Z

TP Bases de données réparties

Langage SQL : créer et interroger une base

CHAPITRE 2 SYSTEMES D INEQUATIONS A DEUX INCONNUES

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

Fonctions homographiques

Exercices et solutions

BAREME sur 40 points. Informatique - session 2 - Master de psychologie 2006/2007

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.

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

SOLUTIONS COMMANDES À DISTANCE

5 ème Chapitre 4 Triangles

Campus Afrique Centrale Un Centre d Excellence pour la Formation Professionnelle aux métiers de l eau, de l énergie et de l environnement

ETUDES DE CAS N 1. Equipement logiciel : Gestion commerciale et C.R.M COMMENCE sur 1 Serveur + 3 postes : deux en réseau local, et un à distance.

Etude d Algorithmes Parallèles de Data Mining

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

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

Polynômes à plusieurs variables. Résultant

Conditions Générales d Intervention du CSTB pour la délivrance d une HOMOLOGATION COUVERTURE

Bases de Données Avancées

I. Ensemble de définition d'une fonction

Module BDR Master d Informatique (SAR)

Créer une base de données

LE MODELE CONCEPTUEL DE DONNEES

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

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

SESSION 2014 ÉPREUVE À OPTION. (durée : 4 heures coefficient : 6 note éliminatoire 4 sur 20)

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

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

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

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

Modélisation des données

L exclusion mutuelle distribuée

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Activités numériques [13 Points]

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

OUTILS EN INFORMATIQUE

16H Cours / 18H TD / 20H TP

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

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

DSN-CTL-V01R02 Version 1.4.3

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

À travers deux grandes premières mondiales

Jean-François Boulicaut & Mohand-Saïd Hacid

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

INTRODUCTION AU DATA MINING

Introduction au maillage pour le calcul scientifique

Bases de données documentaires et distribuées Cours NFE04

Sécurité par compression! ReSIST Gilles RICHARD IRIT

Projet : Réalisation d une base de. données. Sujet : Gestion des ressources humaines. Logiciel : Microsoft Access

TP3 : Creation de tables 1 seance

Vecteurs. I Translation. 1. Définition :

UNIVERSITE PARIS 8 VINCENNES SAINT-DENIS DOSSIER DE CANDIDATURE A UN EMPLOI ADMINISTRATIF À L'INSTITUT D'ENSEIGNEMENT A DISTANCE (IED)

A l'attention du Directeur général, du Directeur médical, du responsable de la fonction SMUR

Les chaînes de caractères

Algorithmes de recherche

Université de la Méditerranée, Aix Marseille II, à Marseille, Faculté de pharmacie FRANCE

Solution logicielle IDEA

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Pour chaque projet est indiqué son titre, le ou les laboratoires participants ainsi que le coordinateur

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

Algorithmique et Programmation Fonctionnelle

Le Langage De Description De Données(LDD)

SPECIFICATION DES ECHANGES DE DONNEES INFORMATISES (E.D.I.)

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

Note de cours. Introduction à Excel 2007

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Modèle conceptuel : diagramme entité-association

Une gamme facile à poser, des modèles durs à cuire!

Optimisation des fonctions de plusieurs variables

INFORMATIONS DIVERSES

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

Correction TD algorithmique

ANNEXE DESCRIPTIVE (déclinaison française du «Supplément au Diplôme»)

NORMES FRANÇAISES. I. Garde-corps pour bâtiments d'habitation et établissements recevant du public

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

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Sanitaires Lavabo accessible

Aide pour configurer un ordinateur sur le Wi Fi de l'université avec Windows Vista

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

Problème 1 : applications du plan affine

CORRECTION EXERCICES ALGORITHME 1

Le langage SQL Rappels

MODE D EMPLOI DU LOGICIEL AURELIE

Algorithmes d'apprentissage

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Transcription:

Problématique Dépendances fonctionnelles Fermeture transitive Couverture minimale 130 DF et Clé DF et Clé La normalisation d une relation va reposer sur les rapports qui existent entre les identifiants et les DF de cette relation. Clé primaire : intuitif jusqu'a maintenant. Une clé d'une relation R(A1,..., An) est un sous ensemble X des attributs de la relation R tel que les deux conditions ci-dessous sont réunies : 1. X A1,..., An 2. Il n'existe pas de Y X tel que Y A1,..., An Moins formellement : une clé est un ensemble minimal d'attributs qui détermine tous les autres.

Problématique Dépendances fonctionnelles Fermeture transitive Couverture minimale 131 DF et Clé DF et Clé Etant données une relation et l une de ses clés, on appelle : attribut clé un attribut qui appartient à cette clé, attribut non clé, un attribut qui n y appartient pas. Super clé: Soit R(U) un schéma relationnel et X U un ensemble d attributs X est une super clé de R si la dépendance X U est déductible de F (i.e. appartient à F+).

Problématique Dépendances fonctionnelles Fermeture transitive Couverture minimale 132 DF et Clé DF et clé Calcul de la clé d une relation Soit R(U) un schéma relationnel et X U un ensemble d attributs Pour calculer une clé, on utilise l algorithme suivant: 1. on cherche un X tel que X+=U (X est une super clé) 2. X est une clé, s il n existe pas Y X tel que Y+=U Remarque: Si X vérifie (1) et pas (2) on dira que X est une super clé

Problématique Dépendances fonctionnelles Fermeture transitive Couverture minimale 133 DF et Clé DF et clé Exemple Soit R(A,B,C,D,E) un schéma relationnel et F un ensemble de DF: A,B E A,D B B C C D (AC)+= ACDBE A+= A et C+=CD AC est une clé candidate et ABC est une super clé Mais il y a d autres clés candidates : AB et AD

Problématique Dépendances fonctionnelles Fermeture transitive Couverture minimale 134 DF et Clé DF et clé Comment déterminer toutes les clés? Attributs nécessaires: A est un attribut nécessaire si: A apparaît uniquement du coté gauche des DF Ou A est un attribut de la relation mais n apparait dans aucune DF. Attributs inutiles: A est un attribut utile si A apparait uniquement du coté droit de la DF Attributs intermédiaires: si A n est ni nécessaire ni utile.

Problématique Dépendances fonctionnelles Fermeture transitive Couverture minimale 135 DF et Clé Algorithme de Calcul de toutes les clés Données: R(A1, A2,...,An) et F un ensemble de DF Résultat: K={K1, K2,...,Kt} toutes les clés candidates de R Algorithme: Etape 1: calculer la couverture minimale de F Etape 2 : partitionner les attributs de R en des attributs: nécessaires, inutiles et intermédaires. Soit X={C1,...,Cl} ens des attributs nécessaires Soit Y={B1,...,Bk} ensemble des attributs inutiles soit M={A1,...,An}- (X Y) ens des intermédaires Si X={}, aller à l étape 4. Etape 3: calculer X+ Si X+=R alors K={X} FinSi Fin

Problématique Dépendances fonctionnelles Fermeture transitive Couverture minimale 136 DF et Clé Algorithme de Calcul de toutes les clés (suite) Etape 4: Soit L={Z1,Z2,...,Zn} la liste des sous ensembles de M auxquels on ajoute les attributs de X. Trier L par ordre croissant K={}; i 0 Tant que L non vide faire i i+1; Supprimer le premier élément Z de L Calculer Z+ Si Z+=R alors K K { Z }; Pour tout Z j L, si Z Z j alors L L-{Z j } FinSi fin Pour FinSI Fin

Problématique Dépendances fonctionnelles Fermeture transitive Couverture minimale 137 DF et Clé Calcul de toutes les clés R(A,B,C,D,E, G) et F un ensemble de DF: A,B C,D ; A B ; B C ; C E ; B,D A Étape1 : calcul de couverture minimale: A D ; A B ; B C ; C E ; B,D A Étape 2: X= G (G n apparaît dans aucne DF) Etape 3: G+= G, G n est pas une clé

Problématique Dépendances fonctionnelles Fermeture transitive Couverture minimale 138 DF et Clé Calcul de toutes les clés Étape 4 : i Z Z+ L K 0 - - {AG, BG, CG, DG, ABG, ACG, ADG, BCG, BDG, CDG, ABGC, ABDG, ACDG, BCDG, ABCDG} i Z Z+ L K 1 AG ABCDEG=R {BG, CG, DG, BCG, BDG, CDG,BCDG} {AG} {} i Z Z+ L K 2 BG BCEG R {CG, DG, BCG, BDG, CDG,BCDG} {AG} i Z Z+ L K 3 CG CEG R {DG, BCG, BDG, CDG,BCDG} {AG}

Problématique Dépendances fonctionnelles Fermeture transitive Couverture minimale 139 DF et Clé Calcul de toutes les clés Étape 4 : i Z Z+ L K 4 DG DG R {BCG, BDG, CDG,BCDG} {AG} i Z Z+ L K 5 BCG BCEG R {BDG, CDG,BCDG} {AG} i Z Z+ L K 6 BDG ABCDEG=R {CDG} {AG, BDG} i Z Z+ L K 4 CDG CEDG R {} {AG, BDG}

Problématique Dépendances fonctionnelles Fermeture transitive Couverture minimale 140 DF et Clé DF et clé Exercice: Soit R1 (A, B, C, D, E, G) une relation avec l'ensemble F de dépendances suivant : A,B C ; A,B D ; A,B E ; A,B G ; B C ; D E ; D G 1. Donner la couverture minimale On supprime A,B C car on a, B C et B est inclus dans AB Ensuite on a des redondances suite à des relations de transitivité: A,B D avec D E nous donne A,B E, donc on peut supprimer A,B E idem pour A,B G A,B D ; B C ; D E ; D G 2. Quelle est la clé de R1? La clé de R1 est (A,B)

141 NORMALISATION D UNE RELATION

3NF 142 BCNF Comment normaliser un schéma relationnel? Ncli Nom Adresse Ncom Npro Qte Prix-U Relation universelle Le point de départ est la relation universelle Dépendances fonctionnelles Algorithme de décomposition (Normalisation) R1( ) R2( ) Chacune des formes normales peut être obtenue au moyen d'algorithmes de décomposition. Le but est d'obtenir, en sortie, une représentation canonique des données présentant un minimum de redondances à l'intérieur de chaque relation et un maximum d'indépendance entre les différentes relations. Le processus de normalisation consiste à remplacer une relation donnée par certaines projections afin que la jointure de ces projections permette de retrouver la relation initiale. 142

3NF 143 BCNF Décomposition (2) Une décomposition d'une relation R(a1, a2,..., an) est son remplacement par une collection de relations R1, R2,... Rm obtenues par projection sur R et telle que l'union de leurs attributs contient tous les a i (par jointure naturelle). Critères de bonne décomposition Décomposition sans perte d'informations Décomposition préservant les DF

3NF 144 BCNF Décomposition sans perte d une relation Soit la propriété suivante [Delobel, 1973] R(A,B,C,D): A B R = R[A,B] * R[A,C,D] Théorème de Heath: décomposition sans perte Soit une relation R(U) et une partition {A, B, C} de U. Si on a A B alors la décomposition formée des deux relations R[A,B] et R[A,C]est sans perte de R(A). R(A,B,C): A B R1(A,B) R2 (A,C) R(déterminant, déterminé, résidu) R1(déterminant, déterminé) R2(déterminant, résidu)

3NF 145 BCNF Décomposition sans perte d information Considérons Achat (CLIENT, PRODUIT, PRIX) et PRODUIT PRIX Client Produit Prix André Sucre 2,2 Marc Sucre 2,2 Marc Sel 1,4 Anne Savon 1,4 Anne Sel 1,4 En décomposant selon la DF, on sépare 2 types de faits en les isolant chacun sous la forme d une relation autonome. ACHAT (CLIENT, PRODUIT, PRIX) PRODUIT PRIX TARIF (PRODUIT, PRIX) ACHAT (CLIENT, PRODUIT) ACHAT[PRODUIT] TARIF [PRODUIT]

3NF 146 BCNF Décomposition préservant les DF Décomposition préservant les DF La Décomposition R1(A1, F1), R2(A2, F2) de R (A, F) est une décomposition qui préserve les dépendances fonctionnelles si F +=(F1 F2)+ Exemple: Soit la relation Poste (Ville, Rue, Code) et F = {V,R C ; C V} Ville Rue Code Paris St Michel 75005 Paris Champollion 75005

3NF 147 BCNF Décomposition préservant les DF 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 Ville Code Paris 75005 Code Rue 75005 St Michel 75005 Champollion

3NF 148 BCNF Tester si une Décomposition préserve les DF Algorithme Données : un schéma relationnel R(A, F) et une décomposition { R1(A1, F1),..., Rn(An, Fn)} avec F l ensemble des dépendances fonctionnelles et A l ensemble des attributs de R Résultat : B booléen vrai/faux Algo : 1. B vrai 2. Pour toute DF X Y de F faire : Si Y X+ Fi alors B B sinon B faux 3. Fin

3NF 149 BCNF NORMALISATION Normaliser une relation consiste à lui appliquer une ou plusieurs décompositions afin d éliminer les problèmes de redondance interne dont elle est éventuellement le siège. A l aide de la notion de clé et de dépendance, on définit les formes normales d un schéma relationnel. Existence de 6 formes normales (1NF,,3NF, 4NF, 5NF et la Forme normale de Boyce-Codd, ) et d autres les trois premières pour la décomposition sans perte

3NF 150 BCNF Première forme normale (1nf) Une relation est en première forme normale ssi tout attribut contient une valeur atomique. Les listes de données, les tableaux ou tout autre structure plus complexe ne peuvent être des valeurs d'attributs. Exemple ETUDIANT NUM NOM PRENOM 1 Dupont Pierre Jean 2 Durant Marie 3 Dupré Sylvie Claudine Claire LIVRE CODE TITRE AUTEUR 100 L art des BD Miranda Busta

3NF 151 BCNF Première forme normale (1nf) 2 solutions: 1 ère solution: Créer autant d attributs que le nombre maximum de valeurs de l attribut multi-valué (stockage horizontal). ETUDIANT NUM NOM PRENOM1 PRENOM2 PRENOM3 1 Dupont Pierre Jean NULL 2 Durant Marie NULL NULL 3 Dupré Sylvie Claudine Claire Tout est dans la même relation (pas de jointure) Stockage des valeurs nulles, impossibilité de stocker plus de valeurs de prévu 151

3NF 152 BCNF Première forme normale (1nf) 2 ème solution: Créer une nouvelle relation (décomposition) comportant la clef de la relation initiale et l attribut multi-valué puis éliminer l attribut multi-valué de la relation initiale (stockage vertical). LIVRE CODE TITRE AUTEUR 100 L art des BD Miranda Busta LIVRE CODE TITRE 100 L art des BD AUTEUR CODE AUTEUR 100 Miranda pas de valeur nulle, pas de limite de stockage Opération de jointure, lourdeur des auto-jointures 100 Busta 152

3NF 153 BCNF Deuxième forme normale (2nf) La deuxième forme normale permet l élimination de la redondance Ne concerne que les relations à clé primaire composée (composée de plusieurs attributs) Une relation est en ssi: Elle est en 1NF Tout attribut n'appartenant pas à une clé (attribut non clé) ne dépend pas (DF seulement) d'une partie de clé

3NF 154 BCNF Deuxième forme normale (2nf) Enseignement (Université, CODE_MATIERE, Nom, Volume_Horaire, Région) Université Code_Matiere Nom Volume_ horaire Aix Marseille ENSIN5U1 Algorithmique avancée Aix Marseille ENSIN5U2 Programmation et conception orientée Objet Pierre et Marie Curie Conservatoire national des arts et métiers Pierre et Marie Curie Dépendances fonctionnelles: Université, Code_Matiere NOM Université Région Région 60 PACA 60 PACA 31003 Algorithmique 50 Île-de-France NFE113 Conception de bases de données 30 Île-de-France 3I014 Réseaux 60 Île-de-France??

3NF 155 BCNF Deuxième forme normale (2nf) Problème: Saisie inutile des couples (Aix Marseille, PACA) (Pierre et Marie Curie, Ile de France) à l insertion d un nouvelle UE au sein d une même université. Enseignement (Université, CODE_MATIERE, Nom, Volume_Horaire, Région) Université Code_Matiere Nom Volume_ horaire Aix Marseille ENSIN5U1 Algorithmique avancée Aix Marseille ENSIN5U2 Programmation et conception orientée Objet Pierre et Marie Curie Conservatoire national des arts et métiers Pierre et Marie Curie Région 60 PACA 60 PACA 31003 Algorithmique 50 Île-de-France NFE113 Conception de bases de données 30 Île-de-France 3I014 Réseaux 60 Île-de-France redondance

3NF 156 BCNF Deuxième forme normale (2nf) Solution: Regrouper dans une relation les attributs dépendant de la totalité de la clé, et conserver cette clé pour cette table Regrouper dans une autre relation les attributs dépendant d'une partie de la clé, et en faire la clé primaire de la nouvelle relation Soit R(K1,K2,X,Y) et K1 X. R n est pas en car X ne dépend que de K1 : Décomposition en 2 relations R1(K1,K2,Y) et R2(K1,X)

3NF 157 BCNF Deuxième forme normale (2nf) Enseignement (Université, CODE_MATIERE, NOM, VOLUME_HORAIRE, Région) avec Université, Code_Matiere NOM Université Région COURS (Université, CODE_MATIERE, NOM, VOLUME_HORAIRE) Université Code_Matiere Nom Volume_horaire Aix Marseille ENSIN5U1 Algorithmique avancée 60 Aix Marseille ENSIN5U2 Programmation et conception orientée Objet Pierre et Marie Curie 31003 Algorithmique 50 Conservatoire national des arts et métiers NFE113 Conception de bases de données 30 Pierre et Marie Curie 3I014 Réseaux 60 UNIVERSITE (Université, Région) Université Région 60 Aix Marseille Pierre et Marie Curie Conservatoire national des arts et métiers PACA Île-de-France Île-de-France

3NF 158 BCNF Troisième forme normale (3nf) Définition: Une relation est en 3NF ssi: Elle est en Tout attribut n appartenant pas à la clé (attributs non-clé) n est pas en dépendance fonctionnelle directe avec un ensemble d attributs non-clé. Pour montrer qu une relation est en 3NF, il faut montrer que pour toute dépendance de F: A X, soit A est une superclé, soit X appartient à une clé (attribut clé). Théorème: toute relation R admet au moins une décomposition en 3NF telle que: La décomposition préserve les DF Et dont toutes les composantes sont en 3NF La troisième forme normale interdit donc les dépendances fonctionnelles dites «transitives» entre les champs

3NF 159 BCNF Troisième forme normale (3nf) Enseignement (Université, CODE_MATIERE, Responsable, Statut) Université Code_Matiere Responsable Statut Aix Marseille ENSIN5U1 Sequeira Jean Professeur Aix Marseille ENSIN5U2 Prcovic Nicolas Maître de conférences Pierre et Marie Curie 31003 Sidhoum Safia Maître de conférences Conservatoire national des arts et métiers NFE113 Isabelle WATTIAU Professeur Pierre et Marie Curie 3I014 Thai kim-loan Maître de conférences Les dépendances fonctionnelles: Université, code_matiere Responsable Université, code_matiere Statut Responsable Statut?? 3NF??

3NF 160 BCNF Troisième forme normale (3nf) Comment passer en 3NF? Décomposer la relation de départ en 2 relations La nouvelle relation créée a pour clé le champ dont dépendent les autres champs qui constituent ainsi la dépendance transitive Exemple Voiture(NV, marque, type, puissance, couleur) est en 2FN mais pas en 3FN car Type Marque et Type puissance. Solution: Voiture(NV, type, couleur) et Modèle(type, marque, puissance) sont 3FN.

3NF 161 BCNF Troisième forme normale (3nf) Enseignement (Université, CODE_MATIERE, Responsable, Statut) R1 (Université, Code_Matiere, Responsable) Université Code_Matiere Responsable Aix Marseille ENSIN5U1 Sequeira Jean Aix Marseille ENSIN5U2 Prcovic Nicolas Pierre et Marie Curie 31003 Sidhoum Safia Conservatoire national des arts et métiers NFE113 Isabelle WATTIAU Pierre et Marie Curie 3I014 Thai kim-loan R2 (Responsable, Statut) Responsable Statut Sequeira Jean Prcovic Nicolas Sidhoum Safia Isabelle WATTIAU Thai kim-loan Professeur Maître de conférences Maître de conférences Professeur Maître de conférences