【发布时间】:2016-06-27 23:56:36
【问题描述】:
我即将开始一个带有问题和答案的“测验”项目。在我开始之前,我只想和各位专家一起了解一下数据库设计应该是怎样的。
我用谷歌搜索并搜索了这个answer,它应该是两个表。一个有问题,一个有答案。
TABLE questions
FIELDS: id, text
TABLE answers
FIELDS: id, question_id, text, correct
我想我会有大约 100 多个来自不同主题的问题。
所以我想添加一个主题行以便排序,并显示来自特定主题的问题,如下所示:
question 表将如下所示:
+----+-----------+---------------------------------------+
| id | subject | text |
+----+-----------+---------------------------------------+
| 0 | beer | what is the best beer in the world? |
| 1 | mountains | what is the world's highest mountain? |
+----+-----------+---------------------------------------+
而answers 表,则为 1 是正确答案:
+----+------+---------------+---------+
| id | q_id | text | correct |
+----+------+---------------+---------+
| 0 | 0 | carlsberg | 1 |
| 1 | 0 | heiniken | 0 |
| 2 | 0 | root beer | 0 |
| 3 | 0 | budweiser | 0 |
| 4 | 1 | k2 | 0 |
| 5 | 1 | Kangchenjunga | 0 |
| 6 | 1 | Mount Everest | 1 |
| 7 | 1 | Makalu | 0 |
+----+------+---------------+---------+
我的问题:
- 还有其他更高效(甚至更简单)的做事方式吗?
【问题讨论】:
-
但是嘉士伯不是最好的熊(我相信雪花瓷是按销量计算的),珠穆朗玛峰甚至离世界上最高的山峰都不近……它可能是地面上最高的......我相信莫纳克亚山从基地到山顶都是最高的。幽默>虽然你的方法是直截了当的,但它确实会导致答案可能重复。 -
不错的设计,虽然 SUGGESTION: 添加另一个 SUBJECTS 表并将 subject_id 添加到 QUESTIONS 表。 (@divix 提到的点不是必需的,但您可以更改数据类型(例如,正确为真/假或 0/1)
标签: mysql