基础概念
E-R图 (Entity Relationship Diagram),也称实体关系图。提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。其中各个实体(数据模型中的对象)可以有属性。
图形含义
1、实体
实体就是现实中存在的东西,比如顾客、订单、商品。一般来说,数据库中的一张表就是一个实体集,表中的一条记录就是一个实体,整个数据库就是由许多实体集构成,它们之间都有一定的关系,并且每个实体都会有自己的属性。
数据模型中存在两种实体类型,图形表示如下图:
- 实体:如上,一般用矩形表示。
- 弱实体:它不能通过自身的属性唯一识别,只能依赖于与其他实体,一般用双矩形表示。比如订单是依赖于商品,只有商品存在我们才能下单。
2、属性
属性代表一个实体的属性(如顾客的姓名、手机、地址和其他属性;商品的类型、价格、数量和其他属性),对应数据库中的列,一般用椭圆形表示。
属性的类型分为四种,图形表示如下图:
类型 | 简介 | 图形表示 |
唯一属性 | 可以唯一标识实体集内的实体。 | 椭圆,属性名用下划线标记。 |
多值属性 | 可以有多个不同的取值(例如商品的分类属性,商品有多种分类)。 | 双椭圆 |
派生属性 | 该属性是动态的,从另一个属性派生而来,意思是可以从其他属性推算出该属性(比如,单价和数量可以推出总价),用来计算派生属性的就是基属性,派生属性的值不存储,但在需要的时候可以被计算出来 | 虚线椭圆 |
复合属性 | 可以再划分为更小的部分,也就是它可以分为多个简单属性。(比如,地址可分为城市、区县等) | 椭圆 |
3、关系
关系用于表示实体之间的关系,一般用棱形表示。其中,弱实体和它所依赖的强实体之间的联系叫标识关系,用双菱形表示。
关系的四种类型:一对一、一对多、多对多、自我引用
E-R图设计
这里以购买商品为例,设计ER实体关系模型图,步骤如下:
- 抽象出实体
- 找出实体之间的关系
- 找出实体的属性
- 画出E-R关系图
- 将 ER 图转换成数据库实际的关系模型