46
Introduction pratique aux bases de données relationnelles
d'employé et du numéro de projet. Les deux attributs qui forment
ensemble une clé composée sont généralement (mais pas
obligatoirement) placés dans les premières colonnes adjacentes de la
table (Figure 2-18).
Paradoxalement, la transformation en première forme normale
nous donne une table qui comporte des redondances. Dans la figure
2-18, le nom et la ville d'un employé sont redondants, car ils se
répètent à chacune de ses participations aux projets. La deuxième
forme normale nous permet d'y remédier.
Deuxième forme normale (2FN)
La 2FN exige la
dépendance
fonctionnelle totale
Une table satisfait à la deuxième forme normale si elle est déjà
en première forme normale et s'il existe une dépendance fonctionnelle
totale reliant la clé à chaque attribut non clé.
Dépendance
fonctionnelle entre
les attributs
Un attribut B est fonctionnellement dépendant de l'attribut A, si à
chaque valeur de A correspond une et une seule valeur de B (noté
conventionnellement AoB). Par conséquent, la dépendance
fonctionnelle (functional dependency, en anglais) de A vers B exprime
le fait que chaque valeur de A détermine de manière unique une
valeur de B. Une propriété connue des clés d'identification est que les
atttributs non clés dépendent de la clé de manière unique. Dans une
table donnée, il existe donc une dépendance fonctionnelle SoB entre
la clé d'identification S et un attribut quelconque B.
Dépendance
fonctionnelle totale
envers une clé
composée
Dans le cas des clés composées, nous devons compléter la notion
de dépendance fonctionnelle par celle de la dépendance fonctionnelle
totale. Un attribut B est en dépendance fonctionnelle totale envers une
clé composée de S1 et S2 (notée (S1,S2)B), si B est
fonctionnellement dépendant de toute la clé composée, pas seulement
d'une partie de cette clé. La dépendance fonctionnelle totale exprime
donc le fait que la totalité de la clé composée détermine de manière
unique les attributs non clés. En revanche, nous disons qu'il existe une
dépendance fonctionnelle (S1,S2)oB, si S1oB (S1 détermine B) ou
S2oB (S2 détermine B). Dans la dépendance fonctionnelle totale
(full functional dependency, en anglais) d'une clé vers un attribut,
celui-ci ne doit donc pas dépendre des parties de cette clé.
Introduction pratique aux bases de données relationnelles
d'employé et du numéro de projet. Les deux attributs qui forment
ensemble une clé composée sont généralement (mais pas
obligatoirement) placés dans les premières colonnes adjacentes de la
table (Figure 2-18).
Paradoxalement, la transformation en première forme normale
nous donne une table qui comporte des redondances. Dans la figure
2-18, le nom et la ville d'un employé sont redondants, car ils se
répètent à chacune de ses participations aux projets. La deuxième
forme normale nous permet d'y remédier.
Deuxième forme normale (2FN)
La 2FN exige la
dépendance
fonctionnelle totale
Une table satisfait à la deuxième forme normale si elle est déjà
en première forme normale et s'il existe une dépendance fonctionnelle
totale reliant la clé à chaque attribut non clé.
Dépendance
fonctionnelle entre
les attributs
Un attribut B est fonctionnellement dépendant de l'attribut A, si à
chaque valeur de A correspond une et une seule valeur de B (noté
conventionnellement AoB). Par conséquent, la dépendance
fonctionnelle (functional dependency, en anglais) de A vers B exprime
le fait que chaque valeur de A détermine de manière unique une
valeur de B. Une propriété connue des clés d'identification est que les
atttributs non clés dépendent de la clé de manière unique. Dans une
table donnée, il existe donc une dépendance fonctionnelle SoB entre
la clé d'identification S et un attribut quelconque B.
Dépendance
fonctionnelle totale
envers une clé
composée
Dans le cas des clés composées, nous devons compléter la notion
de dépendance fonctionnelle par celle de la dépendance fonctionnelle
totale. Un attribut B est en dépendance fonctionnelle totale envers une
clé composée de S1 et S2 (notée (S1,S2)B), si B est
fonctionnellement dépendant de toute la clé composée, pas seulement
d'une partie de cette clé. La dépendance fonctionnelle totale exprime
donc le fait que la totalité de la clé composée détermine de manière
unique les attributs non clés. En revanche, nous disons qu'il existe une
dépendance fonctionnelle (S1,S2)oB, si S1oB (S1 détermine B) ou
S2oB (S2 détermine B). Dans la dépendance fonctionnelle totale
(full functional dependency, en anglais) d'une clé vers un attribut,
celui-ci ne doit donc pas dépendre des parties de cette clé.
