- 关系数据库设计
- 数据库管理系统 - 数据库规范化
- 数据库管理系统 - 数据库连接
- 存储和文件结构
- 数据库管理系统 - 存储系统
- 数据库管理系统 - 文件结构
- 索引和哈希
- 数据库管理系统 - 索引
- 数据库管理系统 - 哈希
- 备份和恢复
- 数据库管理系统 - 数据备份
- 数据库管理系统 - 数据恢复
- 数据库管理系统有用资源
- 数据库管理系统 - 快速指南
- 数据库管理系统 - 有用资源
- 数据库管理系统 - 讨论
数据库管理系统 - ER模型基本概念
ER模型定义了数据库的概念视图。它围绕现实世界中的实体及其之间的关联。在视图级别,ER模型被认为是设计数据库的一个不错的选择。
实体
实体可以是现实世界中的对象,无论是生物还是非生物,都可以轻松识别。例如,在学校数据库中,学生、教师、班级和提供的课程可以被视为实体。所有这些实体都具有一些属性或特性,这些属性或特性赋予了它们身份。
实体集是相同类型实体的集合。实体集可能包含具有共享相似值的属性的实体。例如,一个学生集可能包含一所学校的所有学生;同样,一个教师集可能包含一所学校来自所有院系的所有教师。实体集不必是不相交的。
属性
实体通过其属性(称为属性)来表示。所有属性都有值。例如,学生实体可能具有姓名、班级和年龄作为属性。
存在一个可以分配给属性的值域或范围。例如,学生的姓名不能是数值。它必须是字母的。学生的年龄不能为负数,等等。
属性类型
简单属性 - 简单属性是原子值,不能进一步细分。例如,学生的电话号码是10位数字的原子值。
复合属性 - 复合属性由多个简单属性组成。例如,学生的全名可能包含first_name和last_name。
派生属性 - 派生属性是不存在于物理数据库中的属性,但其值是从数据库中存在的其他属性派生出来的。例如,部门中的average_salary不应直接保存在数据库中,而是可以派生出来。再举一个例子,年龄可以从data_of_birth派生出来。
单值属性 - 单值属性包含单个值。例如 - 社会保障号码。
多值属性 - 多值属性可能包含多个值。例如,一个人可以有多个电话号码、电子邮件地址等。
这些属性类型可以以以下方式组合 -
- 简单单值属性
- 简单多值属性
- 复合单值属性
- 复合多值属性
实体集和键
键是唯一标识实体集中实体的属性或属性集合。
例如,学生的roll_number使他/她可以在学生中识别出来。
超键 - 一组(一个或多个)属性,它们共同标识实体集中实体。
候选键 - 最小的超键称为候选键。实体集可能有多个候选键。
主键 - 主键是由数据库设计人员选择用于唯一标识实体集的一个候选键。
关系
实体之间的关联称为关系。例如,员工在部门工作,学生注册课程。这里,Works_at和Enrolls称为关系。
关系集
一组相同类型的关系称为关系集。与实体一样,关系也可以具有属性。这些属性称为描述性属性。
关系的度
关系中参与实体的数量定义了关系的度。
- 二元 = 度2
- 三元 = 度3
- n元 = 度n
映射基数
基数定义了一个实体集中实体的数量,可以通过关系集与另一个实体集中的实体数量相关联。
一对一 - 实体集A中的一个实体最多可以与实体集B中的一个实体相关联,反之亦然。
一对多 - 实体集A中的一个实体可以与实体集B中的多个实体相关联,但是实体集B中的一个实体最多可以与一个实体相关联。
多对一 - 实体集A中的多个实体最多可以与实体集B中的一个实体相关联,但是实体集B中的一个实体可以与实体集A中的多个实体相关联。
多对多 - A中的一个实体可以与B中的多个实体相关联,反之亦然。