Introduction
Les dépendances fonctionnelles traduisent des liens pouvant exister entre les propriétés. La mise en évidence des dépendances fonctionnelles est un moyen de contrôler la validité d’un MCD
Soient deux propriétés P1 et P2, on dit que P2 dépend fonctionnellement de P1 si et seulement si une valeur (occurrence) de P1 permet de connaître une et une seule valeur de P2.
Notation
: : P1
P2
Soit les faits suivants :
Dans un lycée, les professeurs sont caractérisés par un numéro, leur nom, leur prénom et leur discipline (une seule discipline par professeur)
T.A.F. :
Recensez toutes les dépendances fonctionnelles
- NUM PROF NOM
PROF
- NUM PROF PREN
PROF
- NUM PROF Discipline
Conclusion : Toutes les propriétés d’une entité « dépendent fonctionnellement » de l’identifiant
Soit les faits suivants : les élèves, caractérisés par un numéro, un nom et un prénom, appartiennent à une classe (numéro et nom de classe)
Activité :
a) Mettre en évidence toutes les dépendances fonctionnelles.
- Num eleve Nom éleve
- Num eleve Prén eleve
- Num classe Nom classe
- Num eleve Num
classe
b) En déduire le M.C.D.
ELEVE 1,1 1,n CLASSE
Num eleve Appartenir Num classe
Conclusion :
Lorsqu’il
existe une DF entre les identifiants de deux entités, cela se traduit par une
association Pére-Fils L’association traduit une contrainte d’intégrité
fonctionnelle
On veut modéliser les faits suivants :
Dans l’entreprise JENBOND, les produits (caractérisés par un code et une désignation) peuvent soit être fabriqués par l’entreprise ou provenir de différents fournisseurs (caractérisés par un numéro et un nom).
Un même produit peut provenir de plusieurs fournisseurs à des prix d’achat différents. Un fournisseur peut livrer plusieurs produits.
ACTIVITE :
a) Présentez le M.C.D. correspondant à cette situation
PRODUIT 0,n PROVENIR
1,n FOURNISSEUR
Code prod
Num fourn
Désign
prod Px achat Nom Four
b) Quel est l’identifiant (ou clé primaire) de l’association
? L’identifiant d’une association non hiérarchique est
constituée de la concaténation des identifiants des entités liées par
l’association
CODE
PROD+Num four
L’association traduit ici une
contrainte d’intégrité multiple (CIM)
c) Recensez les dépendances fonctionnelles
- Code prod Désign prod - Code prod+Num four Code prod
- Num four Nom four - Code prod+Num four Num four
-
- Code prod+Num four
Px achat
REGLE 1 :
Toutes les propriétés autres que les identifiants doivent être buts d’une dépendance fonctionnelle (Lorsqu’une propriété ordinaire n’est pas but d’une D.F. soit cette propriété est inutile, soit il s’agit d’un paramètre).
REGLE 2 :
Les dépendances fonctionnelles doivent être pleines : les propriétés « but » (autre que les identifiants) doivent dépendre de la totalité de l’identifiant « source » et non d’une partie de ce dernier.
exemples : A partir de l’application du III/ A/3, indiquez ci dessous les DF pleines
-
Codeprod+N°four Px
achat
- Code prod+N°
Four Code prod
Contre-exemple : A
partir de l’application du III/ A/3,
indiquez ci dessous les DF non pleines et justifiez la réponse
Df non pleine car Nom four dépend du seul N° Four et
nom four n’est pas un identifiant
- Code prod+ N° four Nom four
REGLE 3 : Les dépendances doivent être directes c’est à dire non transitives
EXEMPLE : d’après l’exemple du III/A/2, déterminez les dépendances directes
- Num eleve Num classe
Contre-exemple
: Num eleve
NomClasse est une DF Transitive. Justifiez pourquoi !
-
Num eleve Nom
classe : DF transitive car Num eleve N° classe et
N° classe Nom classe
APPLICATION
On veut modéliser l’occupation des salles d’un lycée compte tenu des règles de gestion suivantes :
Les salles sont occupées par une ou plusieurs classe en fonction d’un ou plusieurs horaires. On a relevé les dépendances fonctionnelles suivantes :
Dépendances fonctionnelles |
D.F. à éliminer ou à
conserver : justification |
NUM SALLE --> CAPACITE SALLE |
à conserver : DF
directe (Capacité salle dépend directement de NUM SALLE) et DF Pleine |
NUM CLASSE -> NOM CLASSE |
DF directe et
pleine |
NOM CLASSE -> NBRE ELEVES |
à éliminer : DF
transitive |
NUM CLASSE -> NBRE ELEVES |
DF directe et
pleine |
NUM SALLE+NUMCLASSE+HEURE DEBUT --> DUREE COURS |
DF pleine et
directe |
NUM SALLE+NUMCLASSE+HEURE DEBUT --> NUM SALLE |
OK car num salle
est un identifiant |
NUM SALLE+NUMCLASSE+HEURE DEBUT --> CAPACITE SALLE |
à éliminer DF non
pleine (Capacité salle dépend de Num salle) |
NUM SALLE+NUMCLASSE+HEURE DEBUT --> NUM CLASSE |
OK |
NUM SALLE+NUMCLASSE+HEURE DEBUT --> NOM CLASSE |
DF non pleine à
éliminer |
NUM SALLE+NUMCLASSE+HEURE DEBUT --> HEURE DEBUT |
DF directe et
pleine |
ACTIVITE
a) Quelles sont les entités qui se dégagent des règles de gestion ?
b) Que représente NUM SALLE+NUM CLASSE+HEURE DEBUT
c) Barrez les dépendances fonctionnelles non pleines et les dépendances fonctionnelles transitives et justifiez en complétant la deuxième colonne du tableau
La matrice des dépendances fonctionnelle est un tableau comportant :
- en ligne les propriétés buts d’une dépendance fonctionnelle
- en colonne, les propriétés sources d’une dépendance fonctionnelle.
La MDF met en évidence toutes les DF pleines et directes entre les propriétés du MCD.
a)
Noter dans la 1ère colonne(titres de ligne)
toutes les propriétés du système d’information et souligner les identifiants
b)
Reporter dans la 1ère ligne tous les
identifiants (titres de colonnes)
c)
déterminer toutes les DF tre enles
identifiants et les propriétés appartenant aux mêmes entités ( avec le chiffre
1 ou 0-1 dans le cas d’association oui-non)
d)
Déterminer les C.I.F. (DF entre les
identifiants) avec un 1 dans un triangle)
e)
Déterminer les C.I.M. (associations non
hierarchiques) : On ajoute une ligne composée d’une clé concaténée.
Très
important les propriétés isolées sont
soit :
-
inutiles ,
- des
paramètres,
- des propriétés d’une association et dépendent donc d’une
clé concaténée
f) vérifier l’absence de transitivité et déterminer les niveaux au brouillon à
l’aide d’un graphe
La société MicroPouce vend du matériel informatique. On a relevé les règles de gestion suivantes relatives au suivi des devis :
- Les clients appartiennent à un secteur géographique déterminé
- Chaque représentant suit plusieurs secteurs, mais un secteur est suivi par un seul représentant
- Un devis ne concerne qu’un seul client. Un devis porte sur un ou plusieurs produits
- Un produit appartient à une seule catégorie de produit.
Les données du système d’information vous sont données dans la M.D.F.
Activité :
1) Complétez la M.D.F.
N° |
Propriétés sources Propriétés
buts |
1 |
6 |
8 |
10 |
12 |
14 |
17 10+12 |
|
|
Niveau |
|
NUM
CLI |
* |
|
|
1 |
|
|
|
|
|
2 |
2 |
NOM
CLI |
1 |
|
|
|
|
|
|
|
|
|
3 |
RUE
CLI |
1 |
|
|
|
|
|
|
|
|
|
4 |
CP
CLI |
1 |
|
|
|
|
|
|
|
|
|
5 |
VILLE
CLI |
1 |
|
|
|
|
|
|
|
|
|
|
NUM REP |
1 |
* |
1 |
|
|
|
|
|
|
4 |
7 |
NOM REP |
|
1 |
|
|
|
|
|
|
|
|
8 |
CODE SECTEUR |
|
|
* |
|
|
|
|
|
|
3 |
9 |
LIBELLE SECTEUR |
|
|
1 |
|
|
|
|
|
|
|
|
NUM DEVIS |
|
|
|
* |
|
|
1 |
|
|
1 |
11 |
DATE DEVIS |
|
|
|
1 |
|
|
|
|
|
|
|
CODE PROD |
|
|
|
|
* |
|
1 |
|
|
1 |
13 |
DESIGN PROD |
|
|
|
|
1 |
|
|
|
|
|
|
CODE CAT |
|
|
|
|
1 |
* |
|
|
|
2 |
15 |
LIBELLE CAT |
|
|
|
|
|
1 |
|
|
|
|
|
QUANTITES COMM |
|
|
|
|
|
|
1 |
|
|
|
17 |
Num devis+code prod |
|
|
|
|
|
|
* |
|
|
0 |
Détermination des niveaux : (au brouillon)
Num devis+Code produit Num
devis code
produit
N 0 N1 N1
code cli
code cat
N2 Transitivité N2
code secteur
num rep
N3 N4
La S.A.T. est une représentation graphique des dépendances fonctionnelles. Elle se construit plus facilement après avoir établi la M.D.F. et déterminé les niveaux de dépendances fonctionnelles. La S.A.T. permet de déceler les transitivités
A partir de la M.D.F. du cas MicroPouce, présentez la S.A.T. et en déduire le M.C.D.
N0
Num devis+code prod
Qtes comm
N1 Num devis
Code prod
- Date devis - Désign prod
N2 Nume cli
Code cat
-
Nom cli
- Libellé cat
- Rue cli
- CP cli
- Ville cli
N3 Code secteur
-
Libellé secteur
N4 Num rep
- Nom rep
MCD : Lorsque la SAT est
correctement déterminé, on obtient la
position exacte des entités sans efforts .
FIGURER Qtes comm
1,n 1,n
1,1 1,1
1,n (o,n) 1,n
1,1
SECTEUR Code Secteur Libelle Secteur REPRESENTANT Num
Rep Nom Rep
1,n
VISITER
1,1
1,n