Citation:
Et je pense qu'il faudrait quand même une CIF (pas facile à représenter en texte) portant sur l'association effectuer (trait pointillé) et qui exprime que c'est le couple {Eleve, Classe} (traits pleins) qui déterminent la PeriodeStage (flèche).
L'association "Effectuer" de votre MCD serait transformée en ternaire et supprimerait l'association "Se passe".
Au niveau des tables...
Classe (idClasse, libClasse)
Eleve (idEleve, idClasse, nomEleve, prenomEleve, dateNaisEleve)
PeriodeStage (idClasse, numPeriode, dateDebutPeriode, dateFinPeriode)
Stage (idStage...)
EleveEffectuerStage (idEleve, idPeriodeStage, idStage) ==> + contrainte d'unicité sur idStage
J'ai essaye de un peu modifier mon MCD mais je n'es pas du tout comprit ou vous vouliez en venir :?:?
Citation:
C'est justement pour ça qu'il faut externaliser la ville ! :mrgreen:
Elle ne sera écrite qu'une seule fois et avec la bonne orthographe dans la table des villes et son identifiant figurera autant de fois que nécessaire en tant que clé étrangère dans la table des entreprises.
L'interface utilisateur proposera la liste des villes de la table des villes et il n'aura qu'à la choisir au lieu de l'écrire, potentiellement mal orthographiée.
Cette solution m'oblige donc a rentre toutes les villes possible et imaginable car impossible de laisser l'utilisateur remplir cette table "Ville".