注:参考教材:《数据库原理教程》(作者:范明等)
第二章 实体-联系模型
实体
实体: 客观存在并且可以相互区分的任何事物。可以是实际对象,也可以是抽象概念。
属性: 刻画实体的特性。 属性的值域:属性的取值范围。
实体集: 具有相同属性的实体的集合。
- 超码: 包含唯一标识元组所需属性的集合,可能有多余属性。
- 候选码: 最小的超码,去掉任何属性后就无法唯一标识元组。
- 主码: 从候选码中选出的一个,作为关系的主要标识属性。
- 码: 表示 主码 或 候选码
- 简单属性: 不可再分的单一属性,如"姓名"或"年龄"。
- 复合属性: 由多个子属性组成的属性,如"地址"可分为"城市""街道""邮编"。
- 单值属性: 每个实体只有一个值的属性,如"学号"。
- 多值属性: 每个实体可有多个值的属性,如"电话号码"(一个人可能有多个)。
- 基本属性: 直接存储、不依赖其他属性的属性,如"出生日期"。
- 派生属性: 通过其他属性计算得到的属性,如"年龄"由"出生日期"派生。
快速区分:
- 简单 vs 复合: 能不能拆分。
- 单值 vs 多值: 一个实体有几个值。
- 基本 vs 派生: 直接存还是计算得。
联系
- 联 系: 多个实体之间的相互关联。
- 联系集: 相同类型联系的集合。
- 联系的类型:
- 一对一
- 一对多
- 多对一
- 多对多
联系也可以具有属性。
实体联系图要素



弱实体集
- 弱实体集:不存在码的实体集。
- 强实体集:存在码的实体集。
- 标识性实体:是强实体集,它通过标志性联系为弱实体提供标识能力。
- 标识性联系: 弱实体依赖强实体的关系。
- 分辨符: 弱实体中区分实例的属性。
- 部分码:弱实体的分辨属性,与强实体主键组成完整主键。
- 弱实体主键 = 强实体主键 + 分辨符(部分码)。
注:主码就是主键。
处理弱实体集的方法:
- 与多个标识实体集关联
- 把弱实体集作为标识实体集的一个多值复合属性
- 将强实体集的码添加到弱实体集使其成为强实体集。(不好的做法!)