51
1 Normalisation Inventé et théorisé par Ted Codd (1923-2003) Eric Boniface NFE113 Administration et configuration des bases de données - 2010

Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

  • Upload
    lekien

  • View
    235

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

1

NormalisationInventé et théorisé par Ted Codd (1923-2003)

Eric Boniface

NFE113 Administration et configuration des bases de données - 2010

Page 2: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

2

Sommaire

� Objectifs

� Dépendance fonctionnelle

� 1FN, 2FN, etc.

Page 3: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

3

Normalisation

� Permet de définir une méthode de conception de "bonnes" tables, c'est-à-dire sans redondances et sans perte d'information

� Redondances et erreurs

titre année nomMES prénomMES AgeAlien 1979 Scott Ridley 66

Vertigo 1958 Hitchcock Alfred 110Psychose 1960 Hitchcock Alfred 110

Kagemusha 1980 Kurosawa Akira 99Volte-face 1997 Woo John 63

Pulp Fiction 1995 Tarantino Quentin 46Titanic 1997 Cameron James 55

Sacrifice 1986 Tarkovski Andrei 77

Page 4: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

4

Normalisation : pourquoi ?

� Pour éliminer les redondances

� Pour mieux comprendre les relations sémantiques entre les données

� Pour éviter les incohérences de mise à jour

� Pour éviter, autant que possible, les valeurs nulles

Page 5: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

5

Normalisation : comment ?

� Approche par décomposition� A partir d’une table contenant tous les attributs� Décomposer jusqu’à ce qu’il n’y ait plus de redondances

� Approche par synthèse� A partir de l’ensemble des attributs� Et des dépendances fonctionnelles� Constituer les tables

� Processus itératif (1FN, puis 2FN, etc.)

Page 6: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

6

Normalisation : rappel

� Soient R (A1, A2, …, An) et S (B1, B2, …, Bp) deux relations; la jointure de R et S est la relation T qui a pour attributs l'union des attributs de R et S, et pour tuples l'ensemble des tuples construits à partir de R et S sur les valeurs identiques des attributs communs

� Notation :

Page 7: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

7

Normalisation

Décomposition sans perte� La décomposition de R en R1, R2, …, Rn est sans

perte si, pour toute extension de R :

Page 8: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

8

Sommaire

� Objectifs

� Dépendance fonctionnelle

� 1FN, 2FN, etc.

Page 9: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

9

Définition : les attributs A1,…,An déterminent fonctionnellement l'attribut B si à un n-uplet (a1,…, an) de valeurs de A1,…,An correspond au plus une valeur b de B� Notation : A1 … An -> B� Exemple

code -> libellé car un cours a toujours le même libellécode -> professeur si un cours est toujours donné par le même professeurcode, trimestre -> professeur si un cours un trimestre donné est donné par un professeurcode -> trimestre si un cours est donné un trimestre maximum

Dépendance fonctionnelle

Page 10: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

10

� La notion de dépendance fonctionnelle (df) est liée àla sémantique des données

� Pour déterminer si une dépendance fonctionnelle est vraie, il faut raisonner sur la sémantique de la table et non sur son contenu à l’instant t

� Le contenu de la table peut permettre d’invalider certaines df

Dépendance fonctionnelle

Page 11: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

11

Axiomes d’Armstrong� Propriétés des dépendances fonctionnelles

� Réflexivité X -> Y� Augmentation X ->Y => XZ -> Y� Transitivité X -> Y et Y -> Z => X -> Z

� Conséquences� Union X -> Y et X -> Z => X -> YZ� Pseudo-transitivité X -> Y et WY -> Z => WX -> Z� Décomposition X -> Y et Z ⊆ Y => X -> Z

Dépendance fonctionnelle

Page 12: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

12

Dépendance fonctionnelle élémentaire

� X -> A telle que1. A est un attribut unique2. A ∉ X3. Il n'existe pas X' ⊆ X tel que X' -> A

� Dans la recherche des dfs, se limiter sans restriction aux dfs élémentaires

Dépendance fonctionnelle

Page 13: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

13

ExempleCOURS (NOMPROF, VILLE, DEPARTEMENT, NOMETUDIANT,

AGE, COURS, NOTE)

Dépendance fonctionnelle

Dépendances fonctionnelles validesNOMPROF → VILLENOMPROF NOMETUDIANT → VILLENOMETUDIANT → AGE

