Dépendance fonctionnelle complète dans la normalisation de la base de données

Image illustrant : Dépendance fonctionnelle complète dans la normalisation de l
  1. Accueil
  2. Logiciels
  3. Autres logiciels
  4. Dépendance fonctionnelle complète dans la normalisation de l

Protégez vos données en les normalisant à au moins 2NF

Une dépendance fonctionnelle complète est un état de normalisation de la base de données qui équivaut à la norme de normalisation de la deuxième forme normale (2NF). En bref, cela signifie qu'il répond aux exigences de la première forme normale (1NF) et que tous les attributs non clés dépendent entièrement de la clé primaire.

Ce n'est pas aussi compliqué que cela puisse paraître. Regardons cela plus en détail.

Résumé de la première forme normale

Avant qu'une base de données puisse être entièrement dépendante fonctionnellement, elle doit d'abord être conforme à la première forme normale . Tout cela signifie que chaque attribut doit contenir une seule valeur atomique.

Par exemple, le tableau suivant n'est pas conforme à 1NF car l'employé Tina est lié à deux emplacements, tous deux dans une seule cellule :

Employé Emplacement
John Los Angeles
Tina Los Angeles, Chicago

Autoriser cette conception pourrait avoir un impact négatif sur les mises à jour ou les entrées de données. Pour garantir la conformité 1NF, réorganisez le tableau de sorte que tous les attributs (ou cellules de colonne) contiennent une seule valeur :

Employé Emplacement
John Los Angeles
Tina Los Angeles
Tina  Chicago

Mais 1NF n'est toujours pas suffisant pour éviter des problèmes avec les données.

Comment 2NF fonctionne pour assurer une dépendance totale

Pour être entièrement dépendants, tous les attributs de clé non-candidat doivent dépendre de la clé primaire.

Note: Un   attribut de clé candidate est toute clé (par exemple, une clé primaire ou étrangère) utilisée pour identifier de manière unique un enregistrement de base de données.

Les concepteurs de bases de données utilisent une notation pour décrire les relations de dépendance entre les attributs :

Si l'attribut A détermine la valeur de B, nous écrivons  A -> B , ce qui signifie que B dépend fonctionnellement de A. Dans cette relation, A détermine la valeur de B, tandis que B dépend de A.

Par exemple, dans la  table Employee Departments suivante , EmployeeID et DeptID sont tous deux des clés candidates : EmployeeID est la clé primaire de la table tandis que DeptID est une clé étrangère. Tout autre attribut (dans ce cas, EmployeeName et DeptName) doit dépendre de la clé primaire pour obtenir sa valeur.

ID de l'employé Nom de l'employé ID dept NomDépt
Emp1 John Dept001 La finance
Emp2 Tina Dept003 Ventes
Emp3 Carlos Dept001 La finance

Dans ce cas, la table n'est pas entièrement dépendante car, alors que le EmployeeName dépend de la clé primaire EmployeeID , le DeptName dépend à la place du DeptID . C'est ce qu'on appelle la dépendance partielle.

Pour rendre cette table conforme à 2NF, nous devons séparer les données en deux tables : une table Employés et une table Départements. Voici le tableau des employés :

ID de l'employé Nom de l'employé ID dept
Emp1 John Dept001
Emp2 Tina Dept003
Emp3 Carlos Dept001

Nous supprimons l' attribut DeptName de la table Employees et créons une nouvelle table Departments :

ID dept NomDépt
Dept001 La finance
Dept002 Ressources humaines
Dept003 Ventes

Désormais les relations entre les tables sont entièrement dépendantes, soit en 2NF.

Pourquoi la dépendance totale est importante

La dépendance totale entre les attributs de la base de données permet de garantir l'intégrité des données et d'éviter les anomalies de données.

Par exemple, considérons le tableau de la section ci-dessus qui adhère uniquement à 1NF. Le voici, encore une fois :

Employé Emplacement
John Los Angeles
Tina Los Angeles
Tina Chicago

Tina a deux records. Si nous mettons à jour un sans nous rendre compte qu'il y en a deux, le résultat serait des données incohérentes.

Ou, que se passe-t-il si nous voulons ajouter un employé à cette table, mais nous ne connaissons pas encore l'emplacement ? Nous pourrions même être interdits d'ajouter un nouvel employé si l' attribut Location n'autorise pas les valeurs NULL.

Cependant, la dépendance totale n'est pas l'ensemble du tableau lorsqu'il s'agit de normalisation. Vous devez vous assurer que votre base de données est en  troisième forme normale  (3NF).

Partager Tutoriel

Autres Tutoriels sur (Base, Données) ...