解释泛化和特化(DBMS)的设计约束。
在数据库管理系统 (DBMS) 中设计泛化和特化时,我们需要考虑的不同类型如下:
条件定义
属性定义
用户定义
不相交定义
重叠约束
完整性约束
让我们逐一了解它们。
条件定义
创建一个数据库,并在一个属性(例如出勤率)上设置条件。这种约束定义在单个属性上,该属性进一步将实体划分为两个子实体集,这些子实体集将提供关于给定属性的信息。
示例
以下是条件定义数据库的示例:
属性定义
这是指在多个属性上指定条件。
示例
考虑一个关于分数和出勤率的数据库。
这种约束定义在给定实体的两个或多个属性上,该实体进一步被划分为子类实体。
此处可以在两个以上属性上指定条件。
例如,账户类型——储蓄账户和活期账户。
对于储蓄账户和活期账户,我们可以执行余额查询、取款和存款等相同操作,但类型不同。
用户定义
在这种约束中,决定权留给超类,由超类决定有多少超类实例将参与子类。
在上面的例子中,团队领导决定哪些团队根据技能加入。
不相交约束
不相交就是交集,为给定超类指定的实例数只能参与一个子类。
账户用户可以参与储蓄账户和活期账户,但两者不同,因此一次只能参与一个。
它就像一个减法,如下所示:
重叠约束
如果超类的两个或多个实例参与两个或多个子类,则称为重叠约束。
示例
了解 Java 和 PHP 的人可以同时参与这两个团队。
完整性约束
每个实例都参与一个关系。超类的所有实例都必须参与一个关系或子类。
广告