Dépendance multivaluée dans les bases de données

Table des matières:

Dépendance multivaluée dans les bases de données
Dépendance multivaluée dans les bases de données
Anonim

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 multivaluée 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 tous deux dépendent d'un troisième attribut.

Image
Image

Une dépendance multivaluée 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 multivaluée

Pour comprendre une dépendance multivaluée, 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 Étudiants ci-dessous, le Nom_Étudiant détermine la Majeure:

Student_Name Majeur
Ravi Histoire de l'art
Beth Chimie

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

Si vous voulez que la base de données suive également les sports pratiqués par ces élèves, vous pourriez penser que la façon la plus simple de le faire est simplement d'ajouter une autre colonne intitulée Sport:

Student_Name Majeur Sports
Ravi Histoire de l'art Football
Ravi Histoire de l'art Volley-ball
Ravi Histoire de l'art Tennis
Beth Chimie Tennis
Beth Chimie Football

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

Ce tableau a introduit une dépendance multivaluée car la majeure et le sport sont indépendants l'un de l'autre mais dépendent tous deux de l'étudiant. Ceci est un exemple simple et facilement identifiable, mais une dépendance multivaleur pourrait devenir un problème dans une grande base de données complexe.

Une dépendance multivaluée 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 à plusieurs valeurs 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 multivaluée et normalisation

Une table avec une dépendance multivaluée 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 tables.

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

Student_Name Majeur
Ravi Histoire de l'art
Ravi Histoire de l'art
Ravi Histoire de l'art
Beth Chimie
Beth Chimie

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

Student_Name Sports
Ravi Football
Ravi Volley-ball
Ravi Tennis
Beth Tennis
Beth Football

La normalisation est souvent accomplie en simplifiant des 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'un seul tableau contienne trop d'informations disparates.

Conseillé: