public:std-3:cm1:aspect_logique:2.2.3_dependances_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 \times B$.
    • si $(a,b) \in r$, on note parfois $a r b$ ce qui signifie “a est en relation avec b”.
  • Fonction : une fonction $f : A \rightarrow B$ est une relation binaire sur $A \times B$ telle que
    • pour tout $a \in A$,
    • il existe un unique $b$ tel que $(a,b) \in 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(A_1,...,A_m)$
  • 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 $X \stackrel{r}{\rightarrow} 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 \rightarrow C$
    • $B \rightarrow C$
    • mais pas : $A \rightarrow B$, $B \rightarrow A$, ni $C \rightarrow A$
  • On a aussi :
    • $A,B \rightarrow C$
    • mais pas : $B,C \rightarrow A$, ni $A,C \rightarrow B$, etc.
Exemple 2 :
  • Soit le schéma :
    • Commande (num_client, quantité, prix, date, num_article)
  • et l’ensemble de contraintes

$$ \begin{array}{rl}F &= \{\\ & \text{num_client, date} \rightarrow \text{num_article, quantité, prix} \\ & \text{num_article, quantité} \rightarrow \text{prix} \\ &\} \end{array} $$

  • 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

  • public/std-3/cm1/aspect_logique/2.2.3_dependances_fonctionnelles.txt
  • Dernière modification : 2016/09/06 14:27
  • de edauce