一、数据库设计的步骤
新奥尔良法,四个主要阶段:
1、用户需求分析:手机用户需求,确定系统边界;
2、概念设计(概念结构设计):是抽象概念模型,较理想的是采用E-R方法。
3、逻辑设计:E-R图——>关系模式,规范化(3NF、BCNF)
4、物理设计:逻辑模式在计算机中的具体实现。
1-1、需求分析阶段
逻辑设计、物理设计均以需求分析的设计为依据。
需求分析阶段的工作以及形成的相关文档,作为概念结构设计阶段的依据。
需求分析阶段的结果文档:
- 需求说明文档;
- 数据字典(系统需求说明书)
- 数据流程图(数据流图)(系统需求说明书)
1-2、概念结构设计
1-2-1、E-R图
1、E-R模型中的基本术语(概念模型、实体-联系模型)
1、实体
用矩形表示,客观存在并相互区别的事物,如:单位、职工、部门、项目。
2、联系
用菱形表示,实体之间的对应关系。
2-1、两个实体集之间的联系有3种类型:
(1)、1对1的联系(1:1)。如:班和班长之间的联系。
(2)、一对多的联系(1:n)。如:班和学生之间的联系。
(3)、多对多的联系(m:n)。如:课程和学生之间的联系。
示例:
2-2、两个以上实体集之间的联系:
- 1:1:1;
- 1:1:n;
- 1:n:m;
- r:m:n;
示例:
2-2、同一实体集内的二元联系:
同一实体集内的各个实体之间也存在1:1、1:n、n:m的联系。
示例:
3、属性
用椭圆表示,实体的特性,一个实体可以有若干属性。
属性的具体取值:属性值;
属性域:属性值的取值范围,如年龄的取值范围是18~60。
如:学生实体的若干属性(学号、姓名、性别、出生日期、班号)
3-1、属性的分类:
1、简单属性、复合属性
简单属性:原子的、不可再分的;
复合属性:可以细分为别的属性;例如:通信地址属性,可以再分为:邮编、省、市、街道。
2、单值属性、多值属性
单值属性:定义的属性对于特定的实体,只有一个单独的值;如:特定的职工,只对应一个职工号、职工姓名。
多值属性:一个属性对应一组值。如:职工可能有多个亲属,则职工的亲属姓名可能有多个数目。
3、NULL值属性
4、派生属性
从其他属性得来;如:工作年限的值 = 当前时间 - 入职时间,工作年限就是派生属性。
3-2、真题
真题1:
真题2:
2、E-R图实例
3、E-R图中的主要构建
4、弱实体
这种实体对另一些实体具有很强的依赖关系,即,一个实体的存在必须以另一个实体为前提。如:职工与家属,家属总是属于职工。示例:
1-2-2、概念结构设计
用E-R方式建立概念模型:
对需求分析阶段得到的数据进行分类、聚集、概括,确定:实体、属性、联系。
概念结构的具体工作步骤:选择局部应用、逐一设计分析E-R图、E-R图合并。
局部E-R图合并,示例:
合并:
没什么特别的,只是两个E-R图的合并而已。
概念结构设计阶段:
1、选择局部应用;
2、逐一设计分E-R图(局部E-R图)
3、局部E-R图的合并;
合并的过程中要解决分E-R图之间存在的冲突。
1-2-2-1、分E-R图之间的冲突,分类:
1、属性冲突
如:分数属性
学校考试的分数,取值范围:0~100
四级英语考试的分数,取值范围:0~600
2、命名冲突
- 异名同义
- 同名异义
示例:
3、结构冲突
- 同一实体,在不同的分E-R图中有不同的属性;
- 同一对象,在一个分E-R图中被抽象为实体,,在另一个分E-R图中被抽象为属性。
示例:
1-2-2-2、真题
真题1:
真题2:
教师、职工属于同一个实体。
结构冲突:
同一实体,在不同的分E-R图中有不同的属性;