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×B.
    • si (a,b)r, on note parfois arb ce qui signifie “a est en relation avec b”.
  • Fonction : une fonction f:AB est une relation binaire sur A×B telle que
    • pour tout aA,
    • 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 XrY
    • 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 :
    • AC
    • BC
    • mais pas : AB, BA, ni CA
  • On a aussi :
    • A,BC
    • mais pas : B,CA, ni A,CB, etc.
Exemple 2 :
  • Soit le schéma :
    • Commande (num_client, quantité, prix, date, num_article)
  • et l’ensemble de contraintes

F={num_client, datenum_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

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