我有一个需求,就是要保留2000名员工出勤的数据。
那么考勤表也要有设计?
一年中每天365列,2000条预置记录
我会通过java程序每天更新
或
365 天每天插入 5 列 2000 条记录?
或者有什么更好的方法吗?
最佳答案
我觉得你想多了。假设您已经有一个包含员工详细信息的员工表,您真正需要的是另一个包含员工 ID 和日期(如果您关心的话,可能还有进出时间)的表,其中一行的存在表示当天出席,如果没有则表示没有出席。然后,您可以通过 left joining 在员工表上找到缺勤天数。
CREATE TABLE employee (
id NUMBER PRIMARY KEY,
-- other details...
);
CREATE TABLE attendance (
employee_id NOT NULL REFERENCES employee(id),
attendance_date DATE NOT NULL,
PRIMARY_KEY(employee_id, attendance_date)
);
关于sql - oracle数据库表结构设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37225018/