【问题标题】:How to create a database which needs to be able to store same type of data each day如何创建需要能够每天存储相同类型数据的数据库
【发布时间】:2021-05-09 13:02:18
【问题描述】:

我正在尝试为学生创建一个出勤率跟踪网站。在该网站上,学生每天和每个小时的出勤率都存储在“classname”表中,因此 如何在不删除以前数据的情况下每天将数据添加到此表中..

考虑一个班级,学生姓名和时间段为第一小时,第二小时..等,每天最多 5 小时..和一个日期字段..

每天每小时的出勤率都标记在这张表上。所以一周或一个月后,我们可以从中生成一份报告。

我的问题来了,参加一天后,桌子就完成了。那么如何保存数据并在第二天使用同一张表。

【问题讨论】:

  • 通常情况下,出勤会存储在名为出勤的表中
  • 创建带有date, class_id, student_id, ...列的attendance表并将数据插入其中。
  • 如果您想要评论,不妨添加您的表格定义。我敢打赌它看起来像 id,hour1,hour2,hour3,hour4,hour5

标签: mysql sql database-design


【解决方案1】:

假设我们在表格中有这些列:

(
ID int primary key identity(1,1), 
fk_studentsID int foreign key(fk_studentsID) references Sudents (ID) not null,
fk_classID int foreign key(fk_classID) references Classes (ID) not null,
Date date not null, 
Hours int CHECK (Hours>=1 AND Hours<=5) not null,
Mark bit not null)

然后您可以输出当天的总统计数据或个别学生在一定时间内的出勤情况等。

【讨论】:

  • 不告诉我参加了哪节课?
  • @P.Salmon 我添加课程
  • 如果我想将数据存储一周并生成报告..怎么办?如果我在第一天用值填充表格,那么如何在不清除旧数据的情况下在第二天重用它..? .我需要每天创建一个表来存储列表吗..?
  • 你可以每天使用这个表,你只需要写正确的日期,然后你可以随时生成报告
  • @Asel 你是对的,如果我分别输入每个学生的出勤率,它会起作用,我计划的是一个带有复选框的网站..对应于每个学生..这使得它变得更加困难..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-11
  • 2017-11-16
  • 1970-01-01
  • 2014-09-02
  • 2021-03-06
  • 1970-01-01
  • 2020-04-26
相关资源
最近更新 更多