Normalisation d'un schéma
(Encore) les recettes de cuisine
On reprendra l'exemple des recettes de cuisine vu en cours, avec le
schéma qui a été proposé dans le TD 8,
basé sur 2 relations:
recette(temps, mode, nom)
ingredient(recette,
quantité, nom,
type, unité)
- Donnez les dépendances fonctionnelles de ce schéma
(celles qui sont déduites par les règles d'Armstrong
pourront être omises).
- Le schéma est-il en 1FN? Expliquez pourquoi.
- Le schéma est-il en 2FN? Expliquez pourquoi.
- Le schéma est-il en 3FN? Expliquez pourquoi.
- Proposez une décomposition de la relation ingredient en
deux relations qui permette à ce schéma d'être en
seconde forme normale.
- Proposez une décomposition du schéma
précédent qui lui permette d'être en 3FN
On reprend le schéma de départ, et on décide
d'ajouter un attribut numero
dans la table ingredient et
de l'utiliser comme clé primaire.
- Donnez maintenant les dépendances fonctionnelles de ce
schéma.
- Le schéma est-il en 1FN? Expliquez pourquoi.
- Le schéma est-il en 2FN? Expliquez pourquoi.
- Le schéma est-il en 3FN? Expliquez pourquoi.
- Proposez une décomposition qui lui permette d'être
en 3FN
La relation universelle
Le second exemple est celui des enseignements, qui illustre la notion
de relation universelle.
Soit le schéma suivant, composé d'une seule relation :
ENSEIGNEMENT (N°TD, SALLE, JOUR, HEURE, N°ENSEIGNANT,
NOM_ENSEIGNANT, PRENOM_ENSEIGNANT, CODE_UV, NOM_UV, N°ETUDIANT,
NOM_ETUDIANT, PRENOM_ETUDIANT, ADRESSE_ETUDIANT, DATE_INSCRIPTION)
Les étudiants inscrits dans une UV (CODE_UV) sont
répartis en groupe de TD (N°TD). La date d'inscription porte
sur un étudiant dans une UV. Cette inscription l'affecte dans un
groupe de TD.
Les hypothèses sont les suivantes :
- Un enseignant peut assurer l'encadrement de plusieurs groupes
- Un seul groupe de TD par salle à la même heure le
même jour
- Un étudiant peut être inscrit dans plusieurs UV mais
à un seul groupe de TD par UV
- Un enseignement d'une UV pour un groupe de TD a toujours lieu le
même jour et dans la même salle à la même heure
- Un seul TD par semaine par UV
Donner une couverture minimale des dépendances fonctionnelles,
ainsi que sa fermeture transitive.
Soit la décomposition suivante :
ENSEIGNEMENT(N°TD, CODE_UV, HEURE, SALLE, JOUR, N°ENSEIGNANT,
NOM_ENSEIGNANT, PRENOM_ENSEIGNANT)
INSCRIPTION(N°ETUDIANT, NOM_ETUDIANT, PRENOM_ETUDIANT,
ADRESSE_ETUDIANT, CODE_UV, NOM_UV, DATE_INSCRIPTION, N°TD)
- Quelles sont les clés de ces relations (notamment les
clés étrangères)?
- Quelles sont les dépendances fonctionnelles?
- Les relations sont-elles en 2ème forme normale ?
Soit la décomposition suivante :
ENSEIGNEMENT(N°TD, CODE_UV, HEURE, SALLE, JOUR, N°ENSEIGNANT,
NOM_ENSEIGNANT, PRENOM_ENSEIGNANT)
ETUDIANT(N°ETUDIANT, NOM_ETUDIANT, PRENOM_ETUDIANT,
ADRESSE_ETUDIANT)
INSCRIPTION(N°ETUDIANT, CODE_UV, DATE_INSCRIPTION, N°TD)
UV(CODE_UV, NOM_UV)
- Quelles sont les clés de ces relations (notamment les
clés étrangères)?
- Quelles sont les dépendances fonctionnelles?
- Les relations sont-elles en 2ème forme normale ?
- Les relations sont-elles en 3ème forme normale ?
- Si ce n'est pas le cas, proposez une nouvelle
décomposition.