Dépendances fonctionnelles invalidesAGE → NOMETUD

Dépendances fonctionnelles élémentairesNOMPROF → VILLEVILLE → DEPARTEMENTNOMPROF → DEPARTEMENTNOMETUD → AGENOMETUD NOMCOURS → NOTENOMCOURS → NOMPROF

Page 14: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

14

� Fermeture transitive d'un ensemble de dépendances fonctionnelles� Ensemble des dfs enrichi de toutes les dfs

déduites par transitivité ou pseudo-transitivité� Limitation, sans perte de généralité, aux dfs

élémentaires

� Notation : F+ la fermeture transitive de F

Dépendance fonctionnelle

Page 15: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

15

Exemple : NOMPROF VILLE DEPARTEMENT NOMETUD AGE

NOMCOURS NOTE

La fermeture transitive de : NOMPROF → VILLEVILLE → DEPARTEMENTNOMETUDIANT → AGENOMETUDIANT COURS → NOTECOURS → NOMPROF

contient en plus :NOMPROF → DEPARTEMENTNOMCOURS → VILLENOMCOURS → DEPARTEMENT

Dépendance fonctionnelle

Page 16: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

16

Équivalence de deux ensembles de df élémentaires� Deux ensembles de DF élémentaires sont

équivalents s'ils ont la même fermeture transitive

� Couverture minimale d'un ensemble de DFs� Ensemble C de DF élémentaires tels que

� C+ contient toutes les DF élémentaires de l'ensemble d'attributs considéré

� ∀ f ∈ C, C - {f} n'est pas équivalent à C

Dépendance fonctionnelle

Page 17: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

17

Exemple : relation COURS(NOMPROF, VILLE, DEPARTEMENT,

NOMETUDIANT, AGE, COURS, NOTE)

{1, 2, 4, 5, 6} est une couverture minimale{1, 3, 4, 5} n'est pas une couverture

Dépendance fonctionnelle

Page 18: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

18

� Nouvelle définition : une clé est un sous-ensemble minimum d'attributs qui détermine tous les autres

X clé de R(A1, A2, …, An) tel que :1. X → A1A2 …An2. Il n'existe pas Y ⊆ X tel que Y → A1A2 …An

� Exemple : relation COURS (NOMETUD, NOMCOURS)

� Remarques : il peut y avoir plusieurs clés

Clé de relation

Page 19: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

19

Sommaire

� Objectifs

� Dépendance fonctionnelle

� 1FN, 2FN, etc.

Page 20: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

20

Définitions (T. Codd) : « une relation est en première forme normale si aucun de ses domaines ne peut contenir des éléments qui soient eux-mêmes des ensembles. Une relation qui n’est pas en première forme normale est dite non normalisée. »

Contre-exemples� PERSONNE (NOM, PRENOMS)

� En 1FN : PERSONNE (NOM, PRENOM1, PRENOM2)

� PERSONNE (NOM, PRENOM, ADRESSE)� En 1FN : PERSONNE (NOM, PRENOM, N°RUE, RUE,

CODEPOSTAL, VILLE)

Première forme normale 1FN

Page 21: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

21

Exemple domaine = table

Première forme normale 1FN

Pas 1FN

En 1FN

Page 22: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

22

Définition : une relation est en 2ème Forme Normale (2FN) si

� Elle est en 1FN� Tout attribut non clé dépend de la clé entière et non

d’une partie seulement

ExempleCOURS (NOMPROF, VILLE, DEPARTEMENT, NOMETUD,

AGE, NOMCOURS, NOTE)

Deuxième forme normale 2FN

Page 23: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

23

� 1 seule clé (NOMETUD, NOMCOURS)� Les DF

� NOMPROF → VILLE � NOMETUD, NOMCOURS → NOTE

� VILLE → DEPARTEMENT� NOMCOURS → NOMPROF� NOMETUD → AGE

Problème pour les attributs NOMPROF, VILLE, DEPARTEMENT et AGE

Deuxième forme normale 2FN

Page 24: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

24

� Une relation est en troisième forme normale (3FN) si :� Elle est en 2 FN� Aucune df entre deux attributs non clé

� Exemple : COURS (NOMETUD NOMCOURS NOTE)

R1 (NOMCOURS NOMPROF VILLE DEPARTEMENT)R2 (NOMETUD AGE)

