Dépendances fonctionnelles et normalisation Résumé

Documents pareils
Programmation Par Contraintes

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

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

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

I. Cas de l équiprobabilité

LE MODELE CONCEPTUEL DE DONNEES

Structures algébriques

Raisonnement par récurrence Suites numériques

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

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

D.E.S.C.F - UV 1 - Module 8 Consolidation dans les groupes de sociétés. Corrigé - Cas IG/IP/MEE

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

Modélisation des données

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

I. Ensemble de définition d'une fonction

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

Bases de Données Avancées

LE PROBLEME DU PLUS COURT CHEMIN

Introduction a l'algorithmique des objets partages. Robert Cori. Antoine Petit. Lifac, ENS Cachan, Cachan Cedex. Resume

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Année Universitaire 2009/2010 Session 2 de Printemps

OPTIMISATION À UNE VARIABLE

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

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

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

Pourquoi l apprentissage?

Chapitre 1 : Évolution COURS

6. Les différents types de démonstrations

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

I- Définitions des signaux.

Plus courts chemins, programmation dynamique

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

Par combien de zéros se termine N!?

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

C f tracée ci- contre est la représentation graphique d une

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Cours d Analyse. Fonctions de plusieurs variables

Problèmes de Mathématiques Filtres et ultrafiltres

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

Développements limités. Notion de développement limité

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

Date : Tangram en carré page

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

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Cours de Probabilités et de Statistique

Algorithmes de recherche

BACCALAUREAT GENERAL MATHÉMATIQUES

Représentation d un entier en base b

Cryptographie et fonctions à sens unique

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

La fraude à la carte bancaire

Rappel sur les bases de données

Problèmes de dénombrement.

Axiomatique de N, construction de Z

La gestion de la maintenance assistée par ordinateur et la maintenance des logiciels

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

MODE OPERATOIRE CIEL GESTION COMMERCIALE VERSION EVOLUTION BTS PME PMI

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

Solutions de stockage réseau

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

A QUOI SERVENT LES BASES DE DONNÉES?

INTRODUCTION. A- Modélisation et paramétrage : CHAPITRE I : MODÉLISATION. I. Paramétrage de la position d un solide : (S1) O O1 X

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

chapitre 4 Nombres de Catalan

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

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

Licence Sciences et Technologies Examen janvier 2010

Marchés Financiers. Cours appliqué de finance de marché. Change

REPRESENTER LA TERRE Cartographie et navigation

Le Langage De Description De Données(LDD)

Gestion de projet - contraintes, chevauchement, attente entre 2 tâches, jalons

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Statistiques Descriptives à une dimension

NF26 Data warehouse et Outils Décisionnels Printemps 2010

Programmation linéaire

Exercices et solutions

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

Taux d évolution moyen.

Cours de Master Recherche

Intelligence Artificielle Planification

VERSION ENRICHIE DU STANDARD SUR LE CLAVIER QUÉBÉCOIS (SGQRI 001)

Resolution limit in community detection

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

Chapitre 5 : Flot maximal dans un graphe

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

1. Création d'un état Création d'un état Instantané Colonnes Création d'un état Instantané Tableau... 4

Cours Fonctions de deux variables

Archivage des mails dans Outlook 2010

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

Mémo d'utilisation de BD Dico1.6

Calcul intégral élémentaire en plusieurs variables

NOTATIONS PRÉLIMINAIRES

Les bases de données

SYSTEMES ELECTRONIQUES NUMERIQUES

Les suites numériques

Exercices sur les interfaces

TP Bases de données réparties

Programmation linéaire

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Informations sur la NFS

Transcription:

Dépendances fonctionnelles et normalisation Résumé

Schéma de la relation r, noté R = nom_rel (att:dom1, att2: dom2, ) Par convention : on omet les domaines : =>Ex. VILLE= (code, nom, adr) Schéma de Base de données relationnelle = ensemble des schémas de relations

