Bonjour,
Je suis en train de concevoir une base de question/réponse. (Il s'agit de ma seconde base...)
J'ai défini une table MD_QUESTION me permettant de stocker entre autres le numéro d'ordre de la question et la question elle-même. Cette table est liée à une table de réponse MD_REPONSE.
Parmi les caractéristiques des réponses, j'ai notamment un type : les réponses peuvent être des nombres, des textes, etc... J'ai défini une table de type MD_TYPE liée à la table MD_REPONSE.
Selon le type de la réponse choisi, je veux saisir des données propres au type de réponse. Par exemple si c'est un nombre, je veux les valeurs extrêmes possibles pour la réponse. Dans ce but, j'ai créé une table par type de réponse MD_NUM, MD_TEXTE, etc... dans lesquelles je stocke les caractéristiques propres au type de réponse. Ces tables sont liées à la table MD_REPONSE.
Le problème est que si je veux une réponse numérique, je ne veux remplir que la table MD_NUM, pas la table MD_TEXTE. Or avec le schéma que j'ai imaginé, je dois remplir toutes mes tables de type de réponse.
Quelles solutions s'offrent à moi ? Je pourrais abandonner mes tables par type de réponse (MD_NUM, MD_TEXTE, etc...) et basculer les champs des ces tables dans la table MD_REPONSE et ne remplir que ceux correspondant au type de réponse choisi. Mais je ne trouve pas ça très propre... Après l'hygiène est une chose très personnelle.
Bref, auriez-vous des idées, des commentaires sur ce choix et sur la manière de résoudre cette difficulté ?
Merci d'avance !
Laurent
PS : voici une image des relations entre tables. C'est peut-être plus parlant qu'un long texte...
Partager