1

我正在开发一个网络应用程序,用于跟踪工作人员在某些房间的签到和签出时间。我有多个员工,多个房间,以及每个房间的入住和退房时间。每次工人进入或离开房间时,他们都会扫描一个二维码,该二维码在该房间的 URL 中有一个 ID 变量;我需要记录房间、日期/时间、员工姓名,以及是否进出。

一种方法是制作一张表格,如下所示:

房间 | 员工 | 时间 | 进出|

数据将输入到数据库中,例如:

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

我想查看按入住时间排序的数据,但将下一行作为该房间的下一次退房时间。

4

2 回答 2

5

您可以使用三个表:

表 1:员工

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

表 2:房间

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

表 3:EmployeeInOut

Id ........int ...... PK
EmpID ...... int ....... FK
RoomNo ......int ........ FK InTime
。 ..... 日期
时间 OutTime ...... 日期时间

于 2012-07-02T05:31:32.037 回答
2

创建两个查找表..

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

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

还有一张参考表..

  1. Room_Employee_log {log_id (pk), room_id (fk-Room), employee_id (fk-Employee), log_time, direction (in/out)}
于 2012-07-02T05:36:14.480 回答