📜  泛化的限制

📅  最后修改于: 2021-09-09 11:27:19             🧑  作者: Mango

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

概括

泛化有以下三种类型的约束:

  1. 第一个确定该实体可以是低级实体组的成员。
  2. 第二个涉及实体是否属于多个较低级别的实体集。
  3. 第三个指定更高级别实体集中的实体是否必须属于泛化中的至少一个低级别实体集。

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

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

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

2. 其次涉及实体是否属于多个低级实体集:

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

  • 不相交——
    此约束的要求是一个实体不应属于不超过一个较低级别的实体集。例如,学生实体的实体仅满足学生类型属性的一个条件,即实体可以是研究生或本科生,但不能同时是两者。
  • 重叠——
    在这一类泛化中,在单个泛化中,同一个实体可能属于多个较低级别的实体集。例如,在员工工作团队中假设某些员工参与多个工作团队。因此,它为给定员工提供了他可能出现在多个团队实体集中的情况,这些团队实体集是员工的低级实体集。因此,泛化是重叠的。

3.第三个指定pr不是更高级别实体集中的实体必须属于泛化中的至少一个较低级别实体集:

此约束可能是以下之一:

  • 完全泛化或专业化 –
    根据这个约束,每个更高级别的实体必须属于一个更低级别的实体集。
  • 部分泛化或专业化——
    根据这个约束,一些更高级别的实体可能不属于任何更低级别的实体集。