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 :
Considérons que la relation est en 1ère forme normale.
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.
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é.