Documentos de Académico
Documentos de Profesional
Documentos de Cultura
la normalisation des entits permet dobtenir un schma de BD relationnelle de bonne qualit la normalisation
minimise la redondance des donnes facilite la mise jour des donnes facilite linterrogation des donnes
2
Pourquoi normaliser
pour limiter les redondances de donnes, pour limiter les pertes de donnes, pour limiter les incohrences au sein des donnes et pour amliorer les performances des traitements.
3
Formes normales
une forme normale dnote un niveau de normalisation pour une entit il existe plusieurs formes normales
on a
Notion de cl
Dfinition (cl de relation) : Soit R (A1, A2, ..., An) un schma de relation, et X un sous-ensemble de (A1, A2, ..., An), X est une cl si, et seulement si, : X (A1, A2, ..., An) et X est minimal
pour limiter les redondances de donnes, pour limiter les pertes de donnes, pour limiter les incohrences au sein des donnes et pour amliorer les performances des traitements.
Dfinition de 1FN
Une relation E est en 1FN (premire forme normale) ssi tous les attributs de E sont scalaires
attribut scalaire : attribut dont le type est lmentaire (char, varchar, numeric, etc)
attribut vectoriel : ensemble, liste (c--d une structure comportant des rptitions)
Une relation est en premire forme normale si et seulement si tous ses attributs ont des valeurs simples (non multiples, non composes).
7
Une relation est en premire forme normale ssi tout attribut contient une valeur atomique. les champs de chaque table doivent tre atomiques et quil ne peut exister de champs rptitifs. De plus, chaque champ doit avoir une signification prcise constante dans le temps.
Exemple 1FN
Pourquoi cette table nest-elle pas conforme la 1re forme normale ? La raison principale est que les champs ne sont pas tous atomiques. Le champ Nom contient la fois nom et prnom, il est possible de dcouper ce champ sans faire perdre de sens linformation, ce qui en faciliterait mme laccs et le tri. Le champ ville intgre le code postal, ce qui nest pas trs pratique si on dsire sortir, par exemple, la liste de toutes les personnes qui vivent la localit 2017.
10
Ex 1FN
En quoi cette table ne rpond-t-elle pas la 1re forme normale ? Vrifier la liste des enfants. La 1re forme normale stipule que les champs ne peuvent pas tre rptitifs. Chercher qui a un enfant nomm Sonia obligera balayer chaque enregistrement puis rechercher dans chacune des trois colonnes. Il faudra esprer que la saisie est homogne et que ce prnom aura bien t tap de la mme faon que celui quon recherche, le moindre espace de trop fera chouer la recherche... Sil faut grer 4 enfants au lieu de trois cela impliquera une MAJ de la table
ID EMP00123 EMP01261 EMP00174 NOMPERE PRENOMPERE PRE_ENF1 PRE_ENF2 TOUNSI Sami Ali Sonia AYARI FERJENI Olfa Fethi Walid Sofiene Lamia PRE_ENF3
Sana
11
Ex2 (solution)
Sana
12
13
14
competence groupeCours sigle session groupe matricule professeur matricule salaire nom disponibilite matricule session sigle matricule
inscription sigle session matricule groupe note etudiant matricule coteZ nom
15
parce que le modle relationnel ne permet pas de stocker une structure vectorielle dans un attribut dune table dautres modles permettent les rptitions
Dpendance fonctionnelle
Dfinition (dpendance fonctionnelle) : Soit R (A1, A2,...An) un schma de relation, et X et Y des sous-ensembles de {A1,A2,...An}. On dit que X dtermine Y ou que Y dpend fonctionnellement de X si, et seulement si, des valeurs identiques de X impliquent des valeurs identiques de Y. On le note : X Y X dtermine Y et Y dpend de X X : source de la DF ; Y : cible de la DF Autrement dit : X Y si et seulement si dans R une mme valeur de X correspond toujours une mme valeur de Y La source peut tre un ensemble d'attributs : (nom, prnom) adresse
17
Dpendance fonctionnelle
A a1 a1 a2 a2 a3
B b1 b2 b1 b1 b2
C c1 c2 c3 c4 c5
D d1 d2 d3 d3 d1
E e1 e1 e1 e1 e1
18
Dpendance fonctionnelle
Question : quelles sont les dpendances fonctionnelles satisfaites par R ? Rponse : les dpendances fonctionnelles satisfaites par R sont les suivantes : A E ; B E ; C ABDE ; D E ; AB D ; AD B ; BD A.
A a1 a1 a2 a2 a3
B b1 b2 b1 b1 b2
C c1 c2 c3 c4 c5
D d1 d2 d3 d3 d1
E e1 e1 e1 e1 e1
19
20
Dpendance fonctionnelle
les dfinitions de 2FN, 3FN, BCNF reposent sur la notion de dpendance fonctionnelle une dpendance fonctionnelle est une fonction entre des listes dattributs on dnote une dpendance fonctionnelle comme suit :
(A1, ..., An) An+1 on dit que An+1 dpend de A1, ..., An
22
Dpendance fonctionnelle
La notion de dpendance fonctionnelle (df) est lie la smantique des donnes Pour dterminer si une dpendance fonctionnelle est vraie, il faut raisonner sur la smantique de la table et non sur son contenu linstant t Le contenu de la table peut permettre dinvalider certaines df
23
la dpendance matricule nom ne signifie pas que le nom associ un matricule ne change jamais; le nom peut changer, mais, en tout temps, on peut dterminer le nom dun tudiant partir de son matricule cela ne signifie pas non plus que si on a deux matricules diffrents, alors leurs noms associs doivent tre diffrents cela signifie que deux tudiants ne peuvent avoir le mme matricule
24
attention!
Reprsentation graphique
sigle titre
sigle titre
(sigle,session,groupe) matricule
25
Dfinition (Deuxime forme normale) : Une relation respecte la seconde forme normale lorsque toutes ses proprits non-cl sont totalement dpendantes fonctionnellement de la totalit de la cl primaire. Si X et Y sont des colonnes et que X est une cl, alors pour tout Z qui est un sous-ensemble de X, il ne peut y avoir Z Y.
26
Ex 2FN
Dterminer o se trouve la cl primaire. Qq combinaisons permettant de reprer de faon unique chaque ligne tout en ayant une signification : Numro de salari + Numro de projet || Nom + Numro de projet. Selon lutilisation qui sera faite de la table on peut renverser les cls, ce qui ne change rien leur nature. Numro de salari + Numro de projet
NUMPROJET 1 2 2 3 1
27
Ex 2FN
Les champs non-cl : Nom et Heures. Les heures sont en totale DF avec la totalit de la cl puisque cette proprit concerne la fois un individu et un projet et que seule cette combinaison permet disoler un compte dheures unique. Le nom du salari ne dpend pas de la totalit de la cl primaire. En fait il ne dpend que dun morceau de celle-ci, le numro de salari. si nous avions choisi lautre possibilit pour la cl primaire nous aurions le mme problme avec le numro de salari qui ne dpendrait que du nom et non de la totalit de cl. Cette table doit tre scinde en deux autres tables
NUMSALARIE 3423 6547 2134 NOM TOUNSI AYARI BEN SALEM NUMSALARIE 3423 3423 6547 2134 2134 NUMPROJET 1 2 2 3 1 HEURES 18,5 6,7 8,5 23,5 4,8
28
Ex 2FN
Chacune de ces tables rpond maintenant aux exigences de la premire et de la seconde forme normale. La premire ayant pour cl primaire le numro de salari, la seconde la combinaison numro de salari + numro de projet.
NUMPROJET 1 2 2 3 1
parce que cela limine la redondance des donnes cela assure une meilleure intgrit des donnes tout en simplifiant les mise jour on ne perd aucune information; on peut recrer linformation avec une jointure des deux relations
30
3FN
Dfinition (Troisime forme normale) Une relation est en troisime forme normale si et seulement si :
Elle est en deuxime forme normale ; Tout attribut n'appartenant pas une cl ne dpend pas d'un attribut non cl.
31
3FN
Une relation est dite dans la 3FN si aucun champ non-cl nest en dpendance transitive avec la cl primaire. Soit 3 colonnes (A, B, C), A tant la cl primaire, si (A et que (B C) on peut en dduire B) que (A C), dans ce cas il existe une relation transitive entre A et C et la table nest pas dans la 3NF. 32
Ex 3FN
Cette table est en 1FN (champs atomiques, non rptitifs, ayant une signification unique constante dans le temps, prsence dune cl primaire - par exemple ici le numro de salari) En 2FN (tous les champs non-cl sont en dpendance fonctionnelle avec la totalit de la cl primaire). Toutefois, elle nest pas dans la troisime forme normale.
NOM TOUMI ABIDI NUM_EMP 5001 5002 DATE_NAISS SERVICE 5 6 NOM_SERVICE Vente Informatique NUM_CHEF 4580 4120
33
Ex 3FN
le nom du service ainsi que le numro du salari du chef de service sont lis la cl primaire par une relation transitive qui passe par le code du service. Il est effectivement possible de dterminer le nom du service et le code salari de son chef uniquement partir du code service. SERVICE NOM_SERVICE NUM_CHEF Solution (2 tables)
5 6 Vente Informatique 4580 4120
DATE_NAISS
SERVICE 5 6 34
parce que cela limine la redondance des donnes cela assure une meilleure intgrit des donnes tout en simplifiant les mise jour
on ne perd aucune information; on peut recrer linformation avec une jointure des deux relations
35
Une relation est en Forme normale de BOYCE-CODD (BCNF) si, et seulement si, les seules dpendances fonctionnelles lmentaires sont celles dans lesquelles une cl dtermine un attribut. Par exemple, Universit (tudiant, matire, enseignant, note) avec les DF tudiant, matire enseignant, note et enseignant matire
alors que
Pers (nom, prnom, age, nombreEnfants) avec la DF nom, prnom age, nombreEnfants
est en BCN F.
Toutes les DF sont prises en compte par la BCNF. On considre gnralement qu'une base de donnes de bonne qualit ne contient que des relations qui respectent la BCNF.
36
Exemple de BCNF
supposons quune institution denseignement dcerne un seul diplme (SEC, DEC, ou BAC) et quune personne obtient un diplme dune et une seule institution; on a les DF suivantes
Contre-exemple de BCNF
Une entit E est en forme normale de Boyce-Codd ssi pour toute dpendance fonctionnelle X A de E, la condition suivante est satisfaite: X est une super cl
cette entit nest pas en BCNF, car il y a la DF institution diplme, et institution nest pas une super cl
38
Normalisation en BCNF
personne diplme institution
personne
institution
diplme institution
note: - on ne perd pas dinformation, - on diminue la redondance -on perd une contrainte dintgrit (personne,diplme) institution
39
40
41
42
43
DF vs DM vs DJ
La Dpendance Fonctionnelle permet de dfinir les premires formes normales jusqu la forme normale de Boyce-Codd (1FN, 2FN, 3FN et BCNF). La Dpendance Multivalue permet de dfinir la quatrime forme normale (4FN) et la Dpendance de Jointure la cinquime forme normale (5FN).
44
(X1, Y1, Z1) R et (X1, Y2, Z2) R (X1, Y 1 , Z2) R et (X1, Y 2 , Z1) R
contenant n proprits, soit X, Y et Z des sous-ensembles de A1, A2, An et soit Xi, Yi et Zi des instances de ces sousensembles (i.e. une affectation de valeur chacune des proprits de ces sous-ensembles). Il existe une dpendance multivalue (DM) entre les ensembles de proprits X, Y lorsque : On la note X Y, ce qui se lit X multidtermine Y.
Remarque : X Y X Ai(X Y).
45
Dpendance multivalue
Supposons une situation o un employ dun garage est qualifi pour effectuer un certain type dintervention sur certaines marques de voiture. Cette situation est modlise par le schma relationnel suivant :
Supposons quun employ qui effectue un ensemble de types dinterventions pour un ensemble de marques de voiture, est capable deffectuer chacun de ces types dinterventions sur chacune de ces marques de voitures. il existe des dpendances multivalues dans la relation Intervenir : Nom-Employ Type-Intervention et NomEmploy Marque.
46
Dfinition - (4FN )-
Une relation est en quatrime forme normale (4FN) si, et seulement si, elle est en forme normale de BOYCE-CODD et si elle ne possde pas de dpendance multivalue ou si, X Y tant la dpendance multivalue, il existe une proprit A telle que X A.
47
48
Normaliser la relation
Intervenir
Pour normaliser la relation Intervenir, il faut la dcomposer pour aboutir au schma relationnel suivant :
49
50
Jusquici, nous avons pu rsoudre une redondance dans une relation en la remplaant par 2 de ses projections. Il existe cependant des relations qui ne peuvent pas tre dcomposes sans perte dinformation en deux projections, mais qui peuvent ltre en trois ou plus (ces cas sont assez rares en pratique). Cest ce que permet la normalisation en cinquime forme normale. Les dpendances de jointures font appel des notions (projection et jointure)
51
Dpendance de jointure
DJ Soient X1, X2, , Xn des sous-ensembles dun schma de relation R. Il y a une DJ, note *{X1, X2, , Xn} dans la relation R, si : R=(X1)R (X2)R (Xn)R
Une dpendance de jointure, DJ(R1, R2, , Rn), spcifie sur un schma relationnel R, est une DJ triviale ssi un des schmas relationnels Ri {R1, R2, , Rn} tel que Ri = R. Une telle dpendance est appele triviale parce quelle confre la proprit de jointure non-additive nimporte quel tat de r de R.
52
Exemple
53
DJ
Ce cas correspond
54
55
Cette dpendance indique qu'il ne suffit pas qu'une famille de recettes ait une saveur dominante et que cette saveur corresponde une catgorie d'ingrdients, pour qu'une recette base de cet ingrdient et de saveur spcifie, soit fabrique. Un dessert possde une saveur sucre, une saveur sucre peut correspondre un lgume mais un dessert sucr base de lgumes n'est pas fabriqu car il n'y a pas de lgumes dans un dessert.
56
Normalisation en 5FN
57
Normalisation en 5FN
L'association RECETTE est en 4FN mais pas en 5FN car il existe une DJ et, puisque cette association n'est pas porteuse d'une proprit, il n'existe pas de DF. Ce modle prsente des difficults de mise jour. Si l'occurrence < Viandes , Acide , Vins > est ajoute, il faut galement ajouter l'occurrence < Viandes , Acide , Fruits >. Pour que l'association RECETTE soit en 5FN, il faut la dcomposer :
58
Solution en 5FN
59
Normalisation en 5FN
60
61
62
Patient(numro, nom, numMutuelle) Mutuelle(numMutuelle, nomMutuelle) Mdecin(numMdecin, nomMdecin) Affection(codeAffection, nomAffection) Hospitalisation(numro, codeAffection, numMdecin, dateEntre, dateSortie)