Gestion d'une base de données : les dépendances

Signaler

I) Dépendance fonctionnelle directe (clé primaire)

Le numéro d’un fournisseur (Numf) permet de directement trouver le nom (Nomf) et l’adresse (Adressef) de celui-ci. Numf est donc un attribut de clé primaire.

II) Dépendance fonctionnelle entre relations (clé étrangère)

Le renvoi vers un attribut présent dans une autre relation (attribut de clé étrangère) représente une dépendance fonctionnelle entre 2 relations.

III) Dépendances fonctionnelles composées (clé primaire concaténée)

Il s'agit du regroupement de deux clés primaires en un seul attribut. La clé concaténée met en interdépendance deux clés primaires étrangères au sein d’une 3e relation.

Relation 1 : le numéro d’une commande (Numcom) 

Relation 2 : la référence d’un produit (Numref) 

Relation 3 : l’activité (Numcom#, Numref #, Quantité)

Cela permet donc, dans notre exemple, de savoir, au sein d’une commande particulière, combien de produits d’une référence particulière ont été commandés.

IV) Éviter les redondances

Il existe des règles à appliquer afin d’éviter les répétitions et les incohérences : 

  • Règle 1 : 1FN (forme normale 1)
  • Règle 2 : 2FN (forme normale 2)
  • Règle 3 : 3FN (forme normale 3)

1 FNcleˊ primaire+attributs ayant des valeurs non divisibles1~FN \Rightarrow clé~primaire + attributs~ayant~des~valeurs~non~divisibles

Par exemple : sur la clé primaire Numf (fournisseur), il ne pourra pas y avoir Numcom (commande) car il peut y avoir plusieurs commandes.

Fournisseur (Numf, Nomf, Adressef)

Commandes (Numf#, Numcom1)

2FN1FN2FN \Rightarrow 1FN : les attributs non clé dépendent entièrement de la clé primaire (et pas seulement une partie de la clé).

3FN3FN3FN \Rightarrow 3FN : les attributs non clé dépendent directement de la clé primaire (et pas directement d’un attribut non clé).