我看到其他数据库设计主题相同,但它们就像录制一天的单个出席。
我想记录每天5个科目的学生的出勤率,然后在我的php页面上检索它,学生可以在其中输入他的参赛号码,并且他的出席率将被显示为15/20,而5个科目中的5个科目线。其中15人是他上过的课程总数,20人是所持有的课程总数。
我知道更好的方法是为不同的实体制作不同的表格,但我无法想出一个设计。
我想到的是:
包含列的表:
id,学生姓名,日期,科目,科目类(布尔,在此日期举办的该科目讲座),出勤(布尔,学生是否参加)
或者 有5个主题的5个不同的表,如: 让我们说物理学 列: 身份证,学生姓名,约会,参加
但这两个表都有很多冗余值。让我们说第二张桌子,为70名学生出席3天,每个名字将重复三次,3个日期将重复70次。
有更好的方法吗?
P.S。我不知道MySQL中的外键或任何其他概念,但却太天真,无法学习并在一天内实现它。
答案 0 :(得分:2)
我推荐以下结构:
学生表
课程表
课程表
出勤表
然后,您可以使用最后两个表中的信息(课程表和出席表)将这些表映射到一起。
或者,您可以合并课程表和出席表以形成:
出勤和课程表