Question

Je travaille sur un projet pour un ami et je suis venu dans une décision difficile. Le projet se compose d'essais, dont chacun peut être remis en cause, et a également commenté. La chose est cela, une seule personne est en mesure de contester l'essai, puis tout le monde est bloqué et ne peut commenter.

Les réfutations ne peuvent être deux réponses profondes, 2000 mots pour la première et 500 mots pour la seconde. À ce moment-là, pas plus réfutations - le reste de la discussion a lieu dans les commentaires (longueur fixe de caractères n, à la différence des réfutations) si les téléspectateurs se sentent le sujet n'a pas été épuisé

.

Je d'abord décidé que réfutations et commentaires étaient structurellement la même chose, et je voudrais simplement ajouter un champ booléen dans mon tableau de commentaires pour indiquer si le commentaire is_rebuttal. Mais je me sens un peu incertain au sujet de cette direction.

Quelle serait la vous collective suggérer? Chaque essai peut avoir une discussion entre deux personnes seulement, et les deux obtenir seulement parler 2 fois. Très similaire aux commentaires, mais séparément.

Était-ce utile?

La solution

Je devrais probablement une table pour « conversations », avec des champs pour l'ID utilisateur de l'affiche de l'essai, le répondeur unique (initialement NULL) et probablement un titre ou le résumé. Une autre table contiendrait « essais » avec des champs pour l'essai ou l'ID utilisateur de rebutter, le IDEchange, le corps du poste, et un compteur de messages pour les mettre dans l'ordre. Enfin, j'ai une table « commentaires » avec commentaire affiches ID utilisateur, essayID de les relier à des postes de rédaction, pour les mettre de CommentID en mode fil (si c'est winrar) et bien sûr le corps de commentaire.

Autres conseils

Eh bien, difficile à dire sans en savoir plus sur le système. Mais je dirais que, d'après ce que vous écrivez, oui, réfutations et commentaires sont similaires et devraient être mis en une seule table.

Ma devise est toujours: En cas de doute, utilisez la méthode la plus simple. Ce qui est ici clairement une seule table.

Si plus tard il se trouve que des tables séparées sont plus utiles, vous pouvez toujours factoriser.

Si les commentaires et réfutations ont des longueurs maximales et différentes restrictions sur le nombre que vous pouvez avoir par essai, ils sonnent comme pour moi des choses très différentes. Votre schéma sera plus clair si vous créez deux tables pour les entités ayant des limitations différentes, et d'établir différentes colonnes et contraintes référentielles.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top