62
Normalisation d’un schéma relationnel Bases de Données Relationnelles

Normalisation d’un schéma relationnel · conserver la cohérence de la base de données uintégrité référentielle ... => règles de normalisation. BDA 7.5 Exemple (suite) LivraisonTot

Embed Size (px)

Citation preview

Normalisation d’un schéma relationnel

Bases de Données Relationnelles

BDA 7.2

Mises à jour et cohérence

n But d'un schéma logique : décrire une bd qui va effectivement être utiliséeuchargée , accédée , mise à jour (maj)

n Les maj (insertions, suppressions, modifications) doivent conserver la cohérence de la base de donnéesuintégrité référentielleutoute contrainte d'intégritéuen particulier les dépendances entre attributs

n Selon le schéma c'est + ou - facileuPlus la bd contient de redondances, plus les maj avec

maintien de la cohérence est difficile

BDA 7.3

Exemple d'anomalies de majLivraisonTot ( N°f , adrF , N°p , typeP , qté )

3 Lausanne 52 meuble 1222 Bienne 10 ordinateur 622 Bienne 25 papier 2103 Lausanne 25 papier 5603 Vevey 10 ordinateur 15

n Définition : Le fournisseur N°f, qui est actuellement à telle adresse adrF, a livré au total telle quantité du produit N°p, produit qui est de tel type.

n Si un fournisseur change d’adresse et qu’un seul tuple est mis à jour ⇒ incohérence

n Si un nouveau tuple est inséré pour un fournisseur connu, avec une adresse différente ⇒ incohérence

n Impossibilité d'enregistrer un nouveau fournisseur sans livraison

BDA 7.4

Qu’est-ce qu’une BD relationnelle ‘incorrecte’ ?

Une relation n’est pas correcte si :n elle implique des répétitions au niveau de sa population

n elle pose des problèmes lors des maj (insertions, modifications et suppressions)

n Les conditions pour qu'une relation soit correcte peuvent être définies formellement :

=> règles de normalisation

BDA 7.5

Exemple (suite)

LivraisonTot ( N°f , adrF , N°p , typeP , qté )3 Lausanne 52 meuble 12

22 Bienne 10 ordinateur 622 Bienne 25 papier 2103 Lausanne 25 papier 5603 Vevey 10 ordinateur 15

n L’adresse du fournisseur ne dépend que du fournisseur et pas du produit.

n Le type du produit ne dépend que du produit et pas du fournisseur

⇒ REDONDANCES

⇒ Anomalies de mise à jour

n Cette relation n'est pas correcte. Il faut la normaliser.

BDA 7.6

Normalisation d'un schéma logique

n Processus de transformation d'un schéma S1 pour obtenir un schéma S2 :uqui est équivalent (même contenu)udont les maj assurant la cohérence de la bd sont simples

n maj simple :uun changement élémentaire dans le monde réel se traduit

par une mise à jour d'un tuple

n Exemples de changements élémentairesu LivraisonTot (N°f, adrF, N°p, typeP, qté)u La quantité totale pour un produit et un fournisseur est

mise à jour => 1 tuple à m.a.j.u Un fournisseur change d'adresse => N tuples à m.a.j.

BDA 7.7

Normalisation d'une relation

n Processus de décomposition d'une relation à maj complexes en plusieurs relations à maj simples

n Processus sur le schéma relationnel formel

n Exemple : La relationLivraisonTot (N°f, adrF, N°p, typeP, qté)

sera décomposée en :

n LivraisonTot’ (N°f, N°p, qté)Fournisseur (N°f, adrF) Produit (N°p, typeP)

BDA 7.8

Normalisation

n On mesure la qualité d'une relation par son degré de normalisation :

n 1FN (première forme normale), 2FN, 3FN, FNBC (forme normale de Boyce Codd), 4FN, etc.

2FN 3FN FNBC 4FN

1FN

BDA 7.9

Normalisation ou traduction EA

Schéma relationnel normalisé

VALIDATION

Règles

TRADUCTIONEA - R

Niveau conceptuel (EA)

Niveau logique (Relationnel)

NORMALISATION

Schéma EA

Schéma EA valide

Schéma Relationnel

BDA 7.10

Exemple

Fournisseur (NF, Nom, Adr)Produit (NP, Nom, Type) Livraison (NP, NF, Date, Qté, Tél)