Les dépendances fonctionnelles (df) 1. Dépendance fonctionnelle (df) : Soit r une relation de schéma R = (X, Y, Z) où X, Y et Z sont des ensembles d'attributs. On dit qu'il existe une df entre l'ensemble d'attribut X et l'ensemble d'attributs Y, si la connaissance des valeurs des attributs de X détermine de manière unique la connaissance des valeurs des attributs de l'ensemble Y. On note X Y.

2. Df élémentaire : Soit r une relation de schéma R = (X, Y) où X, Y sont des ensembles d'attributs et Z inclus dans X. On dit que la df X Y est élémentaire s'il n'existe pas un sousensemble d'attributs Z inclus dans X tel que Z Y est une df. c à d X Y est une df élémentaire si : Z Y n'est pas une df, avec Z X Exemple : Soit R = (A, B, C) où A, B, C sont des attributs, on a la df (A, B) C est élémentaire s'il n'existe pas de df : A C ou B C, c à d que C doit dépendre du couple (A, B) entier.

3. Df directe : Soit r une relation de schéma R = (X, Y) où X, Y sont des ensembles d'attributs et A un attribut de R. On dit que la df X Y est directe s'il n'existe pas un attribut A de R tel que X A et A Y soient des df, c à d qu'il ne faut pas qu'il y ait de df transitive. Exemple : Soit R = (A, B, C), où A, B, C sont des attributs. On a la df : A C est directe s'il n'existe pas un attribut D tel que : A D et D C

Propriétés des df : soit R un schéma relationnel muni d un ensemble F de df. Par convention, on note par XY l'union des ensembles d attributs X et Y On note X Y leur différence : Si X={A,B} et Y = {B,C} alors X Y = {A} On appelle partie stricte Y d un ensemble X, tout sous ensemble de cet ensemble non égal à lui, c à d Y X. Implication de df : la df X Y est impliquée par F si toute relation r de R qui vérifie F vérifie la df X Y. On note : F ==> X Y Fermeture de F : (notée F + ) = ensemble des df impliquées par F. => On obtient la fermeture en appliquant des règles.

Règles d Armstrong a) Réflexivité : Si Y est contenu dans X, alors la df X Y est vérifiée. (df triviale) b) Augmentation : pour tout Z inclus dans R, si la df X Y est vérifiée, alors la df XZ YZ l est aussi, soit X Y ==> XZ YZ. c) Transitivité : Si les df X Y et Y Z sont vérifiées, alors la df X Z l est aussi. Soit {X Y et Y Z } ==> X Z

Rmq : le calcul de la fermeture à l'aide des règles d'armstrong est fastidieux. D'où des Règles supplémentaires d) additivité : {X Y et X Z } ==> X YZ. e) Pseudo transitivité : {X Y et WY Z } ==> XW Z. f) Décomposition : X Y ==> X Z si Z est inclus dans Y.

Graphe de dépendances fonctionnelles Les nœud du graphes sont les attributs de la relation Les arcs du graphes sont les df Exemple : Soient les relations : Buveurs (nb, nom, prenom, ville) Commandes (nc, datec, nv, qtec, nb) Expeditions (nc, dateexp, qteexp) On a les df : nb nom, nb prenom, nb ville nc datec, nc nv, nc qtec, nc nb (nc, dateexp,) qteexp

nc nb datec nv qtec nom prenom ville dateexp qteexp

Fermeture transitive d'un ensemble F de df = F + F + = F U {df obtenues par les axiomes} nc nb Nouvelles df obtenues par transitivité datec nv qtec nom prenom ville dateexp qteexp

Clé d un schéma de relation : soit R = (A1, A2,, An) un schéma de relation, F un ensemble de df sur R et X un ensemble d attributs de R. On dit que X est une clé de R, muni de F si une des conditions suivantes est satisfaite : la df X R F + (c à d X est en df avec tout R) F => X R toute relation r sur R qui satisfait F vérifie X R Rmq : Donc, la clé d'une relation est en df avec tous les attributs de la relation, par définition.

