2016-03-02 135 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。)