我有一个测验应用程序。随后数据库开发的正常模式数据库设计问题(RAILS)
测验 - > QuizQuestions - > QuizQuestionChoices
QuizAttempt - > QuizAttemptAnswer
在quiz_attempt_answers我的回答存储为一个字符串,而不是一个参考QuizQuestionChoices为原因如下。
- 如果问题会从测验(也许它测验被修订)中删除,我们不希望失去他们把豆。
- 如果选择得到改变或重新安排,我们希望有他们选择的答案是
这些正确的理由是不使用外键作为答案吗?
这可能是查看NoSQL数据库的好例子 – lebreeze 2011-03-17 21:00:58