Clé minimale d un schéma de relation : soit R = (A1, A2,, An) un schéma de relation, F un ensemble de df sur R et X un ensemble d attributs de R. On dit que X est une clé minimale de R muni de F, ssi : X est une clé et aucun sous ensemble de X n'est une clé. Exemple : R = (C1, C2, A1, A2) est une relation. C1, C2, A1, A2 sont des attributs de R, on dit que (C1, C2) est une clé minimale de R si : (C1, C2) est une clé, c à d (C1, C2) est en df avec A1 et avec A2, et ni C1, ni C2 ne sont des clés

Formes normales Les formes normales sont utiles pour supprimer (ou au moins minimiser) les redondances dans les relations. Relations BCNF Relations 3NF Relations 2NF Relations 1NF Toutes les relations

Formes normales Les relations sont classées par rapport aux dépendances fonctionnelles. On distingue : Toutes les relations : un nom de relation avec ses attributs (qui peuvent être multi valués) Les relation en 1ère forme normale (1NF) : une relation est en 1ère forme normale (ou normalisée) si tous ses attributs sont atomiques, monovalués (chaque attribut possède une seule valeur) La 2ème forme normale (2NF), pour les relations qui ont la clé composée de plusieurs attributs : une relation est en 2ème forme normale si elle est en 1ère forme normale et que aucun de ses attribut non clé ne dépend d'une partie de la clé, c à d toutes les df sont élémentaires.

La 3ème forme normale (3NF) : une relation est en 3ème forme normale si elle est en 2ère forme normale et aucun attribut non clé ne dépend d'un autre attribut non clé, c à d qu'il n'y a pas de df transitives. La forme normale de Boyce Codd (BCNF) : une relation est en BCNF si elle est en 3ème forme normale et aucun attribut non clé n'est en df avec la clé (ou avec une partie de la clé).

Classification des formes normales Une rerlation en BCNF est aussi en 3NF Une relation en 3NF est aussi en 2NF Une relation en 2NF est aussi en 1NF, Relations BCNF Relations 3NF Relations 2NF Relations 1NF Toutes les relations

Relation non normalisée (non 1 NF) : Exemples Personne (nump, nomp, nom enf1, date n1, nom enf2, date n2, ) Relations normalisées (1NF) : Personne (nump, nomp) Enfants (nump, nom enf, date n) Relation non 2NF (car ref p prix u) : Stockage (ref p, num depot, qte stockee, prix unit) Relations 2NF : Stockage (ref p, num depot, qte stockee) Produit (ref p, prix unit) Relation non 3NF (car cod entrep nom entrep) : Relations 3NF : Personne (nump, nomp, cod entrep, nom entrep) Personne (nump, nomp, cod entrep) Entreprise (cod entrep, nom entrep)

Rmq : il existe d'autres formes normales, mais la plupart des redondances que l'on peut retrouver dans les relations sont évitées si les relations sont en 3NF.

etc... Redondances possibles Si non 1NF : Personne (num_p, nom_p, nom_enf1, date_nais1, nom_enf1, date_nais1,...) 1 'MARC', 'Enf1', 10/10/2005, 'Enf2', 13/06/2007,.. (On ne sait pas combien) 2 'ALAIN', 'E1', 14/04/1998, 'E2', 02/09/2000,. => 1NF : Personne (num_p, nom_p) Enfant (num_p, nom_enf, date_nais) 1 'MARC' 2 'ALAIN' 3 'JACQUES' etc... 1 'Enf1' 10/10/2005 1 'Enf2' 13/06/2007 2 'E1 14/04/1998

Redondances possibles Si non 2NF : usine (num_usine, num_atelier, nom_usine, nom_atelier, adr_usine) 10 100 'US1' 'A1' 'PARIS' 10 101 'US1' 'A2' 'PARIS' 10 102 'US1' 'A3' 'PARIS' => 2NF usine (num_usine, nom_usine, adr_usine) atelier (num_usine, num_atelier, nom_atelier) relation usine : relation atelier : 10 'US1' 'PARIS' 10 101 'A1' 10 102 'A2' 10 100 'A3' Rmq : idem pour 3NF, BCNF, etc...

A partir du graphe des df : On peut déduire la clés des relations, et La décomposition de la relation en relations en 3NF