解释泛化和特化(DBMS)的设计约束。


在数据库管理系统 (DBMS) 中设计泛化和特化时,我们需要考虑的不同类型如下:

  • 条件定义

  • 属性定义

  • 用户定义

  • 不相交定义

  • 重叠约束

  • 完整性约束

让我们逐一了解它们。

条件定义

创建一个数据库,并在一个属性(例如出勤率)上设置条件。这种约束定义在单个属性上,该属性进一步将实体划分为两个子实体集,这些子实体集将提供关于给定属性的信息。

示例

以下是条件定义数据库的示例:

属性定义

这是指在多个属性上指定条件。

示例

考虑一个关于分数和出勤率的数据库。

这种约束定义在给定实体的两个或多个属性上,该实体进一步被划分为子类实体。

此处可以在两个以上属性上指定条件。

例如,账户类型——储蓄账户和活期账户。

对于储蓄账户和活期账户,我们可以执行余额查询、取款和存款等相同操作,但类型不同。

用户定义

在这种约束中,决定权留给超类,由超类决定有多少超类实例将参与子类。

在上面的例子中,团队领导决定哪些团队根据技能加入。

不相交约束

不相交就是交集,为给定超类指定的实例数只能参与一个子类。

账户用户可以参与储蓄账户和活期账户,但两者不同,因此一次只能参与一个。

它就像一个减法,如下所示:

重叠约束

如果超类的两个或多个实例参与两个或多个子类,则称为重叠约束。

示例

了解 Java 和 PHP 的人可以同时参与这两个团队。

完整性约束

每个实例都参与一个关系。超类的所有实例都必须参与一个关系或子类。

更新于:2021年7月6日

7000+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告