将考试数据存储在数据库中的最佳方式
Best way to store exam data in a database
我希望实现一个新的数据库并将学生的考试数据和分数存储在数据库中。有任意数量的学生,每个学生都有任意数量的带有相应标记的模块。我需要创建数据库,以便我能够查询数据库和 return 学生姓名,后跟他们的每个模块和相应的标记,然后移动到下一个学生。这是因为我想在 PHP 中显示它,并以粗体显示学生姓名列表,然后是 table 他们的模块和分数。
我最初考虑过这样组织 table:
|学生姓名 |模组 |结果 |
为学生参加的每个模块创建一个新条目,并只存储多个学生,但我不知道我将如何查询数据库并单独检索每个 StudentName,然后能够遍历其相应的模块和结果存储在 HTML table.
如有任何想法,我们将不胜感激
- 给每个 table 一个自动递增的 id 字段
- 在您需要 link 结果到模块的地方,例如,您可以添加一个
moduleID 字段添加到结果 table 以将结果与模块联系起来。
然后,您将使用联接进行查询以引入两组数据。
- 要将学生与模块联系起来,您需要另一个 table
studentID 字段和 ModuleID 字段。然后你会查询这个 table
并加入 StudentName 和 Module 以获取相应的数据
每个。
首先,您需要几个 table。一个table做不到。为每种类型的对象创建一个 table。在这种情况下,您需要一个 table 用于学生,一个用于模块。
两个table都需要一个id列来标识行。在它们上创建一个主键。
Students table: Id, StudentName
Module table: Id, ModuleName
学生和模块之间存在多对多关系(每个学生可以有多个模块,每个模块可以由很多学生选择)。多对多关系需要一个单独的 table。
您不清楚每个学生和模块是否有一个成绩。如果只有一个等级,最好的解决方案是将等级包含在这个关系table中。
Grade table: Id, StudentId, ModuleId, Grade
我希望实现一个新的数据库并将学生的考试数据和分数存储在数据库中。有任意数量的学生,每个学生都有任意数量的带有相应标记的模块。我需要创建数据库,以便我能够查询数据库和 return 学生姓名,后跟他们的每个模块和相应的标记,然后移动到下一个学生。这是因为我想在 PHP 中显示它,并以粗体显示学生姓名列表,然后是 table 他们的模块和分数。
我最初考虑过这样组织 table:
|学生姓名 |模组 |结果 |
为学生参加的每个模块创建一个新条目,并只存储多个学生,但我不知道我将如何查询数据库并单独检索每个 StudentName,然后能够遍历其相应的模块和结果存储在 HTML table.
如有任何想法,我们将不胜感激
- 给每个 table 一个自动递增的 id 字段
- 在您需要 link 结果到模块的地方,例如,您可以添加一个 moduleID 字段添加到结果 table 以将结果与模块联系起来。 然后,您将使用联接进行查询以引入两组数据。
- 要将学生与模块联系起来,您需要另一个 table studentID 字段和 ModuleID 字段。然后你会查询这个 table 并加入 StudentName 和 Module 以获取相应的数据 每个。
首先,您需要几个 table。一个table做不到。为每种类型的对象创建一个 table。在这种情况下,您需要一个 table 用于学生,一个用于模块。
两个table都需要一个id列来标识行。在它们上创建一个主键。
Students table: Id, StudentName
Module table: Id, ModuleName
学生和模块之间存在多对多关系(每个学生可以有多个模块,每个模块可以由很多学生选择)。多对多关系需要一个单独的 table。
您不清楚每个学生和模块是否有一个成绩。如果只有一个等级,最好的解决方案是将等级包含在这个关系table中。
Grade table: Id, StudentId, ModuleId, Grade