假设我有:
和
每个问题都会有很多答案(这是OneToMany吗?),答案将通过单选(多项选择)来选择。例如,我想知道给定问题的每个答案被选择了多少次。用户只能回答这些问题一次。
我找到了一些解决方案(例如 What mysql database tables and relationships would support a Q&A survey with conditional questions? ),但它们似乎过于复杂。这是一个非常简单的调查。没有子问题,没有不同类型的答案,没有多项选择。
我正在考虑使用一个名为 Question_answer_user 的中间表,但是我不确定该表与其他表之间的关系(它是复合主键吗?)。我需要它们,以便我可以在 ORM 上对它们进行建模。
抱歉,如果这看起来过于简单,但我的大脑现在完全崩溃了
最佳答案
通过一对多关系,您可以通过将问题的主键 (id) 作为外键放入答案表中来连接问题和答案。
这样,您就可以通过查询具有特定问题 ID 的所有答案来访问给定问题的所有答案。
关于合并用户:你说用户每个问题只能回答一次。一个用户可以回答很多问题,一个问题也可以被很多用户回答。在这种情况下,您应该在两者之间有一个链接表,其中包含问题的 id 和用户的 id。通过这种关联,您可以通过遍历您的其他关系来查看特定用户对每个问题的回答。
关于mysql - 如何对简单调查的结果进行建模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24050822/