Décomposition des relations incorrectes

NORMALI-SATION

Fournisseur ProduitLivraison0-n 0-n

Nom Adr. Nom TypeQté DateTelTel

VALIDATION

Règles

Produit (NP, Nom, Type)Fournisseur’ (NF, Nom, Adr, Tél)Livraison’ (NP, NF, Date, Qté)

TRADUCTION

Produit0-n 0-n

Fournisseur

Nom Adr. Nom TypeQtéDate TelTel

Livraison

BDA 7.11

Dépendance fonctionnelle

n L’adresse d’un fournisseur ne dépend que du fournisseur, ..…

⇒ DÉPENDANCE FONCTIONNELLE (DF)

n Notation : u A, B, C … attributsu X, Y, Z … ensembles d'attributs

n Définition : Soit une relation R (X, Y, Z)il existe une DF : XàY si et seulement si dans R à une même valeur de X correspond toujours une même valeur de Y

BDA 7.12

Dépendance fonctionnelle (suite)

n X à Y : X détermine Y Y dépend de X

n X : source de la DF, Y : cible de la DF

n La source peut être un ensemble d’attributs :(nom, prénom) à adresse

R : X Y Zx1 y1 z1..........................x1 y1 z2..........................

BDA 7.13

Propriétés des DF

n Transitivité :si X à Y et Y à Z alors X à Z

(DF déduite)

n Augmentation :si X à Y alors (A, X) à Y quelque soit A(DF non élémentaire)

n On ne s’intéresse qu’aux DF élémentaires non déduitesuElles expriment les faits élémentaires du monde réeluCe sont elles qui permettent de déterminer si une relation

est bonneet sinon comment la décomposer

BDA 7.14

Graphe des DF

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

n On les représente sous forme d'un graphe orienté

graphe minimum des DF de la relation

n Une relation peut avoir plusieurs graphes minimum. Ils sont alors équivalents

n Exemple de graphe minimum :

R (A, B, C, D, E)EàA EàB EàC (≡ E à A, B, C)CàD

E

A B C D

BDA 7.15

Utilité du graphe des DF

n Vérifier que le graphe est bien minimum

n Trouver les identifiants de la relation

n Tester si la relation est bonne (bien normalisée)

n Sinon trouver les décompositions

Exemple de graphe non minimum

EàD est déduite de EàC et CàDIl faut supprimer EàD du graphe

E

A B C DX

BDA 7.16

Vérifier qu'un graphe est minimum

n DF non élémentaire

XàD est non élémentaire s'il existe une DF YàD telle Y est un sous-ensemble des attributs de X

(A,B,C)àD est non élémentaire

A B C

DX

XàD est déduite s'il existe un autre chemin XàA1… à...AnàD

X

DX

n DF déduite

BDA 7.17

Exemple de graphe des DFLivraisonTot (N°f, adrF, N°p, typeP, qté)

n N°f à adrFu l’adresse d’un fournisseur ne dépend que du fournisseur

n N°p à typePu le type d’un produit ne dépend que du produit

n (N°f, N°p) à qtéu la quantité totale livrée dépend du produit et du fournisseur

[faux : N°f à qté, N°p à qté ]

N°f N°p

adrF qté typeP

BDA 7.18

Un autre exemple

n RU (N°E, nom, prénom, adr, dateN, nomC, année, nbCrédits, prof, note)

n Définition :L'étudiant de numéro N°E a tel nom, tel prénom et habite actuellement à telle adresse (adr).L'étudiant (N°E) a obtenu telle année tel cours (nomC) avec telle note.Cette année là le cours était sous la responsabilité de tel prof et valait tant de crédits (nbCrédits).

n Faire le graphe minimum des DF

BDA 7.19

Graphe des DF de RU

N°E

nom

prénom

adr

dateN

nbCrédits

prof

note

nomC

année

BDA 7.20

DFs et identifiants

n Le graphe minimum des DF permet de trouver les identifiantsde la relation

n L’identifiant d’une relation est l’ensemble (minimal) des nœuds du graphe minimum à partir desquels on peut atteindre tous les autres nœuds (via les DF)

n Preuve : Pour que ce soit faux il faudrait qu’il y ait deux lignes avec la même valeur de l’« identifiant » et des valeurs différentes pour les autres attributs, ce qui est en contradiction avec les DF.

