2016-03-02 71 views
0

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

问题我现在拥有的是,员工现在想要从系统计算的默认值更改时间段,并且有时它有效,但由于数值的原因,它很麻烦。

基本上是我看到它是作为一个时间段预约系统,但与另一个维度,其中每个时间段的数据需要保留。

任何关于桌子结构的帮助都会非常感谢,因为无论我多么努力地思考,我似乎都无法摆脱困境!

马特

+0

请显示你到目前为止。阅读关于SO MCVEs。 – philipxy

回答

0

对于多个时段/插槽的单独列是anit模式。有一个表的周期号或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_slot & end_slot或者,如果期间由非相邻的插槽。那么你可能有期间列period_no & slot_no。)