Objectifs II

[15 min]

Vous êtes le président de l'association "Objectifs", dont l'objet est d'aider ses étudiants membres à mener des projets dans le cadre de leurs études. Pour le moment cette association gère tous ces projets avec un logiciel de type tableur.

Exemple de fichier de gestion des projets de l'association Objectifs

La concision et la clarté de la rédaction, ainsi que la bonne mobilisation des concepts et de la terminologie du domaine des bases de données seront intégrées à l'évaluation.

Question

On considérera ce tableau comme une relation, et on admettra que cette extension est suffisante pour l'interprétation des données :

  1. Démontrer que cette relation ne peut admettre qu'une seule clé.

  2. Démontrer que la 1NF[1] n'est pas respectée à plusieurs reprises (on peut trouver jusque six causes empêchant la 1NF, proposez-en un maximum).

Solution

  1. La colonne "Numéro" peut être une clé et c'est la seule possible :

    • La colonne "Projet / Tâche" ne peut pas être une clé car elle contient deux valeurs identiques.

    • Toutes les autres colonnes admettent au moins une valeur nulle et ne peuvent donc faire partie d'une clé.

    • Il n'est pas possible de définir une clé composée car elle contiendrait soit "Numéro" (qui est déjà une clé, elle ne serait alors pas minimale) soit une colonne avec des valeurs nulles (ce qui est interdit).

  2. Les colonnes suivantes ne sont pas atomiques :

    • "Numéro" contient le numéro de projet et de tâche

    • "Chef de projet" et "Participants tâches" contiennent des noms, prénoms et spécialités de membres

    • Dates contient un début et une fin de période

    • Partenaire contient un nom et une description de partenaire

    • Partenaire contient plusieurs partenaires

Question

On propose une première décomposition pour que le modèle soit en 1NF.

1
Projet (#Num, Nom, Debut, Fin, Specialite, CDP-Prenom, CDP-Nom, CDP-Specialite)
2
Tache (#NumProjet=>Projet, #NumTache, Nom, Participant-Prenom, Participant-Nom, Participant-Specialite)
3
Partenaire (#Nom, Description)
4
Partenariat (#Partenaire=>Partenaire, #Projet=>Projet, role)
  1. Montrer que ce modèle n'est pas en 3NF et lister l'ensemble des DFE responsables.

  2. Proposer une décomposition en 3NF.

Solution

DFE responsables
  • Projet : CDP-Prenom, CDP-Nom → CDP-Specialite

  • Tâche : Participant-Prenom, Participant-Nom → Participant-Specialite

Décomposition
1
Projet (#Num, Nom, Debut, Fin, Specialite, CDP-Prenom=>Membre, CDP-Nom=>Membre)
2
Tache (#NumProjet=>Projet, #NumTache, Nom, Participant-Prenom=>Membre, Participant-Nom=>Membre)
3
Membre (#Nom, #Prenom, Specialite) 
4
Partenaire (#Nom, Description)
5
Partenariat (#Partenaire=>Partenaire, #Projet=>Projet, role)

On observe que CDP et Participant renvoient à une même entité que l'on nomme Membre.