n Exemple : R (A, B, C, D, E)E

A B C à DE est l'identifiant de R

BDA 7.21

DFs et identifiants - Exemple

n Autre exemple : R (A, B, C, D, E, F, G)

F G

A B C E

D

(F, G) est l'identifiant de R

BDA 7.22

Normalisation par décomposition

n Soit une relation R qui contient des redondances et pose des problèmes lors des maj"Elle n'est pas normalisée"

n Il faut la décomposer en plusieurs relations meilleures ("normalisées") …

n par projection …

n en suivant les DFu cela assure d'obtenir des relations normalisées.

n Il faut s'assurer de conserver le même contenuLa jointure des nouvelles relations = R

BDA 7.23

Normalisation par décomposition (2)

Les requêtes sur R et celles sur la nouvelle BD donneront toujours le même résultat

R (A1, A2, … , An)

R1 = π[A1, A2,… Ai] RR2 = π[Ai, Ai+1,… Aj] R….Rk = π[Al, Al+1,… An] R

décomposition

jointure

nouvelle BD

Si R = R1*R2* …*Rkla décomposition est sans perte d'information

BDA 7.24

Théorème de Heath

n THEOREME :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

n R1 est alors nécessairement normalisée (en 3FN).Elle décrit le fait élémentaire XàY

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

BDA 7.25

Exemple : décomposition sans perte d'info

R1 (NomEmp, adresse, poste) R2 (NomEmp, age)Zoé

Armand

Marie

Lausanne

Genève

Bienne

secrétaire

secrétaire

directeur

Zoé

Armand

Marie

27

32

38

R = R1*R2NB Cette décomposition est sans perte d'information, mais inutile

Zoé

Armand

Marie

Lausanne

Genève

Bienne

secrétaire

secrétaire

directeur

27

32

38

R (NomEmp, adresse, poste, age)

BDA 7.26

Exemple : décomposition avec perte d'info

R1' (NomEmp, adresse, poste) R2' (poste, age)Zoé

Armand

Marie

Lausanne

Genève

Bienne

secrétaire

secrétaire

directeur

secrétaire

secrétaire

directeur

27

32

38

R1' * R2'Zoé

Zoé

Armand

Lausanne

Lausanne

Genève

secrétaire

secrétaire

secrétaire

27

32

27

32secrétaireGenèveArmand

38directeurBienneMarie

≠ R

Cette décomposition ne suit pas Heath

BDA 7.27

Application de Heath

n N°f à adrF => R1 (N°f, adrF) okLivraisonTot' (N°f, N°p, typeP, qté)

n N°p à typeP => R2 (N°p, typeP) okLivraisonTot'' (N°p, N°f, qté)

n (N°p, N°f) à qté =>LivraisonTot'' (N°p, N°f, qté) ok

LivraisonTot (N°f, adrF, N°p, typeP, qté)

N°f N°p

adrF qté typeP

BDA 7.28

Qualité d’une décompositionn Une « bonne » décomposition est une décomposition

1) sans perte d’information

2) sans perte de DF

3) qui produit des relations meilleures (mieux normalisées)

n Sans perte de DF :

Toute DF doit être dans l’une des relations obtenues par décomposition

Une DF ayant comme source un identifiant sera automatiquement vérifiée par le SGBD

Une DF perdue => une contrainte d'intégrité implicite => le SGBD ne peut pas la vérifier

BDA 7.29

Vérification des DF par le SGBD

n LivraisonTot ( N°f, adrF, N°p, typeP, qté )

DF vérifiées par le SGBD :(N°f, N°p) à adrF, typeP, qtéu Un même fournisseur peut avoir deux adressesu Un même produit peut avoir deux types

n LivraisonTot2 ( N°f, N°p, qté ) Fournisseur ( N°f, adrF )Produit ( N°p, typeP )

DF vérifiées par le SGBD :N°f à adrFN°p à typeP(N°f, N°p) à qté

BDA 7.30

Formes normales : 1FN

n Une relation est en 1FN si chaque valeur de chaque attribut de chaque tuple est une valeur simple (tous les attributs sont simples et monovalués).

n Exemple :

LivraisonTot (N°f, adrF, N°p, typeP, qté)est en 1FN

n Pratiquement, en relationnel on ne travaille que sur des relations en 1FN

BDA 7.31

