Erd
員工休假的 ERD 設計
我發現了以下 ERD 設計:
它試圖盡可能多地獲取有關員工休假(即病假、旅行等)的資訊。我想了解的是這些列的作用:
表:Employee_Annual_Leave
- year_number // 為什麼設置為PK?這是什麼意思
- year_number der_leave_cumulative_days_taken // 可能從哪裡得出?
- der_leave_days_remaining // 這兩個列在實際場景中是如何工作的?
PS:是的,我已經閱讀了上面寫的“注意”框。但我還是不明白。
誰能解釋一下這是什麼意思?
要回答您的問題:
- 年號是(三列)複合主鍵的一部分。每個員工將有一條記錄 + 年份 + 休假類型(假期/病假/…) 年數可能意味著儲存為整數的日曆年。
der_leave_cumulative_days_taken
指實際休假的總時間,將通過將這些日期之間的天數Employee_Leave_Taken.leave_from_date
相加得出Employee_Leave_Taken.leave_to_date``Employee_Annual_Leave.year_number``employee_id``leave_type_code
der_leave_days_remaining
幾乎沒有意義,因為它會Employee_Annual_Leave.leave_days_allowed
更少der_leave_cumulative_days_taken
。一個真實的情況是,允許員工休假三週(15 天)並且到目前為止已經休假兩週(der_leave_cumulative_days_taken
= 10 天),因此他們還有 5 天的剩餘時間。以這種方式預先計算這些值的目的是您可以在查詢或報告中輕鬆引用這些值。注意該date_updated
欄位。這意味著有一個定期(可能是計劃的)批處理作業定期計算這些派生值,或者可能在對允許或離開進行更改時重新計算它們。