Skip to main content

Dépendance à plusieurs valeurs dans les bases de données

Inman Connect Gary Vaynerchuk Keynote | 2016 (Avril 2025)

Inman Connect Gary Vaynerchuk Keynote | 2016 (Avril 2025)
Anonim

Dans une base de données relationnelle, une dépendance survient lorsque les informations stockées dans la même table de base de données déterminent de manière unique les autres informations stockées dans la même table. Une dépendance à valeurs multiples 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) d'une table sont indépendants l'un de l'autre, mais les deux dépendent d'un troisième attribut.

Une dépendance à plusieurs valeurs empêche la quatrième forme normale standard de normalisation (4NF). Les bases de données relationnelles suivent cinq formes normales qui représentent des directives 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 à valeurs multiples, il est utile de revoir ce qu’est une dépendance fonctionnelle.

Si un attribut X détermine uniquement un attribut Y, Y est fonctionnellement dépendant de X. Ceci est écrit sous la forme X -> Y. Par exemple, dans le tableau Students ci-dessous, Student_Name détermine la majeure:

Étudiants
Nom d'étudiantMajeur
RaviHistoire de l'art
BethChimie

Cette dépendance fonctionnelle peut s’écrire: Student_Name -> Major . Chaque Student_Name détermine exactement une majeure et pas plus.

Si vous souhaitez que la base de données répertorie également les sports pratiqués par ces étudiants, vous pouvez penser que le moyen le plus simple de procéder consiste simplement à ajouter une autre colonne intitulée Sport:

Étudiants
Nom d'étudiantMajeursport
RaviHistoire de l'artFootball
RaviHistoire de l'artVolley-ball
RaviHistoire de l'artTennis
BethChimieTennis
BethChimieFootball

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.

Ce tableau a introduit une dépendance à valeurs multiples car la majeure et le sport sont indépendants l'un de l'autre, mais les deux dépendent de l'étudiant.

Ceci est un exemple simple et facilement identifiable, mais une dépendance à plusieurs valeurs pourrait devenir un problème dans une base de données volumineuse et complexe.

Une dépendance à plusieurs valeurs est écrite X -> -> Y. Dans ce cas:

Nom d'étudiant ->-> MajeurNom d'étudiant->-> sport

Ceci est lu en tant que "Student_Name multidetermines Major" et "Student_Name multidetermines Sport."

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

Dépendance à valeurs multiples et normalisation

Une table avec une dépendance à plusieurs valeurs enfreint le standard de normalisation de la quatrième forme normale (4NK) car elle crée des redondances inutiles et peut contribuer à l'incohérence des données. Pour atteindre 4NF, il est nécessaire de diviser cette information en deux tableaux.

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

Etudiants et Majeures
Nom d'étudiantMajeur
RaviHistoire de l'art
RaviHistoire de l'art
RaviHistoire de l'art
BethChimie
BethChimie

Alors que cette table a aussi une dépendance fonctionnelle unique de Student_Name -> Sport:

Etudiants et Sports
Nom d'étudiantsport
RaviFootball
RaviVolley-ball
RaviTennis
BethTennis
BethFootball

Il est clair que la normalisation est souvent abordée en simplifiant les tableaux complexes afin qu'ils contiennent des informations relatives à une idée ou à un thème unique plutôt que d'essayer de faire en sorte qu'un tableau unique contienne trop d'informations disparates.