Envoyé par
CinePhil
Votre CIF empêche un prof non enseignant d'une matière de rédiger un cours dans cette matière mais ce n'est pas le problème que j'expose.
Votre schéma n'interdit pas un utilisateur de type élève seulement (pas prof, donc) de rédiger un cours. Pour aller loin, un bambin de huit pourrait être enregistré en tant que rédacteur d'un cours de maths de niveau master.
Non : avec ce modèle le MLD donne les tables et contraintes suivantes
Cours : (MA_id, CO_id)
constraint MA_id references matiere(MA_id)
Rediger : (UT_id, MA_id, CO_id)
constraint UT_id references utilisateur(ut_id)
constraint MA_id, CO_id references cours(ma_id, co_id)
constraint ma_id, ut_id references enseigner (ma_id, ut_id)
Enseigner : (UT_id, MA_id)
Mon modèle vérifie bien (ce que j'ai mis en rouge) que seul un utilisateur présent dans la relation enseigner pour la matière peut rédiger un cours de cette matière
Du coup un élève non prof ne peut jamais rédiger de cours, seul un prof de la bonne matière peut le faire
Mais le souci est que les cours peuvent être multi-matière du coup ça ne tient plus car je ne peux plus identifier un cours relativement à la matière
Je n'ai pas le temps d'y réfléchir ce soir, j'essaye de reprendre le sujet demain
Partager