【问题标题】:How to design a Db table for attendance如何设计考勤表
【发布时间】:2015-12-26 13:08:41
【问题描述】:

我目前正在开发一个学校管理系统,但似乎无法找出设计学生考勤表的最佳方式。

信息

学校为期 14 周,每周上课 5 次。该校学生每学期最多可容纳2000人。这意味着每学期的出勤率最高可达14 x 5 x 2000 = 140, 000

我正在使用VB.NetMS Access 为桌面开发应用程序。

目前取得的进展

到目前为止,我已经设计了一些我怀疑的东西。

表名:出勤

_____________________________________________
| id |std_id | att_week | att_date |  status |
''''''''''''''''''''''''''''''''''''''''''''''
| 1  | 0001  |    1     |29/9/2015 |  yes    |
''''''''''''''''''''''''''''''''''''''''''''''
| 2  | 0002  |    1     |29/9/2015 |  yes    |
''''''''''''''''''''''''''''''''''''''''''''''

我很容易发现,像这样设计它可以很容易地在一个术语中产生140, 000 行。

我还想过将工作日作为列名,这样很容易导致14 x 5 = 70 columns

设计这个表格的最佳方法是什么。

【问题讨论】:

  • 我不是 MS 或 vb 方面的专家,但如果您担心大小问题,那么如果您记录缺席学生怎么办,这样您的桌子大小就可以忽略不计了。因此,假设每个人都在一个学期上学,您将在该表中看不到任何记录!
  • @TechMaze 有点意思,我会考虑的。
  • 尽管去 -> 1,2
  • @wingᴇdpᴀnᴛʜᴇʀ 请详细说明
  • @Diamond 两个链接本身都解释得很好,那么这里详细阐述的意义是什么

标签: database vb.net ms-access-2007 schema


【解决方案1】:

朋友,我认为您应该像这样构建您的表格: 表只接受缺席者

id     student_id    class    date
________________________________________
1          11          7a    11/11/2020
2          21          6b    10/12/2020

等等...... 您可以轻松检索详细信息,例如 1] 每班总缺勤人数 2] 学生在日期范围内总缺席 3] 可以根据这些数据轻松准备学生的每日出勤报告

ALSO由于记录数量较少,并且如果您在 class_id 和指定 date 范围内的分区表上建立索引,这将非常快。

谢谢!

【讨论】:

    猜你喜欢
    • 2016-12-17
    • 2019-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 2019-03-15
    • 1970-01-01
    相关资源
    最近更新 更多