Une dépendance fonctionnelle est exactement ce que le terme implique - la sortie de la fonction est toujours déterminée par l'entrée. Si par exemple nous avons une fonction f () , et fournissons la variable x , et nous recevons toujours la sortie y , alors y dépend fonctionnellement de x. Vous pouvez penser à cela comme une simple fonction graphique
2x + 1 = y
Brancher quelques exemples de valeurs dans la fonction que nous obtenons:
X Y
------
1 3
2 5
3 7
etc. Ainsi, nous savons que pour chaque valeur de x, il y a une valeur de y qui sera toujours cette valeur de y pour ce x.
Codd a adapté cela à la gestion des données pour déterminer si la valeur d'un élément de données se traduit toujours par une valeur connue d'un deuxième élément de données comme s'il s'agissait de l'entrée et de la sortie d'une fonction. Ainsi, par exemple, si nous constatons que chaque employé d'une petite entreprise se voit attribuer un numéro d'employé et que nous créons une simple liste de numéros et de noms d'employés, nous constatons que le nom dépend fonctionnellement de ce numéro d'employé. Chaque fois que nous voyons l'employé numéro 7 par exemple, nous voyons le nom «Jim Brown». Cela représente dans la base de données la proposition qui est vraie dans le monde réel - à savoir que l'employé numéro 7 est la personne nommée «Jim Brown» que nous pouvons désigner et dire «c'est lui».
La dépendance fonctionnelle peut être implémentée comme une contrainte unique car il existe une relation un à un entre l'entrée de la fonction et la sortie attendue. Dans l'exemple d'algèbre, lorsque nous connectons 2 à l'équation 2x + 1, nous obtenons toujours 5. En appliquant cet exemple à la gestion des données dans l'exemple ci-dessus, chaque fois que nous avons l'employé numéro 7, nous devons avoir un et un seul nom et d'autres caractéristiques qui vont avec. Nous ne pouvons pas avoir d'employé numéro 7 associé à "Jim Brown" et "Bob Jones" plus que nous ne pourrions dire que brancher 7 sur 2x + 1 peut donner 15 et 25.
Les dépendances fonctionnelles sont par définition implémentées lorsqu'une contrainte unique est placée sur chaque table identifiant chaque ensemble d'éléments de données qui ont une relation un à un avec un autre ensemble d'éléments de données et dont les valeurs varient toujours avec ce premier ensemble. La notation est généralement:
A,B ---> C
Cela signifie que la valeur de A et B détermine la valeur de C. Peut-être A est le numéro d'employé et B est le numéro dépendant, et C est le nom de la personne à charge. Donc, dans ce sens, ils s'appliquent à chaque table de chaque schéma de chaque base de données.
Quelques bonnes références sur la théorie relationnelle sont la série Practical Database Foundation de Fabian Pascal et le livre Relation Theory for Computer Professionals de Chris Date .