开发者社区> 问答> 正文

成绩数据库表

我正在尝试定义一个表格来存储在线成绩单的学生成绩。不过,我无法决定如何做。

等级是由受训者在三生时期给出的。每个学期都有一个平均成绩,缺课的总数和一个“恢复成绩”(我不知道英语中的正确术语,但是如果您低于平均水平,这是您要尝试提高成绩的一项额外测试) ,我还必须存储年平均值和最终的“恢复等级”。基本上是这样的:

  |1st Trimester      |2nd Trimester      |3rd Trimester

Subj. |Avg. |Mis. |Rec |Avg. |Mis. |Rec |Avg. |Mis. |Rec |Year Avg. |Final Rec. Math |5.33 |1 |4 |8.0 |0 |7.0 |2 |6.5 |7.0 Sci. |5.33 |1 |4 |8.0 |0 |7.0 |2 |6.5 |7.0 我可以将此信息存储在单个数据库行中,每一行都像这样:

1tAverage | 1tMissedClasses | 1tRecoveringGrade | 2tAverage | 2tMissedClasses | 2tRecoveringGrade 依此类推,但我认为,如果这首歌决定按学期或其他时期(例如直到3年前)进行评分,那将是很难承受的。 我也可以概括表字段,并使用tinyint标记那些年级的学期,或者它们是否是年终成绩。但是,这会要求很多子查询来写报告卡,这也很麻烦。

两者中哪一个更好,还是有其他方法?谢谢

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 17:58:05 474 0
1 条回答
写回答
取消 提交回答
  • 您可以尝试使用表来构造它。我没有所有的信息,所以我对您可能需要或使用的所有内容进行了一些猜测。

    时间段:

    ID(整数) PeriodTimeStart(DateTime) PeriodTimeEnd(DateTime) 名称(VARCHAR(50) 学生们:

    ID(整数) 名字(VARCHAR(60)) 姓氏(VARCHAR(60)) 生日(DateTime) [添加了其他任何与学生相关的领域信息...如联系信息等] 等级:

    ID(整数) 学生证(INT) 等级值(浮动) TimePeriodID(INT) IsRecoveringGrade(布尔值) MissedClasss:

    ID(整数) 学生证(INT) ClassID(INT) TimePeriodID(INT) DateMissed(DateTime) 类:

    ID(整数) 类名(VARCHAR(50)) 类说明(TEXT)

    2019-11-18 17:58:17
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载