2.2.3 Dépendances fonctionnelles
- Au sein d'un schéma RR,
- Il peut exister un ensemble de contraintes, noté FF,
- portant sur les attributs (plus précisément sur les valeurs prises par les attributs).
- L'ensemble F est indépendant de R.
- On parle de contraintes d’intégrité.
- Ces contraintes s’expriment sous la forme de dépendances fonctionnelles.
Rappels d’algèbre de base:
- Relation binaire : une relation binaire rr portant sur deux domaines AA et BB:
- est un sous-ensemble du produit cartésien A×BA×B.
- si (a,b)∈r(a,b)∈r, on note parfois arbarb ce qui signifie “a est en relation avec b”.
- Fonction : une fonction f:A→Bf:A→B est une relation binaire sur A×BA×B telle que
- pour tout a∈Aa∈A,
- il existe un unique bb tel que (a,b)∈f(a,b)∈f.
- On note b=f(a)b=f(a) ,
- ce qui signifie qu'au sein de la relation ff, bb est déterminé de façon unique par le choix de aa (autrement dit : “b dépend de a”)
Dépendance fonctionnelle
- Soit rr une relation définie selon R(A1,...,Am)R(A1,...,Am)
- Soient XX et YY deux sous-ensembles de RR
- On dit que la relation rr définit une dépendance fonctionnelle de XX vers YY,
- notée Xr→YXr→Y
- si les valeurs de rr permettent de définir une fonction de d(X)d(X) vers d(Y)d(Y).
Exemple 1 :
Soit la relation rr:
A | B | C |
---|---|---|
1 | a | e |
2 | b | f |
2 | c | f |
3 | d | k |
4 | d | k |
- On a les dépendances suivantes :
- A→CA→C
- B→CB→C
- mais pas : A→BA→B, B→AB→A, ni C→AC→A
- On a aussi :
- A,B→CA,B→C
- mais pas : B,C→AB,C→A, ni A,C→BA,C→B, etc.
Exemple 2 :
- Soit le schéma :
- Commande (num_client, quantité, prix, date, num_article)
- et l’ensemble de contraintes
F={num_client, date→num_article, quantité, prixnum_article, quantité→prix}
- La première contrainte indique qu'il ne peut y avoir deux factures émises pour un même client à une date donnée.
- La seconde contrainte indique que le prix payé dépend de l’article et de la quantité commandée.
Exemple 3 :
- Soit le schéma :
- Ouvrage (titre, auteur, éditeur, prix, date_edition)
- et la contrainte :
- {titre, auteur, éditeur → prix, date_édition}
La contrainte signifie :
- “pour une oeuvre chez un certain éditeur, une seule édition est possible (pas de réédition à une date ultérieure)”
- “politique du prix unique”
Exercice :
Soit le schéma :
- Réservation(code_appareil, date, heure, salle)
Exprimer la dépendance fonctionnelle :
- « Un appareil ne peut pas être utilisé dans deux locaux différents au même moment »
- Il importe donc de bien réfléchir, au moment de l'étape de conception,
- du réalisme et du caractère limitant de certaines dépendances fonctionnelles,
- et du caractère éventuellement limitant du choix des attributs.
- Ainsi, le schéma décrivant les commandes (exemple 2)
- ne permet pas de commander des articles de nature différente au sein d'une même commande
- (un client, pour commander deux rateaux et une truelle, doit donc effectuer deux commandes, qui plus est à des dates différentes!).
Previous :2.2.2 Relation Up : 2.2 Aspect logique Next : 2.2.4 Clé d'une relation