测试的数据库结构

时间:2011-09-01 19:12:36

标签: php mysql database database-design structure

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

  • 我必须建立一个能够存储人们信息的数据库

  • 其中每个人都有3门课程(教育课程中的课程)让我们说第1阶段,第2阶段和第3阶段,如果没有完成课程1就无法开课2

  • 每个课程都有10个测试,它们具有相同的名称(例如,在course1中有一个名为example1的测试,在course2中还有一个名为example1的测试,但它更难)

  • 没有成绩,只是通过或失败

  • 最后他们被允许参加每次考试3次,我想存储日期(每次尝试)以及谁是考试的申请者(每次尝试),“老师”的名字是在桌子上

3 个答案:

答案 0 :(得分:1)

这不是mysql或php的问题。

您应该了解Database Modelling

然后使用其中任何一个tools(我喜欢DB Designer进行建模)

然后您应该学习如何整合PHP and MySQL

答案 1 :(得分:1)

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

答案 2 :(得分:0)

除了patricio的答案(我认为这是有价值的和好的指针)。拿你上面写的并扩展它。找到你的描述中的关键作品(我希望这将包括人,课程,测试......)。对于每个关键词,标识您需​​要保留的所有细节。

E.g。 “我必须建立一个能够存储人们信息的数据库”而且对于我需要知道的人......可能是名字,姓氏,出生数据,员工编号等。一个人的任何细节都与你有关。在spreedsheet或文档中列出它们。对每个关键词重复此操作。

然后考虑运行系统时需要了解的项目,您的最后一个要点朝这个方向前进。从中确定任何新的关键词,然后确定您需要了解的关键词的详细信息。

获取您的详细信息列表并将其标准化。作为第3范式的一般经验法则。在大多数情况下,它似乎是更高水平的标准化与不这样做之间的可行妥协。也许80/20规则中的一个规则通过20%的努力来达到目标​​(而不是规范化为第6种正常形式),你可以获得正常化的80%的好处。

汇总一份提案,如果你愿意,可以随时回来让我们批评它。