Dépendance à valeurs multiples dans la conception de bases de données

Image illustrant : Dépendance à valeurs multiples dans la conception de bases d
  1. Accueil
  2. Logiciels
  3. Autres logiciels
  4. Dépendance à valeurs multiples dans la conception de bases d

La dépendance à plusieurs valeurs brise la quatrième forme normale. Expérimentez e lisant cet article comment cela est-il possible.

Dans une base de données relationnelle , une dépendance se produit lorsque les informations stockées dans la même table de base de données déterminent de manière unique d'autres informations stockées dans la même table. Une dépendance à plusieurs valeurs se produit lorsque la présence d'une ou plusieurs lignes dans une table implique la présence d'une ou plusieurs autres lignes dans cette même table. En d'autres termes, deux attributs (ou colonnes) dans une table sont indépendants l'un de l'autre, mais dépendent tous deux d'un troisième attribut.

Une dépendance à valeurs multiples empêche la quatrième forme normale standard de normalisation . Les bases de données relationnelles suivent cinq formes normales qui représentent des lignes directrices pour la conception des enregistrements. Ils évitent les anomalies de mise à jour et les incohérences dans les données. La quatrième forme normale traite des relations plusieurs à un dans une base de données .

Dépendance fonctionnelle vs dépendance à plusieurs valeurs

Pour comprendre une dépendance à plusieurs valeurs, il est utile de revoir ce qu'est une dépendance fonctionnelle .

Si un attribut X détermine de manière unique un attribut Y, alors Y dépend fonctionnellement de X. Cela s'écrit X -> Y. Par exemple, dans le tableau Students ci-dessous, le Student_Name détermine le majeur:

Nom d'étudiant Majeur
Ravi Histoire de l'art
Beth Chimie
Étudiants

Cette dépendance fonctionnelle peut s'écrire: Student_Name -> Major . Chaque Student_Name détermine exactement un majeur et pas plus.

Si vous souhaitez que la base de données suive également les sports que pratiquent ces étudiants, vous pourriez penser que le moyen le plus simple de le faire est d'ajouter simplement une autre colonne intitulée Sport:

Nom d'étudiant Majeur sport
Ravi Histoire de l'art Le football
Ravi Histoire de l'art Volley-ball
Ravi Histoire de l'art Tennis
Beth Chimie Tennis
Beth Chimie Le football
Étudiants

Le problème ici est que Ravi et Beth pratiquent plusieurs sports. Il est nécessaire d'ajouter une nouvelle ligne pour chaque sport supplémentaire. 

Cette table a introduit une dépendance à plusieurs valeurs car la majeure et le sport sont indépendants l'un de l'autre mais dépendent tous deux de l'élève. Il s'agit d'un exemple simple et facilement identifiable, mais une dépendance à valeurs multiples pourrait devenir un problème dans une base de données volumineuse et complexe.

Une dépendance à plusieurs valeurs s'écrit X -> -> Y. Dans ce cas:

Student_Name   -> ->  Major
Student_Name  -> ->  Sport

Ceci est lu comme "Student_Name multidetermines Major" et "Student_Name multidetermines Sport".

Une dépendance à valeurs multiples nécessite toujours au moins trois attributs car elle se compose d'au moins deux attributs qui dépendent d'un troisième.

Dépendance à plusieurs valeurs et normalisation

Une table avec une dépendance à valeurs multiples enfreint la norme de normalisation de la quatrième forme normale car elle crée des redondances inutiles et peut contribuer à des données incohérentes. Pour amener cela à 4NF, il est nécessaire de diviser ces informations en deux tableaux.

Le tableau ci-dessous a maintenant une dépendance fonctionnelle de Student_Name -> Major, et aucune dépendance à plusieurs valeurs:

Nom d'étudiant Majeur
Ravi Histoire de l'art
Ravi Histoire de l'art
Ravi Histoire de l'art
Beth Chimie
Beth Chimie

Étudiants et majors

Bien que cette table ait également une seule dépendance fonctionnelle de Student_Name -> Sport:

Nom d'étudiant sport
Ravi Le football
Ravi Volley-ball
Ravi Tennis
Beth Tennis
Beth Le football
Etudiants et sports

La normalisation est souvent accomplie en simplifiant les tableaux complexes afin qu'ils contiennent des informations liées à une seule idée ou thème plutôt que d'essayer de faire en sorte qu'une seule table contienne trop d'informations disparates.

Partager Tutoriel

Autres Tutoriels sur (base,données) ...