Les attributs d'une entité (ou d'une association) doivent dépendre de la clef de manière directe.
Un ensemble B dépend fonctionnellement d'un ensemble A si la connaissance d'un élément a € A détermine un et un seul élément b € B.
On dit alors que A détermine B.
Ceci est applicable aux entités du MCD, A et B étant des attributs et a et b des valeurs affectées à ces attributs.
La question fondamentale à se poser est : Connaissant une valeur de la source, peut-on connaître une valeur unique du but ?.
Quand la réponse est affirmative, on a l'habitude de représenter cette dépendance comme suit :
SOURCE =====> BUT
Dépendance fonctionnelle à partie gauche ( source ) non composée.
Il peut arriver que ce soit la combinaison de plusieurs attributs ( en source ) qui permettent de connaître une valeur unique du but.
Exemple : un numéro de facture + un code produit nous donne la quantité facturée.
(numéro de facture, code produit) =====> quantité facturée
On parlera de dépendance fonctionnelle à partie gauche composée.
Un exemple
Appliquons la règle de la dépendance fonctionnelle à l'entité PROFESSEURS.

Chaque professeur se voit attribué un identifiant unique (la clé), et un même identifiant ne peut jamais être attribué à plus qu'un professeur.
En conséquence, un identifiant ne pourra déterminer que un et un seul nom de professeur (nom_pro).
On a donc les DF suivantes:
- id_prof --> matricule_pro (il y a dépendance fonctionnelle entre l'identifiant et matricule_pro)
- id_prof --> nom_pro (il y a dépendance fonctionnelle entre l'identifiant et nom_pro)
- id_prof --> prenom_pro (il y a dépendance fonctionnelle entre l'identifiant et prenom_pro)
- id_prof --> adresse_pro (il y a dépendance fonctionnelle entre l'identifiant et adresse_pro)
- id_prof --> datnaiss_pro (il y a dépendance fonctionnelle entre l'identifiant et datenais_pro)
NB: la flèche doit être traduite par "détermine".
Deux attributs sont en dépendance non fonctionnelle si la connaissance d'une valeur du premier attribut (source)
- ne permet de connaître aucune des valeurs du second (pas de rapport entre les deux)
- détermine la connaissance de plusieurs valeurs de la seconde
Exemples :
la connaissance d'une date de naissance ne permet pas de connaître une adresse
la connaissance d'un numéro de facture permet de connaître plusieurs références d'articles
Un exemple
Nous pourrions ajouter à l'entité "professeurs" l'attribut dip_prof, les diplômes du professeur.
Question: cet attribut est-il en situation de dépendance fonctionnelle par rapport à l'identifiant (la clé) ?
Réponse: non, car un identifiant ne détermine pas une valeur de dip_pro mais plusieurs valeurs.
En effet un professeur peut avoir plusieurs diplômes, c'est d'ailleurs en général le cas!
Donc, puisque dip_pro n'est pas en dépendance fonctionnelle par rapport à l'identifiant il ne peut être attribut de l'entité "professeurs".
La mauvaise solution: on pourrait éventuellement créer plusieurs propriétés dip1_prof, dip2_prof, dip3_prof
(diplôme 1, diplôme 2, diplôme 3, etc.), mais cette solution doit être écartée car il n'y a pas de règle qui détermine le maximum de diplômes que peut avoir un professeur!
La bonne solution: créer une entité "diplome" en association avec "professeurs".
Une dépendance fonctionnelle donnée 1 =====> donnée 2 est directe s'il n'existe pas une donnée 3 qui engendrerait une
dépendance fonctionnelle transitive de telle sorte que l'on pourrait écrire :
Donnée 1 =====> donnée 3 =====> donnée 2
Exemples :
Numéro facture ======> numéro représentant
Numéro représentant ======> nom représentant
Numéro facture ======> nom représentant