如果我根据公司所在地、员工合同类型和其他标准,有不同的多笔工资支付:所以。
有些人的工资被分成几部分,第一部分是美元,第二部分是当地货币。
Ex: Employee 343 receive his salary as following: 200 USD & 3000 EGP (The local currency).
EX: Employee 672 receive his salary as following: 200 USD & 200 EUR (The local currency).
有些人的工资只用一种货币(当地)。
Ex: Employee 532 receive his salary as following: 5000 EGP.
因此,我们有多种货币的工资的公司根据位置和其他业务规则。
什么是最合适的方式来保存这些变化的员工的工资在DB中,所以,这是很容易检索,处理和规模。
如果我使用一个表,所以我将有许多列,我必须添加新的列,每次一个新的分支机构的公司被启动。
Sal_USD | Sal_EGP | Sal_Eur
有没有一种优雅的方式来处理这个问题?
正确的方法是始终支持一个无限数量的连接。因此,创建一个表与工资,另一个表与货币。
我认为3个表就可以完成这个工作了b
Employee (the one you have now)
- EmployeeID
Salary
- SalaryID
- EmployeeID
- CurrencyID
- Wage
- Exchangerate ?
CurrencyID
- CurrencyID
- Name (USD/GDP/EUR....)
然后你只需将它们加入。
创建一列CurrencyCode,用2行来表示一个员工的工资用两种货币支付。