mysql - 如何对简单调查的结果进行建模?

标签 mysql database-design

假设我有:

enter image description here

enter image description here

每个问题都会有很多答案(这是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/

相关文章:

MySQL - 使用 'load data infile"导入巨大的 csv

mysql - 用户反馈系统的正确数据库模型(一个有趣的案例)

MySQL - 如何存储 GROUP BY 的结果以便在重复键更新中使用

MySQL 无法替换换行符

mysql - 群体-人员数据库设计 - 需要建议

oop - 在数据库中实现子类化

mysql - 具有多种用户类型的数据库用户场景

database-design - 多对多相交表的正确表命名约定

php mysql 字段名称为<th>?

php - 使用 PHP 从 MySQL DB 更新 HTML 组合框