繁体   English   中英

数据库设计中的表关系问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM