gpt4 book ai didi

mysql - 需要建议 : mysql database structure

转载 作者:行者123 更新时间:2023-11-29 06:20:07 25 4
gpt4 key购买 nike

另一个数据库结构问题,希望大家不要介意:D

我在我的网站上进行了这个视频测验,流程如下:

  1. 观看者将观看视频
  2. 该特定视频附加了一个问题
  3. 它还有 2 个问题,其中一个是假的,当然另一个是真的

到目前为止,我已经为此想出了两种数据库设计

第一个是:

table: video 
fields: id, filename, type, size, created

table: question
fields: id, question, right_answer, wrong_answer, video_id

第二个,我将问题和答案分开放在每个不同的 table 上

table: video 
fields: id, filename, type, size, created

table: question
fields: id, video_id, question

table: answer
fields: id, answer, video_id, status

答案表中的status字段是为了表明答案是对还是错,可能使用tinyint,值为0和1

你们会推荐我哪一个作为更好的方法以及为什么,并且由于我不太了解数据库规范化,是否有任何易于理解的文章,以便我可以提高我对此的知识,任何帮助都会很大赞赏,谢谢

问候

更新:

谢谢大家为我的数据库设计指出了更好的方法,因为每个人都建议我应该使用 bool 值或位作为字段类型,并且我之前总是使用tinyint来表示这样的字段:p,所以我搜索了一个关于我应该在 mysql 中使用什么类型来表示 bool 值的解决方案,我偶然发现了这个 Which MySQL Datatype to use for storing boolean values from/to PHP?根据该问题的答案,我应该使用tinyint(1),所以我想可以肯定地说我现在将继续使用tinyint:p

再次感谢大家

最佳答案

忽略 ASCII,我建议如下:

VIDEO                Question             Answer
|- id 1--. |- id 1--. |- id
|- filename '--* |- video_id '--* |- question_id
|- type '- question |- answer
|- size '- correct (bit, not tinyint)
'- Created

这样您就可以自由地在视频中添加多个问题,并为每个问题添加多个答案。另外,我建议使用一点(不是tinyint)来标记“正确”答案。我还尝试展示在这种情况下按键如何对齐。

关于mysql - 需要建议 : mysql database structure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4257181/

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