-1

假设任何一个设计数据库(ER模型)并且他有三个表CHECKING-ACCOUNT,SAVINGS-ACCOUNT和LOAN-ACCOUNT。超级类型子类型表有什么好处

Tables

假设他知道超类型子类型关系。所以他实现了超级类型 - 子类型。

new structure

我的问题是 - 分型的关系,他会得到什么好处或优势 - 实现超类型之后?正在实施超级类型 - 子类型的最佳做法?

+0

我只是不确定为什么他不会在同一个表中使用帐户类型,帐户类型,帐户余额等帐户表。 – Forklift

+0

如果我们总是使用一个表,存储类似的(不是100%相似的)类型的东西(少数列相同和几个不同),那么超类型 - 子类型关系有什么用? –

+0

如果每个表中有许多列没有任何关系,那么可能不需要大量空列。或者如果你有很多的子类型,你会再次结束很多空列。超级超级可以防止这些问题。 – Forklift

回答

1

优点是超类型允许我们统一多个实体集的通用属性,关系和完整性,而子类型允许我们支持类型特定的属性,关系和完整性约束。这使我们能够简化数据库和查询,并强化更严格的完整性。

在您的第一个示例中,如果我们想知道所有帐户何时打开或审阅过,我们需要分别查询这3个表中的每一个。如果我们想建立账户和客户之间的关系,我们需要3个独立的关系,3个独立的查询来获取所有客户和账户。例如确保在打开日期后发生审阅日期的限制必须定义3次。

没有子类型,我们需要支持单个常见类型的所有可能的属性和关系,而且我们的查询必须包含特定于类型的逻辑来分别处理不同的行。我们不能轻易实施特定于类型的限制,如正面利率不适用于支票帐户。

相关问题