第七章 数据库设计 E-R模型
本章重点放在E-R模型和E-R图,这是这一章节最常用且非常重要的一个知识点,本章的目的就是讲述一个E-R图是怎么画出来的。
什么是E-R模型?
E-R模型是有P.P.S.Chen提出的一个用E-R图描述现实世界的概念模型。
E-R模型有三个重要的概念:实体、属性、联系。
实体就是现实世界的一个现实或虚拟的对象,如一个学生就是一个实体,学生有属性 : 学号、姓名、年龄、身高等。属性依附于实体而存在,一个实体通常有一个或多个属性。有学生就有老师,一个老师有多个学生,同样一个学生有多个老师,那么学生与老师存在多对多的联系。一个学生只能存在于一个班级中,一个班级有多个学生,所以学生与班级存在多对一的联系。
E-R图
E-R图是用来表示实体及实体间关系的图,在数据库的设计中被广泛运用。下面我们直接来看一个E-R图的实例,很快就能理解什么是E-R图。
例:现在有一个工厂的物资管理的概念模型,工厂中存在如下的实体及其属性:
- 仓库:仓库号、面积、电话号码。
- 零件:零件号、名称、规格、单价、描述
- 供应商:供应商号、姓名、地址、电话号码、账号
- 项目:项目号、预算、开工日期
- 职工:职工号、姓名、年龄、职称。
各个实体的联系如下:
- 仓库与零件:一个仓库有多个零件,一个零件也可存放于多个仓库,所以仓库与零件是多对多联系。
- 仓库与职工:一个仓库一个职工,一个职工同时只能在一个仓库上班,所以仓库和职工是一对一联系。
- 职工与职工:职工中有一个领导,领导若干下属共同管理仓库,所以职工中存在一对多的联系。
- 供应商、项目、零件:一个供应商可以给多个项目供应多种零件,一个项目可以使用多个供应商的多种零件,一种零件可以由多个供应商供给且一种零件可用于多个项目。
分析好这个模型下的实体和实体间的关系后,可以开始画图了!!!(使用office visio)
第一步:画出各个实体。
第二步:根据实体间的联系画出实体关系。
菱形用来连接多个实体,表示的是实体间的联系,m、n、p表示的是多的意思,供应商与项目是多对多的联系,所以菱形连接这两个实体时,线上的字母符号表示了这种联系。
第三步:在实体联系图的实体上面画出实体的属性。
这样,看起来有模有样的E-R图就画好了,可以根据E-R图进行数据库设计啦!!
纯手动画,若有用,请往死里顶我!!