� R1 n'est pas en 3 FN car NOMPROF → VILLE et VILLE →DEPARTEMENT

� R1 (NOMCOURS NOMPROF)

� R3 (NOMPROF VILLE DEPARTEMENT)

� R3 n'est pas en 3 FN car VILLE → DEPARTEMENT� R3 (NOMPROF VILLE)� R4 (VILLE DEPARTEMENT)

Troisième forme normale 3FN

Page 25: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

25

Algorithme de mise sous 3 FN� 0FN → 1FN : mise sous forme atomique des attributs� 1FN → 2FN : pour chaque partie X de clé déterminant des

attributs non clés Y1, …, Yn� Création d’une relation supplémentaire avec X pour clé et Y1,

…, Yn comme attributs non clés� Retrait de Y1, …, Yn de la relation initiale

� 2FN → 3FN : pour chaque attribut non clé Y déterminant des attributs non clés Z1, …, Zn

� Création d’une relation R' supplémentaire avec Y comme cléet Z1, …, Zn comme attributs non clés

� Retrait de Z1, …, Zn de la relation initiale

� Si R' n'est pas en 3 FN, réitérer le processus sur R'

Troisième forme normale 3FN

Page 26: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

26

� Dans une décomposition d'une relation en plusieurs autres, on dit que la décomposition préserve une dépendance fonctionnelle s'il reste, après décomposition, une relation contenant tous les attributs de la DF

� Propriété : toute relation a au moins une décomposition en 3 FN qui

� préserve une couverture minimale de DF� est sans perte

Troisième forme normale 3FN

Page 27: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

27

� Théorème de Heath : R (X, Y, Z) est décomposable sans perte d’information en

R1 = �[X,Y]RR2 = �[X,Z]R

si la DF X→Y existe� R1 est alors nécessairement normalisée (en 3FN).

Elle décrit le fait élémentaire X→Y

� Les requêtes posées sur R et celles posées surR1*R2 donnent le même résultat

Troisième forme normale 3FN

Page 28: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

28

� R (NomEmp, adresse, poste, age)

� R1 (NomEmp, adresse, poste) R2 (NomEmp, age)

� R = R1 R2

Troisième forme normale 3FN

directeur

secrétaire

secrétaire

Poste

38BienneMarie

32GenèveArmand

27LausanneZoé

AgeAdresseNomEmp

directeur

secrétaire

secrétaire

Poste

BienneMarie

GenèveArmand

LausanneZoé

AdresseNomEmp

38Marie

32Armand

27Zoé

AgeNomEmp

Page 29: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

29

� R1’ (NomEmp, adresse, poste) R2’ (Poste, age)

� R1’ R2’

� Cette décomposition ne suit pas Heath

Troisième forme normale 3FN

directeur

secrétaire

secrétaire

Poste

BienneMarie

GenèveArmand

LausanneZoé

AdresseNomEmp

directeur

secrétaire

secrétaire

Poste

38

32

27

Age

32secrétaireLausanneZoé

27secrétaireGenèveArmand

directeur

secrétaire

secrétaire

Poste

38BienneMarie

32GenèveArmand

27LausanneZoé

AgeAdresseNomEmp

≠ R

Page 30: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

30

� Une relation en 3FN peut encore rencontrer des redondances

� Exemple : R(VILLE, DEPARTEMENT, CODE POSTAL)

� avec les DF : � VILLE, DEPARTEMENT → CODE

� CODE → DEPARTEMENT

� et la clé : VILLE, DEPARTEMENT� les redondances : pour toutes les villes ayant le

même code postal, répétition du département.

� Problème : une DF d'un attribut non clé vers une partie de la clé

Troisième forme normale 3FN

Page 31: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

31

Définition : les seules DF autorisées sont celles dans lesquelles une clé détermine un attribut

Exemple :R (VILLE, DEPARTEMENT, CODE POSTAL) n'est pas en BCNF� R peut être décomposée en

� R1 (VILLE, CODE POSTAL)� R2 (DEPARTEMENT, CODE POSTAL)

� Décomposition sans perte� Ne garde pas la DF : VILLE, DEPARTEMENT → CODE.� R1 et R2 sont en BCNF.

Forme Normale de BOYCE-CODD

Page 32: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

32

