将考试数据存储在数据库中的最佳方法

时间:2015-04-08 17:42:07

标签: php mysql database

我希望实现一个新的数据库,并将学生的考试数据和标记存储在数据库中。有任意数量的学生,每个学生都有任意数量的模块和相应的标记。我需要创建数据库,以便我能够查询数据库并返回学生姓名,然后是每个模块和相应的标记,然后转到下一个学生。这是因为我希望在PHP中显示一个粗体学生姓名列表,然后是一个模块及其标记表。

我最初考虑像这样组织表格:

|学生名称|模块|结果|

学生为每个模块添加一个新条目,只存储多个学生,但后来我不知道如何查询数据库并单独检索每个StudentName,然后能够遍历相应的模块和结果到将其存储在HTML表格中。

任何想法都将不胜感激

2 个答案:

答案 0 :(得分:1)

  • 为每个表提供一个自动递增的id字段
  • 您需要将结果链接到模块,例如,您需要添加一个 moduleID字段到结果表,将结果绑定到模块。 然后,您将使用连接进行查询以引入两组数据。
  • 要将学生与模块联系起来,你需要另一张有一个表格的表格 studentID字段和ModuleID字段。然后,您将查询此表 并加入StudentName和Module以获取相应的数据 每个

答案 1 :(得分:1)

首先,您需要几张桌子。一张桌子做不到。为每种类型的对象创建一个表。在这种情况下,您需要一个学生表和一个模块表。

两个表都需要一个id列来标识行。在它们上创建主键。

  

学生表:Id,StudentName
  模块表:Id,ModuleName

学生和模块之间存在多对多的关系(每个学生可以有多个模块,每个模块可以由许多学生选择)。多对多的关系需要一个单独的表。

你不清楚每个学生和模块是否有一个年级。如果只有一个成绩,最好的解决方案是在此关系表中包含成绩。

  

成绩表:Id,StudentId,ModuleId,成绩