单表继承是否导致非规范化

问题描述 投票:-2回答:1

我们正在尝试提出付款方式的数据模型。可以存在多种支付方法,例如卡,银行转账,钱包,其进一步可以被分类为例如卡。卡转入信用卡/借记卡,银行转入ACH / SEPA等。

所以这是关于将继承建模到数据库表中。一种选择是使用单表继承。我团队中的高级人员将单表称为非规范化表。但我不明白为什么?我在这里看不到任何插入/删除/更新异常,每个支付方法记录都是独立的,没有冗余。它只是表中会有很多空值,因为列集将是所有付款方式的联合。

database database-normalization single-table-inheritance denormalization
1个回答
1
投票

你可能是对的。通常,具有空值的超类型表是公共属性表和某些子类型表的左连接。 (联合的联合。)但是归一化无损地分解为通过自然连接的投影和非规范化。所以这里对较小表的重新排列可能不是规范化,并且由于我们归一化和重新组合的原因可能不是非规范化。因此,“非规范化”和“规范化”被滥用。仍然 - 即使他们使用错误的单词仍然存在问题。你为什么不问他们的意思?

© www.soinside.com 2019 - 2024. All rights reserved.