Problème résolu ? Non, encore des redondances…Exemple« L'étudiant de numéro NUMETUD pratique le sport SPORT et

suit le COURS »� Pas de DF� CLE = {NUMETUD, SPORT, COURS}� R est en 3FN et en BCNF� Cependant R contient des redondances :

Forme Normale de BOYCE-CODD

Page 33: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

33

� La notion de dépendance fonctionnelle ne suffit pas àdéfinir toutes les dépendances entre les données

� Dépendance multivaluée (DM)R (A1, A2, …, An)X et Y sous-ensembles de {A1, A2, …, An}

X ->> Y : « X multidétermine Y » si, soit Z = R - X - Y, {(xyz) et (xy'z') ∈ R => (xy'z) et (xyz') ∈ R }

� "A chaque valeur de X, il y a un ensemble de valeurs de Y associées et cet ensemble est indépendant des autres attributs »

� Propriété : s'il y a la DM X-->>Y alors il y a aussi X-->>ZOn note : X-->>Y|Z

Dépendance multivaluée

Page 34: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

34

� Exemple : R (NUMETUD, SPORT, COURS)NUMETUD->>SPORT et NUMETUD->>COURS

� Pas de lien entre les cours suivis et les sports pratiqués

� Contre-exemple : R (NUMEMP, LANGUE, PRODUIT)"L'employé NUMEMP parle LANGUE et vend PRODUIT"

� Si pour vendre un produit, il faut parler la langue du pays où il est distribué, il n'y a pas de dm (dépend. multiv.)

� Un DF est un cas particulier de DM

Dépendance multivaluée

Page 35: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

35

� Une relation est en 4FN si les seules DM sont celles dans lesquelles une clé multidétermine un attribut

� Autrement dit, la 4FN permet de séparer des faits multivalués indépendants qui auraient été réunis dans une même relation

� 4FN => 3FN et BCNF

� En fait, on ne considère que les DM élémentaires (parties gauche et droite minimale)

Quatrième forme normale : 4FN

Page 36: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

36

� Exemple : VINS (BUVEUR, CRU, PRODUCTEUR)

� VINS est en 4FN (aucune DM)� BUVEUR ->> CRU Pierre n'achète pas de Volnay

chez Claude� CRU ->> PRODUCTEUR� PRODUCTEUR ->> BUVEUR

Quatrième forme normale : 4FN

NicolasChablisPaul

NicolasVolnayPierre

NicolasChablisPierre

ClaudeChablisPierre

PRODUCTEURCRUBUVEUR

Page 37: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

37

Décomposition VINS en 2 relations à 2 attributs chacune, perte de la relation initiale, et ce quelle que soit la décomposition choisie

Quatrième forme normale : 4FN

NicolasChablisPaul

NicolasVolnayPierre

NicolasChablisPierre

ClaudeChablisPierre

PRODUCTEURCRUBUVEUR

ChablisPaul

VolnayPierre

ChablisPierre

CRUBUVEUR

R1

NicolasPaul

NicolasPierre

ClaudePierre

PRODUCTEUR

BUVEUR

R2

NicolasVolnay

NicolasChablis

ClaudeChablis

PRODUCTEURCRU

R3

VINS = R1 �� R2VINS = R2 �� R3VINS = R1 �� R3

Il existe des relations non décomposables en 2 relations, mais en 3 ou plus

Page 38: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

38

� Permet de décomposer une relation contenant 3 ou plus liens indépendants

� Définition : R (A1, A2, …An) et X1, X2, …, Xm sous-ensembles de {A1, A2, …, An}. Il existe une dépendance de jointure *{X1, X2, …, Xm} si

R = ΠX1(R) ΠX2 (R) … ΠXm (R)

Dépendance de jointure

Page 39: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

39

� Exemple : relation VINS� *{BUVEUR CRU, BUVEUR PRODUCTEUR, CRU

PRODUCTEUR}� R1 (buveur, cru)� R2 (buveur, producteur)� R3 (cru, producteur)

� S'il existe une telle dépendance de jointure, alors R est décomposable en m relations X1, X2, …, Xm

� * Exemple : VINS = R1 R2 R3

Dépendance de jointure

Page 40: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

40

Remarques� Une DM est un cas particulier de DJ (dépend. de

jointure)� (X ->> Y => X ->> Z) => *{XY, XZ}

