Académique Documents
Professionnel Documents
Culture Documents
CONCEPTION
Intégrité, redondance et
normalisation
BD025
v241a
2019-05-24 Christina KHNAISSER et Luc LAVOIE
Département d’informatique
Faculté des sciences
Christina.Khnaisser@USherbrooke.ca
http://info.USherbrooke.ca/ckhnaisser
Luc.Lavoie@USherbrooke.ca
http://info.USherbrooke.ca/llavoie
PLAN
2019-05-24
¢ Normalisation
2019-05-24
Département d’informatique, Faculté des sciences, Université de Sherbrooke, Québec
BD025 : Redondance et normalisation (v241a) — Christina Khnaisser et Luc Lavoie
¢ Définition
¢ Vision traditionnelle
¢ Vision contemporaine
3
NORMALISATION
2019-05-24
DÉFINITION
¢ Définitions
2019-05-24
VISION TRADITIONNELLE
¢ Une forme normale dénote un niveau de
5
NORMALISATION
2019-05-24
VISION CONTEMPORAINE – A
¢ À strictement parler, seule la 1FN traite de
2019-05-24
VISION CONTEMPORAINE – B
¢ La conception relationnelle vise à donner une
7
NORMALISATION
2019-05-24
VISION CONTEMPORAINE – C
¢ Bien sûr, la cohérence n’est pas le seul principe
8
NORMALISATION
2019-05-24
POURQUOI RÉDUIRE LA REDONDANCE?
¢ Si une même proposition est stockée en plusieurs
9
NORMALISATION
2019-05-24
UNE INTUITION
¢ Pour être en mesure de retirer une proposition, il
10
NORMALISATION
2019-05-24
COMMENT LA PROJECTION RÉDUIT-ELLE LA REDONDANCE? - UN EXEMPLE.
11
NORMALISATION
2019-05-24
COMMENT LA PROJECTION RÉDUIT-ELLE LA REDONDANCE? - UN EXEMPLE.
2019-05-24
COMMENT RÉDUIRE LA REDONDANCE? - LE PRINCIPE.
2019-05-24
LE RÔLE DES CONTRAINTES
¢ Malheureusement, la décomposition n’est pas
14
NORMALISATION
2019-05-24
HISTORIQUE
¢ Historiquement, les formes normales et les algorithmes qui
¢ Exemple
¢ 1FN
REPRÉSENTATION NORMALISÉE
¢
ATOMICITÉ
2019-05-24
DÉFINITION
¢ Un schéma relationnel est normalisé si et seulement
17
1FN
2019-05-24
DÉFINITION
¢ Définition
2019-05-24
¢ Soit aides identifiants distincts et Dj des types, un
2019-05-24
DÉFINITION
¢ Il a été convenu de désigner un schéma relationnel
20
1FN – EXEMPLE
2019-05-24
LE MCD DES COURS
Cours Trimestre
PROG
(0,n) (0,n) (0,n)
note
(1,3)
(1,n)
(0,n)
coteZ
compétence disponibilité
21
1FN – EXEMPLE
2019-05-24
LE SCHÉMA RELATIONNEL « NAÏF » (AVANT NORMALISATION)
GroupeCours
sigle Professeur • préalables et
trimestre matricule compétences sont des
groupe salaire
matriculeP ensembles de cours;
nom
compétences • disponibilités est un
disponibilités ensemble de trimestres;
Inscription
sigle Etudiant
trimestre matriculeE
groupe nom
matriculeE coteZ Clé étrangère
note
22
1FN – EXEMPLE
2019-05-24
EXEMPLES ET CONTRE-EXEMPLES DE NORMALISATION
¢ Les relations GroupeCours, Inscription, Étudiant, et
23
1FN – EXEMPLE
2019-05-24
NORMALISATION
¢ Si une relation E1 n’est pas en 1FN, on la normalise
24
1FN – EXEMPLE
2019-05-24
NORMALISATION DE COURS EN 1FN
cours
sigle titre préalables
IFT286 Lab. de BD IFT178
IFT286
IFT486 BD
IFT339
préalablesCours
sigle préalables
IFT286 IFT178
IFT486 IFT286
IFT486 IFT339
25
1FN – EXEMPLE
2019-05-24
NORMALISATION DE PROFESSEUR
26
1FN – EXEMPLE
2019-05-24
LE SCHÉMA DES COURS, APRÈS NORMALISATION
GroupeCours Competence
sigle Professeur sigle
trimestre matricule matricule
groupe salaire
matricule nom
Disponibilite
trimestre
matricule
Inscription
sigle Etudiant
trimestre matricule
groupe nom
matriculeE coteZ
note
27
1FN
2019-05-24
POURQUOI NORMALISER?
¢ Le modèle relationnel repose sur l’hypothèse que toute
2019-05-24
MULTIPLICITÉ ET NORMALISATION
¢ Certains modèles relationnels permettent les
29
1FN
2019-05-24
MULTIPLICITÉ CACHÉE
¢ Une erreur fréquente consiste à définir le type d’un
30
DÉPENDANCES FONCTIONNELLES
2019-05-24
Département d’informatique, Faculté des sciences, Université de Sherbrooke, Québec
BD025 : Redondance et normalisation (v241a) — Christina Khnaisser et Luc Lavoie
¢ Définition
¢ Précisions
¢ Irréductibilité et trivialité
¢ Clé candidate
¢ Axiomes d’Armstrong
¢ Représentation graphique
¢ Provenance des DF
¢ FNBC
¢ Théorème de Heath
31
DÉPENDANCES FONCTIONNELLES
2019-05-24
DÉFINITION (1)
Dépendance fonctionnelle
32
DÉPENDANCES FONCTIONNELLES
2019-05-24
DÉFINITION (2)
¢ Il y a un lien entre dépendance fonctionnelle et
2019-05-24
EXEMPLE 1
¢ Dans une université, étant donné le matricule d’un
34
DÉPENDANCES FONCTIONNELLES
2019-05-24
PRÉCISIONS
¢ La DF [matriculeE → nom] ne signifie pas que le
35
DÉPENDANCES FONCTIONNELLES
2019-05-24
IRRÉDUCTIBILITÉ ET TRIVIALITÉ
¢ Synonymes
Une dépendance irréductible est aussi dite complète.
36
DÉPENDANCES FONCTIONNELLES
2019-05-24
CLÉ CANDIDATE
¢ S’il existe une DF irréductible entre {A1, ..., Ak} et
37
BD025 : Redondance et normalisation (v241a) — Christina Khnaisser et Luc Lavoie
2019-05-24 Département d’informatique, Faculté des sciences, Université de Sherbrooke, Québec
38
RÈGLES D’INFÉRENCE D’ARMSTRONG
DÉPENDANCES FONCTIONNELLES
DÉPENDANCES FONCTIONNELLES
2019-05-24
COMMENT LES DÉCOUVRIR?
¢ Les DF sont des propriétés issues du domaine
39
BD025 : Redondance et normalisation (v241a) — Christina Khnaisser et Luc Lavoie
2019-05-24 Département d’informatique, Faculté des sciences, Université de Sherbrooke, Québec
40
¢ (sigle, session, groupe) → matriculeP
sigle titre
DÉPENDANCES
¢ Identifiez les dépendances
2019-05-24
FONCTIONNELLES
EXERCICE fonctionnelles entre les attributs
41
DÉPENDANCES FONCTIONNELLES
2019-05-24
DÉFINITION DE LA FNBC
¢ Une relation R est en FNBC relativement à une
Rappel
Un ensemble d’attributs est une sur-clé relativement
à une relation R, s’il contient une clé candidate de R.
Notation
On dit aussi que la DF [X→A] doit être « induite » d’une
clé (de R).
Une relation R est dite en FNBC ssi toutes les DF non
triviales applicables (à R) sont issues d’une clé (de R).
42
DÉPENDANCES FONCTIONNELLES
2019-05-24
DÉMONSTRATION DE LA FNBC
¢ Pour démontrer qu’une relation R est en FNBC, il
43
DÉPENDANCES
2019-05-24
FONCTIONNELLES
EXERCICE
44
DÉPENDANCES FONCTIONNELLES
2019-05-24
CONTRE-EXEMPLE DE FNBC
Supposons Une relation R est en FNBC si et
45
DÉPENDANCES FONCTIONNELLES
2019-05-24
NORMALISATION EN FNBC
R1 R2
personne institution diplôme institution
Remarque Il faut donc ajouter une contrainte
¢ on ne perd pas d’information, qui « simule » la clé candidate
¢ on diminue la redondance, {personne, diplôme} sur la jointure
¢ mais on perd la DF des deux nouvelles relvar R1 et R2 :
with (R := R1 ⋈ R2) :
[personne, diplôme → institution]
#R = #(R π {personne, diplôme})
puisqu’elle n’est plus
applicable!
46
DÉPENDANCES FONCTIONNELLES
2019-05-24
NORMALISATION EN FNBC (EXERCICE)
¢ Traduire cette contrainte en SQL
avec un TRIGGER
¢ exercice
47
DÉPENDANCES FONCTIONNELLES
2019-05-24
THÉORÈME DE HEATH
¢ Théorème
¢ Exercice
Pourquoi n’est-il pas nécessaire d’exiger que X, Y et Z
soient disjoints ?
48
BD025 : Redondance et normalisation (v241a) — Christina Khnaisser et Luc Lavoie
2019-05-24 Département d’informatique, Faculté des sciences, Université de Sherbrooke, Québec
49
AUTRES FORMES NORMALES RELATIVES AUX DF
2FN
¢ 3FN
¢
DÉPENDANCES FONCTIONNELLES
2019-05-24
DÉFINITION DE LA 2FN
¢ Une relation R est en 2FN si et seulement si tous les
¢ Rappels
Un attribut est premier si et seulement si il est
élément d’une clé candidate.
Une dépendance fonctionnelle est irréductible si et
seulement si aucun attribut ne peut être retiré du
déterminant sans invalider la dépendance.
50
DÉPENDANCES FONCTIONNELLES
2019-05-24
CONTRE-EXEMPLE DE 2FN
51
DÉPENDANCES FONCTIONNELLES
2019-05-24
DÉFINITION DE LA 2FN (BIS)
Une relation R est en 2FN si et seulement si, pour
2019-05-24
NORMALISATION EN 2FN
¢ Les attributs non premiers en dépendance partielle
54
DÉPENDANCES FONCTIONNELLES
2019-05-24
EXEMPLES DE NORMALISATION EN 2FN
A1 A2 A3 A4 A2 A5
2019-05-24
SONT-ELLES EN 2FN?
Oui
• il y a deux clés candidates {A2} et
{A5}
A1 A2 A3 A4 A5 • seuls les attributs A1, A3 et A4 ne
sont pas premiers
• A1, A3 et A4 dépendent
complètement de toutes les clés
candidates 56
DÉPENDANCES FONCTIONNELLES
2019-05-24
DÉFINITION DE 3FN
¢ Une relation R est en 3FN si et seulement si, pour
57
DÉPENDANCES FONCTIONNELLES
2019-05-24
CONTRE-EXEMPLE DE 3FN
2019-05-24
NORMALISATION EN 3FN + FUSION
A1 A2 A3 A4 A4 A5 A6
2019-05-24
NORMALISATION EN 3FN + FUSION (BIS)
A1 A2 A3 A4 A4 A5 A6
60
DÉPENDANCES FONCTIONNELLES
2019-05-24
DÉFINITION DE LA FNBC (BIS)
¢ Une relation R est en FNBC relativement une DF non
61
DÉPENDANCES FONCTIONNELLES
2019-05-24
DISCUSSION
¢ La FNBC ne peut pas toujours être atteinte sans perte
2019-05-24
2FN, 3FN, FNBC : UN RÉSUMÉ
¢ Soit les conditions suivantes relativement à une
2019-05-24
Département d’informatique, Faculté des sciences, Université de Sherbrooke, Québec
BD025 : Redondance et normalisation (v241a) — Christina Khnaisser et Luc Lavoie
¢ Exemple A – une clé
¢ Définition de la 5FN – cas simple
¢ Induction
64
DÉPENDANCES DE JOINTURE
2019-05-24
EXEMPLE A – UNE CLÉ (1)
¢ Soit la relvar
65
DÉPENDANCES DE JOINTURE
2019-05-24
EXEMPLE A – UNE CLÉ (2)
OffreDeCours peut-elle représenter également les
2019-05-24
EXEMPLE A – UNE CLÉ (3)
≠
Offre Disponibilité Compétence
sigle session matriculeP session matriculeP sigle
IFT 333 2014-1 ⋈1 2014-1 ⋈1 IFT 333
IFT 333 2014-3 2 2014-1 2 IFT 333
2 2014-3 67
DÉPENDANCES DE JOINTURE
2019-05-24
DÉFINITION
¢ ⋈{d1, ... , dk} est une dépendance de jointure (DJ)
Notation
Chaque di est appelé composant(e) de la DJ.
68
DÉPENDANCES DE JOINTURE
2019-05-24
5FN – CAS SIMPLE
¢ Une relation R ayant une seule clé candidateest en
69
DÉPENDANCES DE JOINTURE
2019-05-24
EXEMPLE A – UNE CLÉ (4)
¢ La relvar OffreDeCours n’est pas en 5FN car ses
70
DÉPENDANCES DE JOINTURE
2019-05-24
EXEMPLE A – UNE CLÉ (3BIS)
≠
Offre Disponibilité Compétence
sigle session matriculeP session matriculeP sigle
IFT 333 2014-1 ⋈1 2014-1 ⋈1 IFT 333
IFT 333 2014-3 2 2014-1 2 IFT 333
2 2014-3 71
DÉPENDANCES DE JOINTURE
2019-05-24
EXEMPLE A – UNE CLÉ (5)
¢ C’est-à-dire ¢ Il faudra donc les
OffreDeCours
sigle session matriculeP
2019-05-24
EXEMPLE A – UNE CLÉ (6)
Les prédicats sont les suivants
73
DÉPENDANCES DE JOINTURE
2019-05-24
EXEMPLE A – UNE CLÉ (7)
¢ Deux propositions peuvent être avancées :
2019-05-24
INDUCTION
¢ Une DJ est induite par les clés de R si et seulement si
75
DÉPENDANCES DE JOINTURE
2019-05-24
5FN – CAS GÉNÉRAL
Une relation R est en cinquième forme normale (5FN)
76
DÉPENDANCES DE JOINTURE
2019-05-24
RETOUR SUR LE CAS SIMPLE
¢ Lorsque R ne comprend qu’une clé candidate :
77
DÉPENDANCES DE JOINTURE
2019-05-24
EXEMPLE B – DEUX CLÉS
...
2019-05-24
THÉORÈME GÉNÉRAL DE PROJECTION-JOINTURE
¢ Soit R une relvar dont l’entête est E.
79
BD025 : Redondance et normalisation (v241a) — Christina Khnaisser et Luc Lavoie
2019-05-24 Département d’informatique, Faculté des sciences, Université de Sherbrooke, Québec
80
¢ Analyse de l’exemple 1
¢ Théorème de Fagin
¢ Normalisation
Exemple 1
¢ Exemple 2
¢ Définition
¢ 4FN
DÉPENDANCES MULTIVALUÉES
¢
Un cas intéressant
des dépendances
de jointure
DÉPENDANCES cours enseignant livre
2019-05-24
MULTIVALUÉES
IFT 187 Marc Elmasri
EXEMPLE 1
IFT 187 Marc Frappier
cours.
2019-05-24
DÉFINITION
¢ Soit X et Y deux sous-ensembles d’attributs d’une
82
DÉPENDANCES MULTIVALUÉES
2019-05-24
4FN
Soit
2019-05-24
UN CAS PARTICULIER DE DÉPENDANCES DE JOINTURES!
¢ Soit la relation R dont ¢ Équivalences
84
DÉPENDANCES La relation S (c, e, x) représente le prédicat
2019-05-24
¢
MULTIVALUÉES « l’enseignant e donne le cours c à l’aide du livre x ».
EXEMPLE 1 ¢ Les règles suivantes sont applicables :
un enseignant peut donner plus d’un cours;
85
DÉPENDANCES nom adresse ville emploi
2019-05-24
MULTIVALUÉES
Pauline 12, rue de la gare Saint-Jean géomaticienne
EXEMPLE 2
Pauline 1250, rue X Montréal géomaticienne
Zoroastre ne
respecte pas la
4FN
86
DÉPENDANCES La relation S (n, a, v, e) représente le prédicat « la
2019-05-24
¢
MULTIVALUÉES personne portant le nom n habite à l’adresse a de la
EXEMPLE 2 ville v et occupe l’emploi e ».
Les règles suivantes sont applicables
87
BD025 : Redondance et normalisation (v241a) — Christina Khnaisser et Luc Lavoie
2019-05-24 Département d’informatique, Faculté des sciences, Université de Sherbrooke, Québec
88
¢ Ajouter les clés référentielles
¢ Scinder la relation en deux
2019-05-24
THÉORÈME DE FAGIN
¢ Soit R une relation dont l’entête est E,
89
BD025 : Redondance et normalisation (v241a) — Christina Khnaisser et Luc Lavoie
2019-05-24 Département d’informatique, Faculté des sciences, Université de Sherbrooke, Québec
90
¢ FNBC + ANC <=> 5FN
¢ Synthèse
¢ 6FN
QUELQUES THÉORÈMES UTILES
¢
QUELQUES THÉORÈMES UTILES
2019-05-24
RELATIONS TOTALES
¢ Rappel :
91
BD025 : Redondance et normalisation (v241a) — Christina Khnaisser et Luc Lavoie
2019-05-24 Département d’informatique, Faculté des sciences, Université de Sherbrooke, Québec
92
¢ Toute relation FNBC comportant au moins un
attribut non-clé est en 5FN.
QUELQUES THÉORÈMES UTILES
FNBC + ANC <=> 5FN
BD025 : Redondance et normalisation (v241a) — Christina Khnaisser et Luc Lavoie
2019-05-24 Département d’informatique, Faculté des sciences, Université de Sherbrooke, Québec
93
FNBC) ne possédant
aucune clé candidate composite est en 5FN.
¢ Toute relation 3FN (a fortiori
QUELQUES THÉORÈMES UTILES
3FN + 0CC <=> 5FN
BD025 : Redondance et normalisation (v241a) — Christina Khnaisser et Luc Lavoie
2019-05-24 Département d’informatique, Faculté des sciences, Université de Sherbrooke, Québec
94
DJ : 5FN (théorème général de projection-jointure)
DF : FNBC (théorème de Heath)
DM : 4FN (théorème de Fagin)
ultimes »
QUELQUES THÉORÈMES UTILES
¢ Les formes «
SYNTHÈSE
6FN
2019-05-24
¢ Une relvar est en sixiè me forme normale (6FN) si et
95
LES ALGORITHMES
2019-05-24
SYNTHÈSE
Voir
96
CALCUL DU NOYAU – ESQUISSE
2019-05-24
¢ Un noyau d’un ensemble de dépendances est
97
side.4 Conditions 2 and 3 ensure that there are no redundancies in the dependencies
either by having redundant attributes on the left-hand side of a dependency
CALCUL 2)DUor NOYAU
by having -a E LMASRI, P. 550
2019-05-24
(Condition dependency that can be inferred from the remaining
FDs in F (Condition 3).
Definition. A minimal cover of a set of functional dependencies E is a minimal
2019-05-24
(SANS GARANTIE DE PRÉSERVATION DES CONTRAINTES)
¢ Soit R une relation d’entête E dont C est le noyau
99
those in the resulting relations, thus ensuring the dependency preservation prop-
erty. Algorithm 16.4 is called a relational synthesis algorithm, because each rela-
NORMALISATION FNBC – ELMASRI , P. 559
2019-05-24
tion schema Ri in the decomposition is synthesized (constructed) from the set of
functional dependencies in G with the same left-hand-side X.
2019-05-24
(AV E C P R É S E RVAT IO N D E S C O N T R A IN T E S )
¢ Soit R une relation d’entête E dont C est le noyau
2019-05-24
ORMALISATION
16 Relational LMASRI
Database Design Algorithms and P
Further Dependencies
2019-05-24
¢ Dirk Beyer, Andreas Noack, and Claus Lewerentz.
103