2012-07-02 45 views
1

我正在研究一個跟蹤工作人員登記入住的網絡應用程序,並檢查某些房間的時間。我有多個員工,多個房間,並簽入和檢查每個房間的時間。每當工作人員進入或離開房間時,他們掃描該房間的URL中具有ID變量的QR碼;我需要記錄房間,日期/時間,員工姓名,以及是否在進出。多個房間的SQL數據庫設計爲多名員工提供入住和退房時間

的一種方法是使一個表所示:

室|員工|時間| InOrOut |

的數據將被輸入到數據庫中,如:

Mens Room, Joe, 6/29 7:30, In 

Womens Room, John, 6/29 7:35, In 

Mens Room, Joe, 6/29 8:00, Out 

Womens Room, John, 6/29 8:05, Out 

我想查看它喜歡:

Mens Room, Joe, 6/29 7:30, In 

Mens Room, Joe, 6/29 8:00, Out 

Womens Room, John, 6/29 7:35, In 

Womens Room, John, 6/29 8:05, Out 

我要查看支票有序數據及時,但下一行是該房間的下一次退房時間。

回答

2

創建兩個查找t能夠..

  1. 僱員{EMP_ID(PK),員工信息}

  2. 間{ROOM_ID(PK),房間信息}

和一個參考表..

  1. Room_Employee_log {LOG_ID(PK),ROOM_ID(FK-室),EMPLOYEE_ID(FK-僱員),log_time,方向(輸入/輸出)}
+0

這是我前進的方向,我試圖弄清楚如何以有意義的方式查看數據,經理希望能夠看到什麼時候進入房間然後離開,看看花了多少時間等等。我正在考慮如何在我的問題中描述它,不知道如何查詢它。 – ScottK

+1

'從Room_Employee_log中選擇e.name,r.name,l.time l左加入僱員e上e.employee_id = l.employee_id左加入r室上r.room_id = l.room_id秩序l.employee_id,l.time;' – manurajhada

+0

我如何查詢它,使房間'出'當log_in時間內的房間b'在房間之間時,log_time直接在房間後面'進入'log_time一個進出? – ScottK

5

您可以使用三個表:

表1:員工

的EmpID ............ INT ........主鍵
EmpName ......... VARCHAR(50)

表2:房間

RoomNo ........ INT ........主鍵
RoomDetails ..... VARCHAR(20)

表3:EmployeeInOut

編號........ INT ..... PK
的EmpID .... int ....... FK
RoomNo ...... int ........ FK
InTime ...... DateTime
OutTime ...... DateTime

+0

爲什麼在第三表EmployeeInOut ,InnTime,OutTime分開製作?我們可以做出2個條目,如時間,方向(即進/出)。否則一切都很好。 –

+0

我有前兩個表。我確實想讓你的第三張桌子像你說的,但不知道該怎麼做。因爲,員工在進入時會掃描QR碼,輸入PIN碼,然後掃描出去的QR碼,輸入PIN碼。如何在員工掃描時及時創建的行中輸入OutTime? – ScottK

+0

@SomnathMuluk因爲在查詢時不需要每次匹配In或Out。你只需要選擇適當的列。我覺得保持它分開更好,反正你的選擇也適用。 – Geek