Bonjour,
Vous avez effectué la partie la plus difficile du travail, c'est-à-dire déterminé la couverture minimale et la liste des clés de R. Je m’étonne donc que vous ne sachiez pas résoudre les points 3 et 4. Enfin, passons.
Point 3
Rappelons d’abord ce qu’est une dépendance fonctionnelle totale (ou élémentaire).Soit R une relation, X un sous-ensemble quelconque d’attributs de R et L un attribut quelconque de R. La dépendance fonctionnelle X → {L} est dite totale (ou élémentaire) s’il n’existe pas Y strictement inclus dans X tel que Y → {L}.
Par ailleurs, puisque la paire {B, D} est clé candidate de votre relation R, cette paire constitue le déterminant (entre autres) d’autant de DF qu’il y a d’attributs :
DF01 : {B,D} → {A}
DF02 : {B,D} → {B}
DF03 : {B,D} → {C}
DF04 : {B,D} → {D}
DF05 : {B,D} → {E}
DF06 : {B,D} → {F}
DF07 : {B,D} → {G}
Observons que la DF DF07 n’est pas totale, puisque, selon votre couverture, il existe {B} strictement inclus dans {B,D} tel que :
DF08 : {B} → {G}.
Considérons maintenant l’énoncé de la 2NF :
Une relation R est en deuxième forme normale (2NF) si elle est en première forme normale (1NF) et si chaque attribut n’appartenant pas à une clé candidate est en dépendance totale de chaque clé candidate de R.
Admettons que votre relation R{A,B,C,D,E,F,G} soit en 1NF.
L’attribut G n’appartient à aucune clé candidate (les seules clés étant les paires {B,D} et {D,E}). A cause de DF08, G ne dépend que d’une partie de la clé {B,D}, en conséquence de quoi votre relation R ne respecte pas la 2NF. Au mieux, elle respecte donc la 1NF.
Point 4
Pour normaliser, il est donc nécessaire d’évacuer l’attribut G de la relation (même chose pour l’ensemble des attributs fautifs). Ceci passe par l’application dut théorème de Heath (1971) :
Soit la relvar R {A,B,C} dans laquelle A, B et C sont des ensembles d’attributs de R. Si R satisfait à la dépendance fonctionnelle A → B, alors R est égale à la jointure de ses projections sur {A,B} et {A,C}.
Ainsi, votre relation satisfait à la dépendance fonctionnelle {B} → {G} et elle est égale à la jointure de ses projections R1 et R2 :
R1{A,B,C,D,E,F}
R2{B,G}.
Je vous laisse le soin de vérifier si R1 et R2 sont oui ou non en 2NF, et dans la négative, poursuivre le travail de dénormalisation par application du théorème de Heath.
Pour éviter de perdre certaines DF (donc des règles de gestion importantes), je vous engage à tenir compte de la règle de Rissanen quand deux décompositions sont possibles :
Soit la relvar R {A,B,C} dans laquelle A, B et C sont des ensembles d’attributs de R. Si R satisfait aux dépendances fonctionnelles A → B et B → C, alors plutôt que de décomposer R en {A,B} et {A,C}, on décomposera R en {A, B} et {B, C}.
Ainsi, du fait des DF
DF09 : {E} → {C}
DF10 : {C} → {F}
vous commencerez par traiter DF10 avant DF09.
Attention, à la fin du travail, vous devriez vous retrouvez avec une relation ne comportant que les attributs B, D et E. La poursuite de la normalisation comporte alors un piège que je vous laisse le soin de découvrir.
Partager