Académique Documents
Professionnel Documents
Culture Documents
Dépendances fonctionnelles
Définitions :
1- Dépendance fonctionnelle
Un attribut Y dépend fonctionnellement d’un attribut X si et seulement si une valeur de X induit
une unique valeur de Y. On note une dépendance fonctionnelle par une flèche simple : X Y.
En d’autres termes ; On dit qu'il existe une dépendance fonctionnelle entre un attribut A1 et un
attribut A2, si connaissant une valeur de A1 on ne peut lui associer qu'une seule valeur de A2.
On dit aussi qu’A1 détermine A2. A1 est la source de la dépendance fonctionnelle et A2 le but.
Exemple : Si X est le numéro de client et Y le nom de client, alors on a bien X Y. Par
contre, on n’a pas YX, car plusieurs clients de numéros différents peuvent porter le même
nom.
NB : Dans une relation, tout attribut est en dépendance fonctionnel avec la clé primaire.
1
Enseignant : Ing. AGOSSOU Carlos, Docteur en Informatique et Télécommunications
Cours de MERISE
4- Clef minimale
Soit R(U) une relation, X des sous-ensembles de U et X est une clef de R.
On dit que X est une clef minimale de R si et seulement si quel que soit X’ sous-ensemble de X, X’
n’est pas une clef de R.
• si une personne a plusieurs adresses email, alors elles sont notées dans l'attribut email,
séparées par des virgules.
• l'attribut nom contient le nom mais aussi le prénom et la civilité de la personne.
Nous allons donc transformer les attributs multivalués en une table séparée, liée à la table
d'origine par une relation de type un à plusieurs
3
Enseignant : Ing. AGOSSOU Carlos, Docteur en Informatique et Télécommunications
Cours de MERISE
• Tout attribut non clé primaire est dépendant de la clé primaire entière.
Prenez la table resultat donnant une note artistique à des skaters dans leur réalisation de figures :
La difficulté d'une figure ne dépend que de la figure et non du skater. L'attribut difficulte ne
dépend que d'une partie de la clé primaire (figure) et non de la clé primaire complète (skater,
figure) : vous ne respectez donc pas la 2FN.
La solution consiste donc à isoler les attributs concernés dans des tables dédiées. Je vais créer
ici une table figure et déplacer la colonne difficulte dans cette nouvelle table :
4
Enseignant : Ing. AGOSSOU Carlos, Docteur en Informatique et Télécommunications
Cours de MERISE
Ne pas respecter la 2FN entraîne des redondances. Cela gaspille de l'espace de stockage, et pose
aussi le problème de la mise à jour des données.
Exemple: Voiture (Nv, marque, type, puissance, couleur) n'est pas en 3FN.
La décomposition en isolant la DF non conforme en 2FN donne les deux relations suivantes:
5
Enseignant : Ing. AGOSSOU Carlos, Docteur en Informatique et Télécommunications
Cours de MERISE
Cette table ne respecte pas la 3FN car l'attribut sexe peut être déduit de l'attribut non clé primaire
civilite.
Afin de résoudre ce problème, comme pour la 2FN, il convient de créer une nouvelle table
civilite et d'y déplacer l'attribut sexe :
6
Enseignant : Ing. AGOSSOU Carlos, Docteur en Informatique et Télécommunications
Cours de MERISE
Dans cet exemple, j’ai utilisé le raccourci “la civilité donne le sexe” pour simplifier.
Cependant, lorsque vous créez une base de données destinée à contenir des personnes, gardez
en tête que certaines personnes se considèrent comme n'étant ni homme, ni femme, ou encore
d’un autre genre que le sexe qui leur a été attribué à la naissance (donc présent sur leur état
civil). Suivant les cas, vous devrez alors conserver les deux colonnes "civilite" et "sexe" dans
la table personne, utiliser un autre terme que "sexe", etc.
Un autre exemple de non-respect de la 3FN est illustré par la table ligne_facture ci-dessous :
Nous avons la colonne total qui peut être calculée avec une opération mathématique simple à
partir des colonnes quantite et prix_unitaire (total = quantite x prix_unitaire). Sa valeur ne
dépend pas de la clé primaire.
7
Enseignant : Ing. AGOSSOU Carlos, Docteur en Informatique et Télécommunications
Cours de MERISE
Application 1 :
Application 2 :
Application 3 :
Soit la relation suivante (auto-explicative), qui concerne les employés d’une société implantée
sur plusieurs bâtiments :
EMPLOYES (NumE, Nom, Salaire, Département, Bâtiment)
Sachant qu’un employé travaille dans un département donné, et qu’aucun département ne
possède des locaux dans plusieurs bâtiments.
1- Déterminer les DFs
2- En quelle forme normale est la relation
3- Mettre en 3FN le cas échéant.
8
Enseignant : Ing. AGOSSOU Carlos, Docteur en Informatique et Télécommunications
Cours de MERISE
Application 4 :
Une base de données pour une petite clinique privée ales données suivantes:
• NIP : désigne n° d'inscription pharmacie associé à un patient. Chaque patient à un numéro
inscription à la pharmacie de la clinique pour ses médicaments
• Patient : le nom de famille d’un patient admis à la clinique (supposés tous distincts)
• Docteur : le nom de docteur travaillant à la clinique
• Médicament : le nom de marque d’un médicament
• Qte : la quantité d’un médicament prescrite à un patient
et les 4 DFs :
1. NIP → Patient1
2. Patient → Docteur
3. NIP, Médicament → Docteur
4. Patient, Médicament → Qté
a. Montrer que la DF (3) est redondante (déductible des autres DFs )
b. En déduire un schéma de base de données en 3FN pour cette clinique.
Application 5 :
La relation suivante décrit des commandes faites par des clients, avec les produits et quantités
commandées par client.
Commandes (NumCom, DateCom, NumCli, AdrCli, NumProd, Prix, Qte)
a. Quelle est la clé de cette relation?
b. En quelle forme normale elle est?
c. La mettre en 3FN le cas échéant.
Application 6 :
La relation :
Projection (NoFilm, TitreFilm, DuréeFilm, NoSalle, CapacitéSalle,TypePlace, PrixPlace,
DateProjection, HeureDeb)
exprime que le film NoFilm intitulé TitreFilm dure DuréeFilm heures et est projeté dans la salle
NoSalle ayant une capacité CapacitéSalle places. Le film est projeté à la date DateProjection à
HeureDeb heures. Deux films peuvent avoir le même titre. Le prix de la place est fonction de
son type.
9
Enseignant : Ing. AGOSSOU Carlos, Docteur en Informatique et Télécommunications
Cours de MERISE
10
Enseignant : Ing. AGOSSOU Carlos, Docteur en Informatique et Télécommunications