数据库管理系统 - ER模型基本概念



ER模型定义了数据库的概念视图。它围绕现实世界中的实体及其之间的关联。在视图级别,ER模型被认为是设计数据库的一个不错的选择。

实体

实体可以是现实世界中的对象,无论是生物还是非生物,都可以轻松识别。例如,在学校数据库中,学生、教师、班级和提供的课程可以被视为实体。所有这些实体都具有一些属性或特性,这些属性或特性赋予了它们身份。

实体集是相同类型实体的集合。实体集可能包含具有共享相似值的属性的实体。例如,一个学生集可能包含一所学校的所有学生;同样,一个教师集可能包含一所学校来自所有院系的所有教师。实体集不必是不相交的。

属性

实体通过其属性(称为属性)来表示。所有属性都有值。例如,学生实体可能具有姓名、班级和年龄作为属性。

存在一个可以分配给属性的值域或范围。例如,学生的姓名不能是数值。它必须是字母的。学生的年龄不能为负数,等等。

属性类型

  • 简单属性 - 简单属性是原子值,不能进一步细分。例如,学生的电话号码是10位数字的原子值。

  • 复合属性 - 复合属性由多个简单属性组成。例如,学生的全名可能包含first_name和last_name。

  • 派生属性 - 派生属性是不存在于物理数据库中的属性,但其值是从数据库中存在的其他属性派生出来的。例如,部门中的average_salary不应直接保存在数据库中,而是可以派生出来。再举一个例子,年龄可以从data_of_birth派生出来。

  • 单值属性 - 单值属性包含单个值。例如 - 社会保障号码。

  • 多值属性 - 多值属性可能包含多个值。例如,一个人可以有多个电话号码、电子邮件地址等。

这些属性类型可以以以下方式组合 -

  • 简单单值属性
  • 简单多值属性
  • 复合单值属性
  • 复合多值属性

实体集和键

键是唯一标识实体集中实体的属性或属性集合。

例如,学生的roll_number使他/她可以在学生中识别出来。

  • 超键 - 一组(一个或多个)属性,它们共同标识实体集中实体。

  • 候选键 - 最小的超键称为候选键。实体集可能有多个候选键。

  • 主键 - 主键是由数据库设计人员选择用于唯一标识实体集的一个候选键。

关系

实体之间的关联称为关系。例如,员工部门工作,学生注册课程。这里,Works_at和Enrolls称为关系。

关系集

一组相同类型的关系称为关系集。与实体一样,关系也可以具有属性。这些属性称为描述性属性

关系的度

关系中参与实体的数量定义了关系的度。

  • 二元 = 度2
  • 三元 = 度3
  • n元 = 度n

映射基数

基数定义了一个实体集中实体的数量,可以通过关系集与另一个实体集中的实体数量相关联。

  • 一对一 - 实体集A中的一个实体最多可以与实体集B中的一个实体相关联,反之亦然。

  • One-to-one relation
  • 一对多 - 实体集A中的一个实体可以与实体集B中的多个实体相关联,但是实体集B中的一个实体最多可以与一个实体相关联。

  • One-to-many relation
  • 多对一 - 实体集A中的多个实体最多可以与实体集B中的一个实体相关联,但是实体集B中的一个实体可以与实体集A中的多个实体相关联。

  • Many-to-one relation
  • 多对多 - A中的一个实体可以与B中的多个实体相关联,反之亦然。

  • Many-to-many relation
广告