📜  ER模型-基本概念

📅  最后修改于: 2021-01-11 06:14:49             🧑  作者: Mango


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

实体

实体可以是易于识别的有生命或无生命的真实世界对象。例如,在学校数据库中,提供的学生,教师,班级和课程可以视为实体。所有这些实体都具有赋予其标识的某些属性或特性。

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

属性

实体通过其称为属性的属性来表示。所有属性都有值。例如,一个学生实体可能具有名称,类别和年龄作为属性。

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

属性类型

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

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

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

  • 单值属性-单值属性包含单个值。例如-Social_Security_Number。

  • 多值属性-多值属性可能包含多个值。例如,一个人可以拥有多个电话号码,email_address等。

这些属性类型可以像-

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

实体集和键

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

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

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

  • 候选密钥-最小超级密钥称为候选密钥。一个实体集可能有多个候选密钥。

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

关系

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

关系集

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

关系度

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

  • 二进制= 2级
  • 三元=学位3
  • n元=学位

映射基数

基数定义一个实体集中的实体数量,该数量可以通过关系集与其他集合中的实体数量相关联。

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

  • 一对一关系

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

  • 一对多关系

  • 多对一-实体集A的一个以上实体可以与实体集B的至多一个实体关联,但是实体集B的实体可以与实体集A的一个以上实体关联。

  • 多对一关系

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

  • 多对多关系