我设计了一个系统,用于学校管理被送到隐蔽室的学生。学生当前被添加到系统中,并根据他们被添加的时间段计算出他们在房间里度过了一整天。例如,如果一个学生在2016年2月3日被派往第3期,那么他们将在2016年3月3日离开第3期。我目前的做法是为每个周期分配一个数值,然后计算它们应该在其中停留多长时间。对于它们所在的每个周期,都会对它们的行为进行评级(红色、琥珀、绿色),因此我有一个period表,其中包含以下字段: ID、Seclusion_ID、P1、P2、P3等。
我现在遇到的问题是,工作人员现在想要更改系统计算的默认周期,虽然它有时可以工作,但由于数值的原因,它是非常错误的。
基本上,我认为它是一个时隙预订系统,但具有另一个维度,其中需要保存每个时隙的数据。
对表格结构的任何帮助都将非常感谢,因为无论我多么努力地思考,我似乎就是无法理解它!?
哑光
发布于 2016-03-06 07:17:29
多个周期/槽的单独列是一种反模式。有一个表,其中有一列代表周期号或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, ...
(您可能认为句点跨越插槽;那么可能有一个类似于上面的Period
表的Slot
表。那么Period
表可能有start_slot
& end_slot
。或者,如果Period由不相邻的槽组成,那么您可能有period_no
和slot_no
列的Period。)
https://stackoverflow.com/questions/35751704
复制相似问题