1. 概述
数据库设计是牵一发而动全身的。那么有没有什么办法可以提前看到数据库的全貌呢?比如需要哪些数据表,数据表中应该有哪些字段,通过什么字段进行连接等等。这样我们才能进行整体的梳理和设计。
其实,ER模型就是一个这样的工具。ER模型也叫实体关系模型,是用来描述显示生活中客观存在的事物,事物的属性,以及事物之间关系的一种数据模型。在开发基于数据库的信息系统的设计阶段,通常使用ER模型来描述信息需求和信息特性,帮助我们理清业务逻辑,从而设计出优秀的数据库。
2. 要素
ER模型中有三个要素,分别是实体,属性和关系。
1). 实体:
可以看做是数据对象,往往对应于现实生活中的真实存在的个体。在ER模型中,用矩形表示。实体分为强实体和弱实体。强实体是指不依赖于其他实体的实体。弱实体是指对另一个实体有很强的依赖关系的实体。
2). 属性:
则是指实体的特性。比如超市的地址,联系电话等等。在ER模型中用椭圆型来表示。
3). 关系:
则是指实体之间的联系。比如超市把商品卖给顾客,就是一种超市和顾客之间的关系。在ER模型中用菱形来表示。
4). 注意:
实体和属性不容易区分。这里提供一个原则:我们要从系统整体的角度出发去看,可以独立存在的是实体,不可再分的是属性。也就是说,属性不能包含其他属性。
5). 关系的类型
在ER模型的三个要素中,关系又可以分为三种类型。分别是一对一,一对多,多对多。
3. ER模型图转换成数据表
如下ER模型图:
通过绘制ER模型,我们已经理清了业务逻辑。现在,我们就要进行非常重要的一步。把绘制好的ER模型,转换成具体的数据表,下面介绍下转换的原则:
- 一个实体通常转换为一张数据表。
- 一个多对多的关系,通常也转化为一张数据表。
- 一个一对一的关系,或者一对多的关系,往往通过表的外键来表达,而不是设计一个新的数据表。
- 属性转换为表的字段。