【问题标题】:Period Slot System Design时段系统设计
【发布时间】:2016-06-15 13:41:38
【问题描述】:

我设计了一个系统,用于学校管理被送往隔离室的学生。学生当前已添加到系统中,并根据添加的时间段计算出他们在房间里度过了一整天。例如,如果学生于 2016 年 2 月 3 日在第 3 期被送出,他们将在 2016 年 3 月 3 日从第 3 期出来。我目前正在通过为每个周期分配一个数值来执行此操作,然后计算它们应该在那里停留多长时间。对于他们所在的每个时期,他们的行为都会被评级(红色、琥珀色、绿色),所以我有一个包含以下字段的时期表:ID、Seclusion_ID、P1、P2、P3 等。

我现在遇到的问题是,工作人员现在想要更改系统计算的默认周期,虽然它有时可以工作,但由于数字值,它非常有问题。

基本上,我认为它是一个时间段预订系统,但具有另一个维度,需要为每个时间段保留数据。

任何有关表格结构的帮助都将不胜感激,因为无论我多么努力地思考它,我似乎都无法理解它!?

马特

【问题讨论】:

  • 请展示你目前拥有的东西。阅读 SO MCVE。

标签: php mysql database database-design


【解决方案1】:

多个时段/时段的单独列是一种反模式。有一个包含期间编号或 ID 列的表格。

-- student STUDENT_ID on seclusion SECLUSION_ID spent day DAY period PERIOD_NO at rating RATING
Seclusion(student_id, seclusion_id, day, period__no, rating)
-- period PERIOD_NO starts at START_TIME and ...
Period(period_no, start_time, ...

(也许您认为句点跨越插槽;那么可能有一个 Slot 表,就像上面的 Period 表一样。然后一个 Period 表可能有 start_slotend_slot。或者如果句点由不相邻的插槽组成,那么您可能有带有 period_noslot_no 列的句点。)

【讨论】:

    猜你喜欢
    • 2022-07-22
    • 1970-01-01
    • 2022-08-20
    • 1970-01-01
    • 2022-01-18
    • 2010-11-30
    • 2011-08-06
    • 2014-11-20
    • 2011-07-18
    相关资源
    最近更新 更多