Une dépendance est une contrainte qui s'applique à ou définit la relation entre les attributs. Cela se produit dans une base de données lorsque des 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. Vous pouvez également décrire cette relation comme une relation où connaître la valeur d'un attribut (ou d'un ensemble d'attributs) suffit pour vous indiquer la valeur d'un autre attribut (ou d'un ensemble d'attributs) dans la même table.
Les dépendances de bases de données confondent souvent les étudiants et les professionnels des bases de données. Heureusement, ils ne sont pas aussi compliqués qu'ils peuvent paraître. Ils peuvent être mieux expliqués à l'aide de quelques exemples. Ici, nous examinerons les types de dépendance de base de données courants.
Dépendances de base de données et dépendances fonctionnelles
Dire qu'il existe une dépendance entre les attributs d'une table revient à dire qu'il existe une dépendance fonctionnelle entre ces attributs. S'il existe une dépendance dans une base de données telle que l'attribut B dépend de l'attribut A, écrivez ceci comme suit:
A -> B
Par exemple, dans un tableau répertoriant les caractéristiques des employés, y compris leur numéro de sécurité sociale (SSN) et leur nom, on peut dire que ce nom dépend du SSN (ou du SSN -> nom) car le nom d’un employé peut être déterminé de manière unique à partir d’un SSN. Toutefois, l'instruction inverse (nom -> SSN) n'est pas vraie, car plusieurs employés peuvent porter le même nom mais avoir toujours des SSN différents. Une dépendance fonctionnelle triviale se produit lorsque vous décrivez la dépendance fonctionnelle d'un attribut sur une collection d'attributs incluant l'attribut d'origine. Par exemple, {A, B} -> B est une dépendance fonctionnelle triviale, de même que {name, SSN} -> SSN. Ce type de dépendance fonctionnelle est appelé trivial car il peut être dérivé du sens commun. Il est évident que si vous connaissez déjà la valeur de B, celle-ci peut uniquement être déterminée par cette connaissance. Une dépendance fonctionnelle complète se produit lorsque vous remplissez déjà les conditions requises pour une dépendance fonctionnelle et que l'ensemble des attributs figurant à gauche de l'instruction de dépendance fonctionnelle ne peut plus être réduit. Par exemple, {SSN, age} -> name est une dépendance fonctionnelle, mais il ne s'agit pas d'une dépendance fonctionnelle complète, car vous pouvez supprimer l'âge du côté gauche de l'instruction sans impacter la relation de dépendance. Les dépendances transitives se produisent lorsqu'il existe une relation indirecte provoquant une dépendance fonctionnelle. Par exemple, A -> C est une dépendance transitive quand elle est vraie uniquement parce que les deux A -> B et B -> C sont vrais. Les dépendances à valeurs multiples se produisent 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. Par exemple, imaginons une entreprise automobile qui fabrique de nombreux modèles de voitures, mais fabrique toujours les couleurs rouge et bleue de chaque modèle. Si votre table contient le nom du modèle, la couleur et l'année de chaque voiture fabriquée par la société, cette table contient une dépendance à plusieurs valeurs. S'il existe une ligne pour un nom de modèle et une année en bleu, il doit également exister une ligne similaire correspondant à la version rouge de cette même voiture. Les dépendances de base de données sont importantes à comprendre car elles fournissent les éléments de base utilisés dans la normalisation de la base de données, le processus d’organisation efficace des données dans une base de données. Par exemple: Dépendances fonctionnelles triviales
Dépendances fonctionnelles complètes
Dépendances transitives
Dépendances à valeurs multiples
Importance des dépendances