多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] ## 概念设计阶段   通常我们用E-R图来表示数据库的概念模型。   E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。它是描述现实世界概念结构模型的有限方法。   E-R图的构成要素:实体、属性和联系。 在E-R图中的基本图形符号为: ||| | -- | -- | | ![2015-08-11/55c983406e071](http://box.kancloud.cn/2015-08-11_55c983406e071.png) | 表示**实体**,框中填写实体名。 | | ![2015-08-11/55c984497da7d](http://box.kancloud.cn/2015-08-11_55c984497da7d.png) | 表示实体间关系,框中填写关系名。 | | ![2015-08-11/55c984362c221](http://box.kancloud.cn/2015-08-11_55c984362c221.png) | 表示实体或者关系的属性,圈中填写属性名。 | | ——— | 连接以上三种图形,构成具体的概念模型。 | 例子: 仓库、货物和职工,货物存放在仓库,职工管理仓库。所以仓库、货物和职工分别作为实体比较好(下图)。 ![2015-08-11/55c984f1df64a](http://box.kancloud.cn/2015-08-11_55c984f1df64a.png) 例子:   **教学管理系统**应对学校中的教师,学生,课程进行管理,掌握课程设置和教师配备情况以及学生成绩的管理,通过需求分析后,可知该系统涉及的实体包括:教师,系,学生和课程。   对于每一个实体集,根据系统输出数据的要求,抽象出如下的实体与属性: 1)系(系号,系名,专业,职称,性别,年龄) 2)教师(教师号,姓名,性别,出生日期,专业) 3)学生(课程号,课程名,学时,类别) 我们对它们实体间的联系进行分析:   假定在一个学校内,一个系有多名教师,而一个教师只能属于一个系,因此系和教师之间是**一对多**的关系;   1个系由多名学生,而一个学生只能属于一个系,因此系和学生之间是**一对多**的关系;   1个教师可以讲很多门课程,而一个课程可以由多个教师讲,所以课程和教师之间**多对多**关系;   1个学生可以选修多门课程,而一门课程可以被多个学生选修,因此学生和课程之间**多对多**关系。   局部E-R图如下: ![2015-08-11/55c98a4c01f52](http://box.kancloud.cn/2015-08-11_55c98a4c01f52.png) ## 全局E-R图的集成: (1)一次集成   一次集成多个分E-R图,通常用于局部视图比较简单的情况下。 (2)逐步累积式   首先集成两个局部E-R图(通常是比较关键的两个局部视图),然后每次将一个新的局部视图集成进来。 (3)首先设计各个局部E-R图,最后整理合并成一个完整的全局E-R图。 > **注意:** > 在合并局部E-R图时要消除不必要的冗余实体,属性,联系。 > 解决各个分E-R图的冲突(属性冲突,命名冲突,结构冲突) >>属性冲突(属性域冲突,属性值冲突):有些局部应用定义学号为整数形式,有些局部应用定义为字符型形式;或者学生的身高,有些局部应用以米为单位,有些以厘米为单位,有些以尺为单位。 命名冲突(同名异义,异名同义):局部应用A将教室称为房间,局部应用B将学生办公室成为房间。局部应用C将教科书称为课本,局部应用D将教科书称为教材。 结构冲突:课程在某一局部应用中当作实体,而在另一局部应用中被当作属性。同一实体在不同局部视图中包含属性不完全相同,或者属性的排列次序不完全相同。 局部E-R图经过合并生成的是初步E-R图。之所以称其为初步E-R图,是因为其中可能存在冗余数据或冗余实体间联系。因此得到初步E-R图后,还要进一步检查是否存在冗余,**重构初步E-R图,主要采用分析方法,还可以使用规范化理论。** **集成后的教学管理系统E-R图:** ![2015-08-11/55c9904c470bf](http://box.kancloud.cn/2015-08-11_55c9904c470bf.png)