gpt4 book ai didi

sql - 数据库设计正确实践

转载 作者:搜寻专家 更新时间:2023-10-30 19:54:48 25 4
gpt4 key购买 nike

我遇到了一个可能很常见的小问题,但我不知道如何搜索。例如,假设我们有一个包含下表的数据库:

考试表 - 考试 ID、姓名

试题表 - ExamID、QuestionID、姓名

我应该让 QuestionID 是唯一的吗?我可以让它们对于每个 ExamID 都是独一无二的,或者我可以让 QuestionIDs 永不重复。这样做有什么优点/缺点吗?另外,两种情况下的主键应该是什么?

最佳答案

视情况而定。

有很多可能性,没有真正的“对”和“错”。

我的想法是可能将其分离到另一个表中,以便该问题可以在考试中重复使用

Exam
----
ExamId int primary key,
Name varchar(500)

Questions
----
QuestionId int primary key,
Text varchar(500)

ExamQuestions
----
Id int primary key, -- this is optional, i just like "simple" primary keys rather than composite.
ExamId int FK, -- potentially create a unique constraint on examId/questionId
QuestionId int FK, -- potentially create a unique constraint on examId/questionId
questionOrder int -- this would allow a "ordering" of exam questions on a per exam basis.

关于sql - 数据库设计正确实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26366510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com