2ème forme normale : 2FN

Livraison mélange la description :- de la livraison cumulée ( N°f, N°p, quantité)- du fournisseur ( N°f, adresse)- du produit ( N°p, type)

n Permet d’éliminer les attributs qui ne décrivent pasl’«objet» représenté par la relation

N°f N°p

adrF qté typeP

LivraisonTot (N°f, adrF, N°p, typeP, qté)

BDA 7.32

2ème forme normale : définition

n Des DF partent de composants de l’identifiant => Livraison n’est pas en 2FN

n Définition : une relation est en 2FN si - elle est en 1FN, et - chaque attribut qui ne fait pas partie de l’identifiant dépend d’un identifiant entier

LivraisonTot (N°f, adrF, N°p, typeP, qté)

N°f N°p

adrF qté typeP

BDA 7.33

Décomposition selon les DF

n Pour chaque source de DF créer une relation comprenant :ula sourceuet tous les attributs cibles de DF ayant cette source

N°f N°p

adrF qté typePR1 R2

R3

R1 (N°f, adrF)R2 (N°p, typeP)R3 (N°f, N°p, qté)

BDA 7.34

3FN : 3ème forme normale

n Permet d’éliminer des sous-relations incluses dansune relation

n Exemple : Fournisseur (N°fourn, ville, pays)

N°fourn

ville paysX

doit être décomposée en :F (N°fourn, ville)G (ville, pays)

N°fourn

ville pays

BDA 7.35

3ème forme normale : définition

n Profondeur de l’arbre des DF > 1 => Fournisseur n'est pas en 3FN

n Définition : Une relation est en 3FN si - elle est en 1FN, et- chaque attribut qui ne fait partie d’aucun identifiant dépend directement d’un identifiant entier

n Fournisseur (N°fourn, ville, pays)N°fourn

ville pays

BDA 7.36

Importance de la 3FN

n Toute relation peut toujours être décomposée en relations en 3FN sans aucune perte usans perte de DF, etusans perte d'information

n Ce n'est pas vrai pour les formes supérieures

n Il faut donc toujours faire des schémas au moins en 3FN

BDA 7.37

Forme normale de Boyce-Codd

n Généralise la 3FN aux relations à plusieurs identifiants

n Fournisseur (N°fourn, nom-fourn, N°produit, prix)avec 2 identifiants :u (N°fourn +N°produit)u (nom-fourn + N°produit)u 3NFu Mais des redondances : N°fourn et nom-fourn

n Définition : Une relation est en FNBC si :- elle est en 1FN, et - si toute source complète de DF est un identifiant entier

BDA 7.38

FNBC - exemple : Fournisseur

• Identifiants : (N°fourn + N°produit)(nomfourn + N°produit)

• Fournisseur est en 3FN mais pas en FNBC

n On doit décomposer pour obtenir des relations en FNBC

n Attention : Ce passage en FNBC n’est pas toujours possible sans perte de dépendances

n Fournisseur (N°fourn, nom-fourn, N°produit, prix)

N°fourn nom-fourn

N°produitprix (2 graphes possibles)

BDA 7.39

Décompostion de Fournisseurn Fournisseur (N°fourn, nom-fourn, N°produit, prix)

N°fourn nom-fourn

N°produitprix

n F1 (N°fourn, nom-fourn) avec 2 identifiantsF2 (N°fourn, N°produit, prix)

ou (si l'on prend l'autre graphe des DF)

n F1 (N°fourn, nom-fourn) avec 2 identifiantsF2’ (nom-fourn, N°produit, prix)

F2

F1

BDA 7.40

FNBC - exemple : Place

n 2 identifiants : (N°Etud + Matière)(Rang + Matière)

n Place est en 3FN et est en FNBC

N°Etud Matière

Rang

n Place (N°Etud, Matière, Rang)rang sans ex aequo

BDA 7.41

FNBC contre-exemple

n Enseignement (N°Etud, Matière, Prof)

N°Etud Matière

Prof

n 2 identifiants : (N°Etud + Matière)(N°Etud + Prof)

n Enseignement est en 3FN mais n’est pas en FNBC

BDA 7.42

Décomposition de Enseignement

n Enseignement (N°Etud, Matière, Prof)

n La décomposition selon Heath :R1 (Prof, Matière) R2 (Prof, N°Etud)est sans perte d’information

