4
我正在開發一個學校考勤系統,以迎合員工和學生的需求。用於高效考勤管理系統的數據庫模式
目前DB模式是
attendance
表
id - primary key for this table
daydate int(11) - stores timestamp of current day
timing_in varchar(18) - Start time for institution
timing_out - Closing time for institution
status - Status for the day, can be working day - 1 or holiday - 2
然後有員工&學生,其中存儲實際出勤值不同的表。
對於工作人員,出勤存儲在attendance_staff
。數據庫模式是
attendance_id - foreign key, references attendance table
staff_id - id of staff member, references staff master table
time_in - stores in timing of a staff member
time_out - stores out timing of a staff member
status - attendance status - can be one among the list, like present, absent, casual leave, half day, late mark, on duty, maternity leave, medical leave etc
對於工作人員,我存儲表中的當前以及不存在條目。
現在,學生的考勤必須包括在內。
由於每天的狀態已存儲在attendance
表中,我們可以在學生出勤表中存儲每個學生的不存在的值嗎?
比如,學生考勤表將只存儲那些在特定日子不在場的日子的條目。
爲attendance_student
架構將是
attendance_id - references attendance table
student_id - references student table
status - will be leave/absent etc other than present.
會不會是有效的,以計算從出勤表使用外部聯接本天?
在此先感謝。
謝謝Joel。 如果每天都將當前狀態存儲在數據庫中並對每個學生存儲。 那我去年在某個特定的學生的某個月有沒有出席? 如何檢查,當時學生是否可以出席。無論他是否處於活動狀態/非活動狀態/暫停狀態等。因爲對於不活躍的學生,系統中不會出席考勤。 – Ehs4n
@ Ehs4n - 如果是我,我會明確地存儲_present_。我會這樣做,因爲它可以區分在場的學生和失蹤的數據。在出席記錄之前,你不能分辨出是否有學生在場,或者出席率是「待定」。對於歷史數據,如果您在學生離開學校或新學年開始時清理了任何表格,那麼您可以考慮保留一組額外的歷史歸檔表格,其中包括學年作爲額外的領域。而不是刪除離開的學生,而是將其歸檔。 –
再次感謝您的見解。您能否將更多的信息放在歸檔功能上。這可以如何實現? – Ehs4n