一、E-R 模型概述
数据库可以建模为实体(Entity)的集合与实体之间的关系(Relationship)
1. 实体集 Entity Sets
-
实体集是具有相同属性(特征)的同类实体的集合
-
实体具有属性(Attribute),分为如下类型:
- 简单属性(Simple Attribute)和复合属性(Composite Attribute)
- 单值属性(Single-valued Attribute)和多值属性(Multi-valued Attribute)
- 派生属性(Derived Attribute):派生属性可以由其它的属性计算得出,例如“年龄”是“生日”的派生属性
-
派生属性内部又分为如下类型:
- 基属性(Base Attribute):用于计算派生属性的原始属性
- 存储属性(Stored Attribute):对于简单的派生属性,数据库可以不存储,而在被调用时实时计算,因此被数据库实际存储的属性称为存储属性
- 基属性一定是存储属性,存储属性不一定是基属性
-
复合属性的设计不满足第一范式,在实现中常分解为分量属性(Component Attributes)

2. 联系集 Relationship Sets
-
联系集表示两个或多个实体集之间的关联
-
联系集的度 Degree
- 概念:联系集关联的实体集数目
- 通常,一个联系关联两个实体,其度为 2,这样的联系集称为二元联系集(Binary Relationship Set)
- 一般的自环联系集的度为 2
-
映射基数 Mapping Cardinalities
- 概念:一个联系集中,一个实体可以与另一类实体相联系的实体数目
- 对于二元关系集,映射基数可以有以下类型:一对一、一对多、多对一、多对多

-
参与一个联系集的各实体集的主键的组合,构成该联系集的键码
二、E-R Diagram
1. 图例总览
- 方案 1


- 方案 2


2. 集合与属性的表示