多个房间的SQL数据库设计为多个员工签入和签出时间

时间:2012-07-02 05:22:00

标签: mysql sql database-design

我正在开发一个网络应用程序,可以跟踪工作人员的登记情况并查看某些房间的时间。我有多个员工,多个房间,并为每个房间办理入住和退房时间。每当工人进入或离开房间时,他们都会扫描一个QR代码,该代码在该房间的URL中具有ID变量;我需要记录房间,日期/时间,员工姓名,以及是否进出。

一种方法是制作一个表格,如:

  

房间|员工|时间| 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 个答案:

答案 0 :(得分:5)

您可以使用三个表格:

表1:员工

EmpID ............ int ........主键
EmpName ......... varchar(50)

表2:会议室

RoomNo ........ int ........主键
RoomDetails ..... varchar(20)

表3:EmployeeInOut

Id ........ int ..... P.K
EmpID ..... int ....... F.K
RoomNo ...... int ........ F.K
InTime ......日期时间
OutTime ......日期时间

答案 1 :(得分:2)

创建两个查找表..

  
      
  1. 员工{emp_id(pk),员工信息}

  2.   
  3. 房间{room_id(pk),房间信息}

  4.   

一个参考表..

  
      
  1. Room_Employee_log {log_id(pk),room_id(fk-Room),employee_id(fk-Employee),log_time,direction(in / out)}
  2.