mysql - 哪个数据库表更好?

标签 mysql sql database

我只是想要一些建议,在数据库中创建“问题”表时,我是否需要存储每个问题的问题编号,或者是否不需要,因为每个问题都会有自己的唯一 ID,这要归功于自动递增和当学生参加考试时,问题将以随机顺序出现在每个学生身上,因此他们无法复制答案。

换句话说,问题表应该是这样的(示例 1):

    QuestionId (int 11) auto increment PK  //unique identifier for each question
    QuestionNo (int 3) //the question number
    QuestionContent (varchar 800) //the question itself
AnswerId (int 11) //Foreign key to AnswerId in Answer Table

或者应该是这样的(例2):

    QuestionId (int 11) auto increment PK  //unique identifier for each question
    QuestionContent (varchar 800) //the question itself
AnswerId (int 11) //Foreign key to AnswerId in Answer Table

最佳答案

我想您已经回答了自己的问题。自动递增的 PK 字段意味着每个问题都会有一个唯一的 ID 号。您需要提供另一个问题编号字段的唯一原因是,如果您需要能够根据一些其他已经确定的编号系统找到问题,或者问题编号是否具有其他意义。

关于mysql - 哪个数据库表更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12682804/

相关文章:

php - 使用 ajax 删除使用 glob() 显示的图像

javascript - 当用户从下拉列表中选择值时,在文本区域中显示数据库值

mysql - 我可以有一个没有聚簇索引的主键吗?我还可以拥有多值聚簇索引吗?

sql - 数据库中的建模类(class)和先决条件

database - 为什么我的 pl sql 代码在 Oracle 12c 的数据字典中丢失了?

Mysql只出现结果中计数3行的行

mysql - 回退迭代 SQL 查询

database - 有谁知道一个很好的图书馆可以将一个人的名字映射到他或她的性别?

mysql - mySQL Workbench 中的 3NF 规范化

database - 实现文档管理系统的建议,其中一些文档具有运行时替换字段