Bonsoir,
Envoyé par
oneagaindoguys
J'ai une table qui a trois a attributs : A B et C pour faire simple
le triplet ABC est ma clé primaire.
J'ai une dépendance fonctionnelle (non implémentée ici) en A et B
Le triplet {A, B, C} n’est pas clé, mais c’est plutôt la paire {A, C}. En effet, du fait de la dépendance fonctionnelle, le triplet viole la règle d’irréductibilité des clés candidates.
Par ailleurs, toujours du fait de la dépendance fonctionnelle, la table viole la deuxième forme normale et devrait théoriquement être décomposée en deux tables :
T1 {A, B} de clé primaire {A}
T2 {A, C} de clé primaire {A, C}, avec clé étrangère {A} référençant T1.
Quand vous aurez réparé les dégâts, normalisez en mettant en œuvre T1 et T2, et, pour respecter la 9e des 12 règles de Codd, définissez une vue qui soit la jointure naturelle de T1 et T2 et représente votre table actuelle.
Si on vous empêche de procéder ainsi, mettez au moins en œuvre un trigger permettant de faire respecter la dépendance fonctionnelle {A} -> {B}.
Partager