📜  泛化约束

📅  最后修改于: 2021-08-25 10:20:03             🧑  作者: Mango

为了更准确地对企业建模,在特定的概括中存在一些适用于数据库的约束。

概括

概括的约束有以下三种:

  1. 第一个确定该实体可以是低级实体组的成员。
  2. 第二个问题涉及实体是否属于一个以上的低级实体集。
  3. 第三指定在概括中,高层实体集中的实体是否必须至少属于较低层实体集中的至少一个。

1.首先一个确定该实体可以是低级实体组的成员:

这种成员资格可能是以下之一:

  • 条件定义–
    在此较低级别的实体集中,成员资格的评估基于一个实体是否满足显式条件。例如,让我们假设具有属性学生类型的高级实体集学生。学生的所有实体均通过学生属性的定义进行评估。满足条件的实体即学生类型=“研究生”就可以接受实体,然后仅允许它们属于较低级别的实体集即研究生。通过满足条件的学生类型=“本科生”,则将其包括在本科生中。实际上,所有较低级别的实体都是基于相同的属性进行评估的,因此也称为属性定义的。
  • 用户自定义 –
    在这种较低级别的实体集中,不会受到名为“隶属关系”的条件的约束;数据库的用户将实体分配给给定的实体集。例如,考虑一种情况,即在工作三个月后,大学的员工被分配到四个工作团队之一。为此,我们将团队表示为四个较高级别员工实体集的较低级别实体集。根据明确的定义条件,不会将给定的员工分配给特定的团队实体。负责此决策的用户将根据个人情况进行团队分配。通过将实体添加到实体集,可以实现分配。

2.第二个问题涉及实体是否属于一个以上的下层实体集:

以下是较低级别的实体集之一:

  • 脱节–
    此约束的要求是,一个实体最多只能属于一个较低级别的实体集。例如,学生实体的实体仅满足学生类型属性的一个条件,即,一个实体可以是研究生或本科生,但不能同时是两者。
  • 重叠–
    在这种归纳类别中,在单个归纳中,同一实体可能属于一个以上的下层实体集。例如,在员工工作团队中,假设某些员工参加了多个工作团队。因此,它为给定的雇员提供了他可能出现在多个团队实体集中的一种,该团队实体集是雇员的较低级别的实体集。因此,概括是重叠的。

3.第三部规定了归纳概括中较高层实体集中的一个实体是否必须至少属于较低层实体集中的一个:

此约束可能是下列之一:

  • 总体概括或专业化–
    根据此约束,每个较高级别的实体必须属于一个较低级别的实体集。
  • 部分概括或专业化–
    根据此约束,某些较高级别的实体可能不属于任何较低级别的实体集。