用于测试的数据库结构


Database structure for Tests

好吧,我真的是mysql的新手,我不知道做什么我打算,或者至少不是有效的方式。

  • 我必须建立一个数据库来保存人们的信息

  • 每个人都要通过3门课程(教育课程中的课程)假设是第1、2和3阶段,他们不能在完成课程1之前开始课程2

  • 每门课程有10个测试,他们有相同的名称(如。在课程1和课程2中都有一个名为example1的测试,但更难)

  • 没有分数,只有及格或不及格

  • 最后他们被允许参加每个测试3次,我想要存储日期(每次尝试)以及谁是考试的申请人(每次尝试),"老师"的名字在表格上

这不是mysql或php的问题。

你应该学习数据库建模。

然后使用任何这些工具(我喜欢DB Designer建模)

然后你应该学习如何集成PHP和MySQL

试试mySql创建的Sakila数据库,这是一个用于培训的示例数据库。您将从中学到一些技巧,在创建自己的数据库之前,甚至在阅读一些书籍或主题之前,这些技巧非常有用。

除了patricio的回答(我认为这是有价值的和很好的指示)。将上面所写的内容进行扩展。在你的描述中找到关键作品(我希望这将包括人员,课程,测试……)。对于每个关键字,确定您需要保留的所有细节。

。"我必须建立一个数据库来保存人们的信息",对于我需要认识的人……可能是名字、姓氏、出生数据、员工编号等。一个人的任何细节都与你有关。将它们列在电子表格或文档中。对每个关键字重复此步骤。

然后考虑运行系统需要知道的事项,你的最后一个要点指向这个方向。从中找出任何新的关键字,然后你需要了解这些关键字的细节。

把你的细节列表规范化。作为一般的经验法则,目标是第三范式。在大多数情况下,在更高程度的正常化和不这样做之间似乎是一个可行的妥协。也许80/20规则之一,通过20%的努力达到目标(而不是规范化到第6范式),你可以获得规范化80%的好处。

整理一个提案,如果你愿意,可以随时回来让我们评论。