我现在有一个数据库设置来收集问题的答案(Rails 4.0 + MySQL)。要解释我们所称的“网格问题”,例如“您在以下每一家商店中的每一家购物的频率?”而不是拥有
question has_many answers
answer belongs_to question
answer belongs_to user我跟着:
question has_many data_fields
data_field has_many answers
answer belongs_to data_field
answer belongs_to user因此,每个问题都有一个或更多的data_fields来说明每种类型的商店。
最近,我有一位数据库顾问坚持认为,更好的方法是回到一个简单的answer belongs_to question,在试题表中添加3列来确定1)是一个定义问题的组,2)“组号”,3)组内的位置
他的解释是,如果我发现自己需要在所有问题上生成一份报告,那就更简单了--我不需要做一个工会来完成这个任务。但我很难说服自己,在呈现问题输入和生成数据以供分析时,它给用户界面带来的好处大于它带来的压力。
建立这个数据库的最好方法是什么?我知道这有点主观,但从技术上讲,应该有一个最佳实践,所以希望我能发布这篇文章.
发布于 2013-11-22 16:59:50
审议情况:
结论:
选择最传统的方法,当您真正遇到瓶颈时,会在之后进行优化。
https://stackoverflow.com/questions/20149600
复制相似问题