我是关系数据库和mySQL的新手,我正在尝试为员工开发一个数据库,它会记录员工访问系统的所有时间(通过记录每次访问系统时的时间戳来显示)。 / p>
因此,当员工访问系统时,会记录当前的timeStamp,并在下次访问时记录当前时间戳。我的想法是,我可以回去查询员工每天访问系统的次数,或者查询任何员工的一周等等。
到目前为止,我有:EMP_ID | F_Name | L_Name | TimeStamp
-------------------------------------
1222 | joe | blogs | 12.03.22
1222 | joe | blogs | 12.44.34
1352 | carl | mansy | 19.33.22
依此类推,我想知道是否有办法让一个emp_id显示下面的所有时间戳,或者我是否需要另一个表?或者我可以像这样拥有数据库吗?
显然这会大大增加,所以为每个emp_id设置一个表会更好吗?
先谢谢Jonny
答案 0 :(得分:1)
你应该有2张桌子 第一个是员工表
emplyee : EMP_ID | F_Name | L_Name
第二个是日志表
employee_log : EMP_ID | TimeStamp
第一个表将存储empolyee的数据 第二个将只存储该员工的日志
如果你想要检索日志,你只需要加入这些表格
select * from employee
left join employee_log on employee.EMP_ID = employee_log.EMP_ID
答案 1 :(得分:1)
您应该有2个表用于存储员工数据,另一个用于存储 日志数据
employee : EMP_ID | F_Name | L_Name
employee_log : EMP_ID | TimeStamp
答案 2 :(得分:0)
假设所有数据都存储在名为my_log_table
的表中,要查看EMP_ID 12222的所有时间戳,请查询它
select TimeStamp from my_log_table where EMP_ID = 12222
将所有日志放在同一个表中是可扩展的,更易于使用。
有多个日志表的问题:
此外,您不会保存除EMP_ID的一列以外的任何空间 合并日志表
答案 3 :(得分:0)
我希望如果你保持下面的表格会更好。
1222 | 22年3月12日 1222 | 12.44.34 1352 | 19.33.22
因此,在检索时,您可以显示为如下所示的交叉表
12.03.22 | 19.33.22
12.44.34 |