Peut on avoir une relation donc une partie de la clé depend fonctionnellement d'un attribut non clé.
Peut on avoir une relation donc une partie de la clé depend fonctionnellement d'un attribut non clé.
C'est normal. Exemple :
Si r1 est la relation suivante A, B, C => D, E, F
Si r2 est la relation F => B
Alors le graphe est minimal.
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Bonjour,
On peut effectivement rencontrer cette situation, mais il y a alors violation de la forme normale de Boyce-Codd (FNBC ou BCNF). En théorie, le schéma de la relation doit donc être décomposé.
En ce sens, reprenons l’exemple de SQLpro.
Schéma de relation :
R {A, B, C, D, E, F}Ensemble des dépendances fonctionnelles non triviales :
{A, B, C} -> {D},Si l’on veut respecter la BCNF, alors on applique le théorème de Heath qui permet de décomposer R en R1 et R2 :
{A, B, C} -> {E},
{A, B, C} -> {F},
{F} -> {B}.
R1 {F, B}Et :
Ayant pour ensemble de DF fonctionnelles non triviales :
F1 = {{F} -> {B}}
(R1 a donc pour clé : {F})
R2 {A, B, C, D, E}Avec R = R1 JOIN R2 (décomposition sans perte de données).
Ayant pour ensemble de DF non triviales :
F2 = {{A, B, C} -> {D}, {A, B, C} -> {E}}
(R2 ayant pour clé : {A, B, C})
Mais la décomposition a des effets secondaires embarrassants, façon Charybde et Scylla car, si on a normalisé, en revanche on a perdu une dépendance fonctionnelle, donc une règle de gestion des données. Heureusement, on est rarement confronté à cette situation lors de la modélisation des bases de données et qui le plus souvent est — en dehors des cas d'école — la conséquence d'une règle de gestion des données contestable et que 9 fois sur 10 la Maîtrise d'oeuvre convient d'amender.
(a) Faites simple, mais pas plus simple ! (A. Einstein)
(b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)
__________________________________
Bases de données relationnelles et normalisation : de la première à la sixième forme normale
Modéliser les données avec MySQL Workbench
Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager