2.2.3 Dépendances fonctionnelles
- Au sein d'un schéma R,
- Il peut exister un ensemble de contraintes, noté F,
- 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 r portant sur deux domaines A et B:
- est un sous-ensemble du produit cartésien A×B.
- si (a,b)∈r, on note parfois arb ce qui signifie “a est en relation avec b”.
- Fonction : une fonction f:A→B est une relation binaire sur A×B telle que
- pour tout a∈A,
- il existe un unique b tel que (a,b)∈f.
- On note b=f(a) ,
- ce qui signifie qu'au sein de la relation f, b est déterminé de façon unique par le choix de a (autrement dit : “b dépend de a”)
Dépendance fonctionnelle
- Soit r une relation définie selon R(A1,...,Am)
- Soient X et Y deux sous-ensembles de R
- On dit que la relation r définit une dépendance fonctionnelle de X vers Y,
- notée Xr→Y
- si les valeurs de r permettent de définir une fonction de d(X) vers d(Y).
Exemple 1 :
Soit la relation r:
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→C
- B→C
- mais pas : A→B, B→A, ni C→A
- On a aussi :
- A,B→C
- mais pas : B,C→A, ni A,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