MCD — Modèle Conceptuel de Données

MCD.PNG

MLD — Modèle Logique de Données

MLD.PNG

MPD — Modèle Physique de Données

MPD.PNG


Évolution du schéma depuis les diagrammes ci-dessus

Les diagrammes MCD/MLD/MPD ci-dessus datent du début du projet. Plusieurs évolutions ont été nécessaires en cours de développement, listées ici avec leur justification.

Table matières (ajout)

Une matière est désormais une entité à part entière, et plus stockée directement dans cours.

Colonne Type Description
id int clé primaire
nom varchar nom de la matière
user_id int, FK vers users formateur rattaché à cette matière
timestamps datetime created_at / updated_at

Pourquoi ce changement : au départ, cours.matieres était une chaîne de texte libre. Cela ne permettait pas de relier une matière à un formateur précis, ni de réutiliser une même matière sur plusieurs cours sans ressaisie. La table matieres corrige ces deux problèmes.

Table cours (modification)

La colonne matiere a été supprimée et remplacée par matiere_id (clé étrangère vers matieres).

Table formation_matiere(ajout — table jonction)

Colonne Type
formation_id int, FK vers formations
matiere_id int, FK vers matieres

Rôle : relation many-to-many entre formations et matieres, pour définir quelles matières sont disponibles pour quelle formation (utilisée notamment pour filtrer dynamiquement les matières proposées lors de la création d'un cours selon la formation choisie).

Table presences(modification)