自从我在学校开始以来,我一直在使用这个网站作为一个很好的资源 - 但我之前从未遇到过这个具体的问题,我希望得到一些帮助。在确定数据库结构时,我从来都不是最好的,而且我的任务是创建一个具有一些相当具体规范的PHP / MySQL测试引擎。
因此,您可以更好地了解我的目标 - 我正在尝试考虑以下因素:
大多数情况下,我试图处理基本结构。我在开始时有五张桌子,我将问题/答案部分缩进到一个表格中 - 并原谅我在这里改变关系的可怜尝试,因为我有20种不同的感觉方式:
我是否在正确的轨道上?有什么建议吗?
答案 0 :(得分:1)
N-1中数据库设计的经验法则。对于所有具有关系的表,您应该具有N-1个关系(其中N是表的数量)。带循环引用的表是禁止的。作为安全组件,只需查看测试/任务/答案,您需要一个具有一些基本对象的设计:
你没有在你的问题中提到它,但是如果你希望每个测试与老师教的课程相关联,你也需要这样做。通过这四个或五个表,您应该能够创建您的关系。提示:这些关系中的大多数是多对多的,因此需要一个XRef表来解决这个问题。回复你对此做的事情,我们可以看看下一步是什么。