基础知识
为什么要学习ER(Entity-Relation)图?ER的优点
- 进行数据库设计的有力工具
- 数据库人员与用户进行交互的工具
- 较强的表达能力,能方便、直接地表达各种语义知识
- 简单、清晰、易于用户理解
实体-联系模型基于对现实世界的一种认识:是由一组称作实体的基本对象及这些对象间的联系组成。ER模型是一种语义模型,其语义主要体现在模型图去表达数据的意义。
ER图中有什么
- 矩形:表示实体集
- 椭圆:表示属性,加下划线表示是主码属性
- 菱形:表示联系集
- 线段:将属性连接到实体集或实体集连接到联系集
- 双椭圆:表示多值属性
- 虚椭圆:表示派生属性
- 双线:表示一个实体全部参与到联系中
常见的数据模型
- 数据模型有好多种,从逻辑上来讲,即用户眼中看到的数据范围。同时可以用某种语言描述,是计算机系统能够理解,又能被数据库管理系统支持的。
- 层次模型(最早出现):
- 网状模型:
- 面向对象模型(对象、类、对象标识)
- 关系模型(20世纪80年代以来,关系数据库一统天下):
为什么由ER图转换到关系模型
- 建立在严格的数学概念的基础上
- 概念简单——数据结构简单、清晰、用户易懂易用
- 存取路径对用户透明,用户不用担心
- ER模型离现实世界近
- 关系模型离机器世界近
- 不严格的情况下,可以将关系看作是某些值形成的一个表
ER图转换为表(二元联系)
ER图中的主要成分是实体类型和联系类型,转换算法就是如何把实体类型、联系类型转换成关系模式。
- 实体类型的转换
- 将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键
- 联系类型的转换
- 若实体间的关系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键(作外键)和此联系的属性。
- 若实体间的关系是1:N,则在N端实体类型转换成的关系模式中加入1端实体类型的键(作外键)和此联系的属性。
- 若实体间联系是M:N,则将联系类型也转换成关系模式,其属性为两端实体类型的键(作外键)加上此联系的属性,而主键为两端实体键的组合。
一元和三元联系类型的转换和二元类似,不再赘述。