我有一项要求是保留2000名员工的数据。
所以出勤表应该有设计吗?
一年中每天365列,2000年预插入记录
我将每天通过java程序更新它
或
5列2000记录每天插入365天?
或者有更好的方法吗?
答案 0 :(得分:2)
我认为你过分思考问题。假设您已经有一个员工表,其中包含员工的详细信息,您真正需要的是另一张表,其中包含员工的ID和日期(如果您关心它,可能还有入口和出口时间),其中有一行表示出席该日期,缺乏if表示缺乏出席率。然后,您可以通过左侧加入员工表来查找此缺勤日期。
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)
);