假设任何人设计数据库(ER模型)并且他有三个表CHECKING-ACCOUNT,SAVINGS-ACCOUNT和LOAN-ACCOUNT。
假设他知道超类型 - 子类型关系。所以他实现了超类型 - 子类型。
我的问题是 - 在实施超类型 - 子类型关系后,他获得了哪些好处或好处?正在实施超类型 - 子类型的最佳实践?
答案 0 :(得分:2)
优点是超类型允许我们统一多个实体集的公共属性,关系和完整性,而子类型允许我们支持特定于类型的属性,关系和完整性约束。这使我们可以简化数据库和查询,并实现更严格的完整性。
在您的第一个示例中,如果我们想知道何时打开或审核所有帐户,我们将需要分别查询3个表中的每个表。如果我们想在帐户和客户之间建立关系,我们需要3个单独的关系,以及3个单独的查询来获取所有客户和帐户。确保审核日期在开放日期之后发生的限制必须定义3次。
如果没有子类型,我们需要支持单个公共类型的所有可能的属性和关系,并且我们的查询必须包含特定于类型的逻辑以分别处理不同的行。我们无法轻松实施类型特定的约束,例如不适用于支票帐户的正利率。