ER 模型用于从数据角度对系统的逻辑视图进行建模,它由以下组件组成:
实体、实体类型、实体集 –
实体可能是具有物理存在的对象——特定的人、汽车、房子或雇员——或者它可能是具有概念存在的对象——公司、工作或大学课程。
实体是实体类型的对象,所有实体的集合称为实体集。例如; E1是一个实体类型为Student的实体,所有学生的集合称为实体集。在 ER 图中,实体类型表示为:
属性):
属性是定义实体类型的属性。例如,Roll_No、Name、DOB、Age、Address、Mobile_No 是定义实体类型 Student 的属性。在ER图中,属性用椭圆表示。
- 关键属性——
唯一标识实体集中每个实体的属性称为关键属性。例如,Roll_No 对每个学生都是唯一的。在 ER 图中,关键属性由带有底层线条的椭圆表示。 - 复合属性——
由许多其他属性组成的属性称为复合属性。例如,学生实体类型的地址属性由街道、城市、州和国家组成。在ER图中,复合属性由椭圆组成的椭圆表示。 - 多值属性 –
由给定实体的多个值组成的属性。例如,Phone_No(对于给定的学生可以有多个)。在ER图中,多值属性用双椭圆表示。 - 派生属性 –
可以从实体类型的其他属性派生的属性称为派生属性。例如;年龄(可以从 DOB 得出)。在ER图中,派生属性用虚线椭圆表示。完整的实体类型Student及其属性可以表示为:
关系类型和关系集:
关系类型表示实体类型之间的关联。例如,’Enrolled in’ 是一种存在于实体类型 Student 和 Course 之间的关系类型。在ER图中,关系类型由菱形表示,并用线连接实体。
一组相同类型的关系称为关系集。以下关系集描述了 S1 在 C2 中注册,S2 在 C1 中注册,S3 在 C3 中注册。
关系集的度数:
参与关系集的不同实体集的数量称为关系集的度。
- 一元关系——
当只有一个实体集参与一个关系时,这种关系称为一元关系。例如,一个人只与一个人结婚。 - 二元关系 –
当有两个实体集参与一个关系时,这种关系称为二元关系。例如,Student 注册在 Course 中。 - n元关系 –
当有 n 个实体集参与一个关系时,这种关系称为 n 元关系。
基数:
实体集的实体参与关系集的次数称为基数。基数可以是不同的类型:
- 一对一——当每个实体集中的每个实体只能参与一次关系时,基数是一对一的。让我们假设一个男人可以嫁给一个女人,一个女人可以嫁给一个男人。所以这种关系将是一对一的。
使用集合,它可以表示为:
- 多对一——当一个实体集中的实体在关系集中只能参与一次,而其他实体集中的实体可以在关系集中参与多次时,基数是多对一的。让我们假设一个学生只能选一门课程,但一门课程可以被许多学生选修。所以基数将是 n 到 1。这意味着对于一门课程可以有 n 个学生,但对于一个学生,将只有一门课程。
使用集合,它可以表示为:
在这种情况下,每个学生只学习了 1 门课程,但许多学生已经学习了 1 门课程。
- 多对多——当所有实体集中的实体可以多次参与关系基数时,基数是多对多的。让我们假设一个学生可以选修一门以上的课程,而一门课程可以由许多学生选修。所以这种关系将是多对多的。
使用集合可以表示为:
在此示例中,学生 S1 注册到 C1 和 C3,课程 C3 注册到 S1、S3 和 S4。所以这是多对多的关系。
参与约束:
参与约束应用于参与关系集的实体。
- Total Participation –实体集中的每个实体都必须参与关系。如果每个学生都必须报读一门课程,则学生的参与将是总数。 ER图中的双线表示总参与度。
- 部分参与——实体集中的实体可能参与也可能不参与关系。如果某些课程没有被任何学生注册,课程的参与将是部分的。
该图描绘了“注册”关系集,其中学生实体集具有全部参与,课程实体集具有部分参与。
使用集合,它可以表示为,
学生实体集中的每个学生都参与关系,但存在不参与关系的课程 C4。
弱实体类型和识别关系:
如前所述,实体类型具有唯一标识实体集中每个实体的键属性。但是存在一些无法定义关键属性的实体类型。这些被称为弱实体类型。
例如,一家公司可能会存储员工的家属(父母、子女、配偶)的信息。但是没有员工,家属就没有存在。因此 Dependent 将是弱实体类型,而 Employee 将为 Dependant 识别实体类型。
弱实体类型由双矩形表示。弱实体类型的参与总是完全的。弱实体类型与其识别强实体类型之间的关系称为识别关系,用双菱形表示。
ER-MODEL 测验