public:std-3:cm1:aspect_logique:2.2.3_dependances_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:ABf:AB est une relation binaire sur A×BA×B telle que
    • pour tout aAaA,
    • 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 XrYXrY
    • 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 :
    • ACAC
    • BCBC
    • mais pas : ABAB, BABA, ni CACA
  • On a aussi :
    • A,BCA,BC
    • mais pas : B,CAB,CA, ni A,CBA,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