� si R (A1, A2, A3, A4) a 2 clés A1 et A2, alors les DJ� *{A1A2, A1A3, A1A4}� *{A1A2, A2A3, A2A4}

Dépendance de jointure

Page 41: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

41

Cinquième forme normale : 5FN

Définition : une relation est en cinquième forme normale si toute dépendance de jointure est impliquée par des clés

� Problème : trouver les DJ, elles n'ont pas d'interprétation sémantique simple

� Certaines tables n’ont pas de décomposition en 5FN

Page 42: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

42

Cinquième forme normale : 5FN

Exemple : Vin' (nomVin, année, couleur, goût, parfum)peut être décomposé en :Vin1 (nomVin, année, couleur)Vin2 (nomVin, année, goût)Vin3 (nomVin, année, parfum)car Vin’ = Vin1 Vin2 Vin3� Mais inutile, car Vin' ne contient pas de redondance� Vin' déjà en 5FN� La décomposition de Vin' : aucun gain de forme

normale

Page 43: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

43

Formes normales

Pratiquement� Les DJ sont rares et pas faciles à détecter� On normalise en général en 4FN (si possible)

Cependant� Une relation en 4FN peut contenir encore des

redondances et poser des problèmes lors des m.a.j.� D'autres FN ont encore été proposées

Page 44: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

44

Formes normales

Niveau externe� Les relations d’une vue (schéma externe)� Application automatique par un outil

Niveau conceptuel� Normalisation des relations fusionnées

Niveau interne� Obtention des dépendances

� Clés� Références� Dépendances de jointures� Contrôle automatique

Page 45: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

45

Conclusion

� La normalisation reste d'un usage très difficile sans outil pour une application de grande envergure

� ObjectifEliminer les redondances d'informations et les risques d'anomalies en mise à jour

� SolutionDécomposition des relations en suivant les règles de normalisation

Page 46: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

46

Conclusion

� Relation irréductible� Pas de df autre que : cle -> a� Pas de dm autre que : cle ->> a

� Redondances restantes� Sont dues aux contraintes d'integrité

Page 47: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

47

Exercices : graphe de dépendance

� Pour chaque relation il faut recenser toutes ses DF élémentaires et non déduites

� Représentation sous forme d'un graphe orientégraphe minimum des DF de la relation

� Une relation peut avoir plusieurs graphes minimumIls sont alors équivalents

Exemple de graphe minimum :R (A, B, C, D, E)E → A, E → B, E → C, C → D

E

A B C D

Page 48: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

48

Exercice 1

Pour chaque relation ci-dessous� identifier les redondances éventuelles dans sa population,� établir le (un) graphe minimum de ses dépendances,

� définir son (ses) identifiant(s),� définir sa forme normale et la justifier,� si nécessaire, proposer une décomposition optimale.

Pièce: description des pièces utilisées dans un atelier de montage� Pièce (N°pièce, prix-unit, TVA, libellé, catégorie)

� avec les dépendances fonctionnelles suivantes:� N°pièce → prix-unit, TVA, libellé, catégorie

� catégorie → TVA

Page 49: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

49

Exercice 1

Employé1: description d'un employé travaillant sur un projet d'un laboratoire

� Employé ( N°Emp, N°Lab, N°Proj, NomEmp, NomProj, adresse)

� avec les dépendances fonctionnelles suivantes� (N°Emp, N°Lab) → N°Proj, NomProj, NomEmp

� N°Emp → NomEmp� N°Emp → adresse

� N°Proj → NomProj

Page 50: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

50

Exercice 2

Soit R la relation suivante, avec les dépendances :R (A, B, C, D, E, F, G)

AB → C, AB → D, AB → E, AB → F, B → C, D → E, D → F, G → A

� Etablir le (un) graphe minimum de dépendances� Quel(s) est (sont) l'identifiant(s) de R ?� Quelle est la forme normale de R? Justifier votre réponse� Proposer une décomposition optimale de R

Page 51: Normalisation - NFE113nfe113.2bl.fr/documents/3_Normalisation.pdf · Normalisation Permet de définir une méthode de conception de "bonnes" tables, ... Dépendances fonctionnelles

51

Et après…

Le monde

Le concepteur Schéma conceptuel

Schéma logiquerelationnel

BD

Utilisateurs

Table FilmsTable Cinéma…

Normalisation

SQL