[英]Table relationship issue in database design
我有工资表
PayrollSalaryMaster (PayrollID,PayMonth,EmployeeID)
PayrollSalaryDetail (DetailID,PayrollID,ComponentID,Amount)
我有修正表,如果有偏离批准薪水的情况,记录了薪水的修正
PayAmmendments (AmendmentID,Detailid,Amount)
现在,我有一个新要求,即“员工工资”或其任何部分都可以保留(即),它不会以当前薪水支付。 我将PayAmmendments表修改为
PayAmmendments (AmendmentID,Detailid,Amount,IsHold)
题
现在,如果某个员工的全部薪金被搁置了,那么上面设计中的场景该如何处理
如果我的理解是正确的,则可能可以按以下方式保存数据:
薪资大师 :
PayrollID | PayMonth | EmployeeID
PAYROLL1 | JULY | E123
PayrollSalaryDetail
DetailID | PayrollID | ComponentID | Amount
DET1 | PAYROLL1 | COMP1 | 0
PayAmmendments
AmendmentID | Detailid | Amount | IsHold
AM1 | DET1 | 0 | TRUE
如果员工的薪水是5000,也许您还可以根据自己的情况尝试以下方法
PayrollSalaryDetail
DetailID | PayrollID | ComponentID | Amount
DET1 | PAYROLL1 | COMP1 | 5000
PayAmmendments
AmendmentID | Detailid | Amount | IsHold
AM1 | DET1 | -5000 | TRUE
我认为保留专栏将设置在主目录中,而不是在修订中。
原因是您持有员工的全部薪水,而不仅仅是补偿金。 当您要显示特定月份的保留工资记录时,这也很有用。
是的,最好在补偿表中添加“ IsHold”列,以防贵公司决定仅在宣布特定雇员后才保留欠款,而不是全部工资。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.