ER 模型 - 基本概念

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


实体

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

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


属性

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

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

属性类型

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

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

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

  • 单值属性 − 单值属性包含单值。 例如 & 减号; Social_Security_Number。

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

这些属性类型可以以如下方式组合在一起 −

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

实体集和键

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

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

  • 超级键 − 一组属性(一个或多个)共同标识实体集中的一个实体。

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

  • 主键 − 主键是数据库设计者选择的用于唯一标识实体集的候选键之一。


关系

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

关系集

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

关系度

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

  • Binary = degree 2
  • Ternary = degree 3
  • n-ary = degree

映射基数

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

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

  • 一对一关系
  • 一对多 − 实体集 A 中的一个实体可以与实体集 B 中的多个实体相关联,但是实体集 B 中的一个实体最多只能与一个实体相关联。

  • 一对多关系
  • 多对一 − 实体集 A 中的多个实体最多可以与实体集 B 中的一个实体相关联,但是实体集 B 中的一个实体可以与实体集 A 中的多个实体相关联。

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

  • 多对多关系