Informatique


La dépendance transitive

Aller à

Le cas pratique

Soit l'entité CLIENTS, celle-ci regroupe les clients d'une société.
Cette société classe ses clients en 4 catégories (A, B, C, D) auxquelles elle fait un pourcentage de remise de 25% pour les clients A, 10% pour les B, 6% pour les C et rien pour les D.

Extrait de la table CLIENTS:

id_clinom_clicateg_cliremis_cli
1Brussels AirlinesA0.25
2UnileverA0.25
3Vandeput DirkD0.00
4Grégoire SAB0.10
5Boucherie SansosC0.06


Anomalies

de construction

Un champs est entièrement déterminé par la clé de la table, c'est une règle absolue.
On constate ici que le champ "Remise" dépend certes de la clé (donc du client) mais aussi d'un autre champ, le champ "Categorie".

Cette situation porte le nom très compliqué de "dépendance transitive",
expression que vous ne manquerez pas d'entendre dans vos études supérieures.

de redondance

Comme on peut le constater cette dépendance transitive génère également une redondance d'information!

de modification

La redondance rend pariculièrement ardue la modification par exemple dans le cas où le taux de remise change pour une catégorie de client. l'intégrité des données est donc mise à mal.


Solution

On crée une table avec le champ qui générait la dépendance transitive, le champ CATEGORIES.

On crée une table avec le champ qui générait la dépendance transitive, le champ "Categorie".

id_catnom_catremis_cat
1A0.25
2B0.10
3C0.06
4D0.00

id_clinom_cliid_cat
1Brussels Airlines1
2Unilever1
3Vandeput Dirk4
4Grégoire SA2
5Boucherie Sansos3

La relation CONCERNER s'exprime comme suit:

  • un client peut appartenir à une et une seule catégorie
  • une catégorie contient 0 ou plusieurs clients

Généralisons:

  • Une occurence de la table CLIENTS est en relation avec 1 et une seule occurences de la table CATEGORIES
  • Une occurence de la table CATEGORIES est en relation avec 1 ou plusieurs (ou n) occurences de la table CLIENTS
  • La relation CONCERNER est de type (1-1) (1-n)

La relation CLIENTS CATEGORIES est de type (1-1) (1-n)

Une entité ou association est en 3NF lorsque celle-ci est en 2NF et que ses attributs ne sont pas en DF par rapport à un autre attribut non clé (dépendance transitive)