Cuisines et dépendances

[20 min]

On considère une relation R construite sur les attributs Propriétaire, Occupant, Adresse, Noapt, Nbpièces, Nbpersonnes, un nuplet (p, o, a, n, nb1, nb2) ayant la signification suivante : La personne o habite avec nb2 personnes l'appartement de numéro n ayant nb1 pièces dont le propriétaire est p.

Une analyse de cette relation nous fournit un ensemble initial E de dépendances fonctionnelles :

  • occupant → adresse

  • occupant → noapt

  • occupant → nbpersonnes

  • adresse, noapt → propriétaire

  • adresse, noapt → occupant

  • adresse, noapt → nbpièces

Question

Donner l'ensemble des DFE engendrées par E (fermeture transitive F+).

Solution

  • occupant→adresse et occupant→noapt donc occupant→(adresse,noapt)

  • occupant → propriétaire (Transitivité)

  • occupant → nbpièces (Transitivité)

On a donc F+ :

  • occupant → adresse, noapt, nbpersonnes, propriétaire, nbpièces

  • adresse, noapt → propriétaire, occupant, nbpièces, nbpersonnes

Question

Quelles sont les clés candidates de R ?

Solution

Une clé est un ensemble d'attributs qui détermine tous les autres. Si on regarde la fermeture transitive de E, on voit que (occupant) ainsi que (adresse, noapt) sont dans ce cas. Il y a donc deux clés candidates.

Question

Montrer que R est en 3NF de deux façons différentes (sans passer et en passant par la BCNF).

Solution

Démonstration exhaustive

Pour déterminer la forme normale de R, il faut d'abord distinguer :

  • les attributs clés : (occupant) et (adresse, noapt)

  • et les attributs n'appartenant pas à une clé : propiétaire, nbpièces et nbpersonnes

Étudions chaque NF :

  1. Considérons que la relation est en 1ère forme normale.

  2. Elle est en 2ème forme normale si, pour chaque clé, tous les attributs n'appartenant pas une clé dépendent pleinement des clés et non de parties de clés. Ici c'est le cas. (occupant) est une clé à un seul attribut, la réponse est donc triviale. On vérifie pour (adresse, noapt) :

    • adresse, noapt → propriétaire, nbpièces, nbpersonnes,

    • et il n'existe pas de DF depuis adresse ou noapt.

  3. Une relation est en 3ème forme normale s'il n'existe pas de dépendance fonctionnelle entre des attributs n'appartenant pas à une clé. C'est le cas ici, les seuls DF sont issues de clés. R est donc en 3ème forme normale

Solution

Démonstration courte

On peut directement montrer que R est en BCNF (donc en 3NF) : Toutes les DFE sont de la forme K→A avec K clé.