mais avec perte de la DF (N°Etud, Matière)àProf

n On peut insérer des tuples qui transgressent la DFuINSERT INTO R1 : (Rochat, BD)uINSERT INTO R1 : (Walis, BD)uINSERT INTO R2 : (Rochat, 12345)uINSERT INTO R2 : (Walis, 12345)

BDA 7.43

Enseignement : 2 solutions

n Solution 1uEnseignement (N°Etud, Prof, Matière) uavec la CI : un prof n'enseigne qu'une seule matière

n Solution 2uR1 (Prof, Matière)uR2 (Prof, N°Etud)uavec la CI : un étudiant suit une matière donnée avec un

seul prof

n Pas de solution idéaleLa solution 1 est préférableuelle génère moins de jointures lors des requêtesula CI est mono-relation

BDA 7.44

Algorithmes de décomposition / DF

n Plusieurs algorithmes pour décomposer selon les DF

n Algorithme 1 (d'après Heath)uR (A1, A2, A3, … An)uTant qu'il existe une DF élémentaire non déduite faire :

Soit AiàAj la DFSoient Ak,… Al les autres attributs qui dépendentdirectement de Ai : Aià(Aj, Ak, …Al)Remplacer R par

R1 (Ai, Aj, Ak, … Al)R2 (Ai, attributs de R autres que Aj, Ak, …Al)

uRecommencer l'algorithme pour R1 et R2

BDA 7.45

Algorithme 1

n Avantagesu relations en FNBC

n Inconvénientsu dépend de l'ordre selon lequel les DF sont traitéesu peut perdre des DFu peut trop décomposer

R1 (F, A, B)

R2 (G, E)

R3 (C, D, H)

R4 (F, G, C)

F G

A B C E

D H

R1 (F, A, B)

R2 (G, E)

R3' (F, G, C)

R4' (F, G , D, H)

CI : CàD,H

BDA 7.46

Méthode pragmatique

n Algorithme 2 (à partir des sources de DF)uR (A1, A2, A3, … An)uTant qu'il existe une source de DF élémentaire non déduite

faire :Choisir si possible une source dont toutes les cibles sontdes extrémités terminales du grapheSoient Ai la source et Aià(Aj, Ak,… Al) les DFCréer la relation Ri (Ai, Aj, Ak, … Al)Supprimer les attributs Aj, Ak, …Al de R

uSi aucune des relations Ri ne contient un identifiant de Ralors ajouter la relation : R0 (un identifiant de R)

NB La jointure avec R0 assure la non perte d'information

BDA 7.47

Algorithme 2

n Avantagesu relations en FN3u ne perd pas de DFu ne perd pas d'information (grâce à R0)

n Inconvénientsu peut trop décomposer (cf. Enseignement)

R1 (F, A, B)

R2 (G, E)

R3 (C, D, H)

R4 (F, G, C)

F G

A B C E

D H

BDA 7.48

Un autre type de dépendance

n Certaines relations en FNBC peuvent encore contenir des redondances, et poser des problèmes lors des maj

n Exemple : Cours (nomC, prof, livre)uCI : Pour chaque cours, il y a un ensemble de profs et un

ensemble de livres; ces deux ensembles sont indépendants.

nomC prof livreProgrammation Duval

SchmidtAlgorithmesProgr.1

BD JouveRochat

DateUllmannGardarin

Relation ennon 1FN

BDA 7.49

Un autre type de dépendance (2)

Cours (nomC, prof, livre) en 1FN

nomC prof livreProgrammation Duval AlgorithmesProgrammation Duval Progr.1Programmation Schmidt AlgorithmesProgrammation Schmidt Progr.1BD Jouve DateBD Jouve UllmannBD Jouve GardarinBD Rochat DateBD Rochat UllmannBD Rochat Gardarin

Cours contient beaucoup de redondances

BDA 7.50

Un autre type de dépendance (3)

n Cours pose des problèmes de majuajouter un nouveau professeur, Alex, au cours de BDucorriger le nom d'un livreu…

n Cependant Cours est déja bien normalisée

Cours est en FNBCuparce qu'il n'y a pas de DF

n En EA, Cours aurait deux attributs multivaluésuprofsulivres

indépendants l'un de l'autre

BDA 7.51

Dépendance multivaluée (DM)

n Définition :

Soit une relation R (X, Y, Z) Il y a dépendance multivaluée

X --->> Ysi à toute valeur de X correspond un ensemble de valeurs de Y qui est totalement indépendant de Z

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

n Remarque : DF est un cas particulier de DM

BDA 7.52

Graphe des dépendances de Cours

nomC

prof livre

La relation Cours contient une DM :nomC -->> prof | livre

Cours (nomC, prof, livre)

L'identifiant de livre est (nomC, prof, livre)

BDA 7.53

4ème forme normale (4FN)

n Sémantique : La 4FN permet de séparer des faits multivalués indépendants qui auraient été réunis dans une même relation

n Définition : R est en 4FN si :- elle est en 1ère FN, et- si toute DF ou DM de R a pour source un identifiant entier de RuRemarque : 4FN implique FNBC

n Autre définition : R est en 4FN si elle est en FNBC etne contient pas de DM

BDA 7.54

Décomposition selon une DM

n Exemple : Cours (nomc, prof, livre) FNBCest décomposé en :

nomC

prof livre

n Théorème de Heath n°2Si R(X, Y, Z) contient la DM X-->>Y|Z alors la décomposition en :

R1 = π[X,Y]R etR2 = π[X,Z]R

est sans perte d'information.

CoursProf (nomc, prof) 4FNCoursLivre (nomC, livre) 4FN uCes deux relations ne contiennent ni DF ni DM

BDA 7.55

Un dernier type de dépendance (DJ)

n Permet de décomposer une relation qui regrouperait 3 (ou +) liens indépendants

n Exemple : Vins (buveur, cru, producteur)

n Si Vins peut être décomposée en 3 relationsV1 (buveur, cru)V2 (buveur, producteur)V3 (cru, producteur)

avec Vins = V1 * V2 * V3 (jointure des 3 relations)

On dit qu’il y a dépendance de jointure (DJ)

n En EA, Vins serait une fausse association ternaire. Le réel contient 3 liens binaires indépendants.

BDA 7.56

Cinquième Forme Normale (5FN)

n Vins contient des redondances et pose des problèmes lors des maj

n Il faut donc décomposer Vins en V1, V2 et V3

n Définition : R est en 5FN si toute dépendance de jointure est impliquée par un identifiant (DJ triviale)

n Vins est en 4FN, mais pas en 5FN

n V1, V2 et V3 sont en 5FN

BDA 7.57

DJ triviale - Exemple

n 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 ce serait inutile, car Vin' ne contient pas de redondance

Vin' est déjà en 5FN

La décomposition de Vin' n'apporterait aucun gain de forme normale

BDA 7.58

DJ - conclusion

Pratiquement

n Les DJ sont rares et pas faciles à détecter

n On normalise en général en 4FN (si possible)

Cependant

n Une relation en 4FN peut contenir encore des redondances et poser des problèmes lors des m.a.j.

n D'autres FN ont encore été proposées.

BDA 7.59

Conclusion

Conception d'une bd relationnelle

n Objectif : arriver à un ensemble de relations tel que

- chaque relation décrit un type d’«objet» avec les seuls attributs qui lui sont directement liés

- les redondances d’information (génératrices de problèmes lors des mises à jour) sont éliminées

BDA 7.60

Conception d’une BD relationnelle

n Méthode 1 : par normalisation

n Décomposition sans perte d’information et sans perte de dépendances

n Outils :- dépendancesufonctionnellesumultivaluéesudépendances de jointure

- règles de normalisation

BDA 7.61

Limites de la méthode 1

n OK si le choix des relations initiales est bonu décomposition de chaque relation indépendamment des

autres

n Solution théorique : partir de la relation universelleu relation qui contient tous les attributsu gros schéma => nombre de dépendances énorme

n Autre solution : partir d'un schéma contenant plusieurs relationsnormaliser chaque relation (décomposition)vérifier la cohérence du schéma obtenuu relations de même identifiant à fusionner

(trop décomposé)

BDA 7.62

Conception d’une BD relationnelle

n Méthode 2 : par l'entité association

n Conception d’un schéma entité-association

n puis traduction de celui-ci en schéma relationnel

n Si la traduction n'a pas pris en compte les dépendances, vérifier la FN de chaque relation

Employé

AVS nom service

nomS adresse

avec la DF :nomSàadresse