为了更好地理解这个问题,让我们考虑2个简化表,允许和扣除:
CREATE TABLE Allowance
(
[Id] INT NOT NULL IDENTITY PRIMARY KEY,
[Label] VARCHAR(100) NOT NULL UNIQUE,
[Amount] DECIMAL(20,3) NOT NULL
)
和
CREATE TABLE Deduction
(
[Id] INT NOT NULL IDENTITY PRIMARY KEY,
[Label] VARCHAR(100) NOT NULL UNIQUE,
[Amount] DECIMAL(20,3) NOT NULL
)
我目前正在使用工资单软件,我相信这两个表是自我明确的,不需要进一步解释。正如您所看到的,两个表具有相同的结构,但具有不同的业务逻辑。一个增加基本工资,另一个减去。
这是我的问题。是否更好地按业务逻辑分离表,实际上,或者将它们组合在一个表中并添加一个新的列标志,表示行的性质:
这两个概念之间的比较将是最受欢迎的。
答案 0 :(得分:2)
这是数据如何相关的问题 - 如果两个表中没有真正的关系,它们应该分开。但是,如果您需要同时处理数据,例如Allowances和Deductions的单个SUM,那么组合到一个表中可能更有意义。如果不了解更多的设计方案,就不可能提出好的建议。