Database design 关于学校数据库设计的问题

Database design 关于学校数据库设计的问题,database-design,Database Design,对于学校的年级模式来说,一个好的数据库设计应该是什么 基本上,我有以下几点: 问题在于,当试图获得平均分数时。我不能说在怀孕的头三个月里所有科目的平均成绩 关于评分系统的良好DB设计有什么建议吗?在科目、成绩和分数之间添加一个班级表。 班级表参考了一个科目、一个年级和一个学期 分数表引用类而不是主题 然后,您应该可以毫无问题地汇总和平均每个学期和每个年级的分数。数据库中有一个包含平均分数的字段是糟糕的数据库设计。此数据是冗余的(因为您已经在其他地方拥有计算此值所需的所有数据),不应存储。一

对于学校的年级模式来说,一个好的数据库设计应该是什么

基本上,我有以下几点:

问题在于,当试图获得平均分数时。我不能说在怀孕的头三个月里所有科目的平均成绩


关于评分系统的良好DB设计有什么建议吗?

在科目、成绩和分数之间添加一个班级表。

  • 班级表参考了一个科目、一个年级和一个学期
  • 分数表引用类而不是主题

然后,您应该可以毫无问题地汇总和平均每个学期和每个年级的分数。

数据库中有一个包含平均分数的字段是糟糕的数据库设计。此数据是冗余的(因为您已经在其他地方拥有计算此值所需的所有数据),不应存储。一个主要的数据库设计规则是永远不要存储您可以计算的内容。这会导致在更新一个内容时需要更新两个内容。在这种情况下,您需要在更新用于计算平均值的等级时更新平均值表


但是,您可能希望创建一个为您计算平均值的视图。视图基本上是一个由select查询填充的表。若要继续创建视图,请首先创建一个select查询,该查询将返回所需的平均值以及要用于查找此平均值的任何数据(最有可能是IDSubject或IDStudent)。然后查看如何在数据库中创建视图,它应该能够从选择查询中创建视图。

为什么不发布您尝试运行的查询?是否需要设计审查或查询帮助?这些是非常不同的问题。设计审查。这个数据库设计不太符合我的目的,即为每个年级的平均值设置一个字段,等等。