您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页8.数据库设计

8.数据库设计

来源:化拓教育网
数据库设计

一、数据库系统的设计步骤........................................................................................ 1 二、需求分析................................................................................................................ 1

1、任务 .................................................................................................................... 1 2、主要工作 ............................................................................................................. 1 3、数据字典 ............................................................................................................. 1

三、概念结构设计........................................................................................................ 3

1、任务 .................................................................................................................... 3 2、设计概念结构的四类方法(课本209-210) .......................................................... 3 3、设计分E-R图的步骤 ........................................................................................... 3 4、视图集成 ............................................................................................................. 5

四、逻辑结构设计........................................................................................................ 7

1、任务 .................................................................................................................... 7 2、步骤 .................................................................................................................... 7 3、将E-R模型向关系模型转换的规则 ...................................................................... 7

1

一、数据库系统的设计步骤

一个数据库系统的设计通常需要经过以下步骤: 1、 需求分析

2、 概念结构设计 3、 逻辑结构设计 4、 物理结构设计 5、 数据库实施 6、 数据库运行和维护

二、需求分析

1、任务

确定用户的数据需求和处理需求。

2、主要工作

(1)确定业务流程。 (2)分析业务的数据组成。 (3)确定处理需求。

3、数据字典

数据字典是进行详细的数据收集和数据分析所获得的主要结果,包括以下五个部分的内容: (1)数据项

1)数据项表示不可再分的数据单位

2)数据项描述={数据项名,数据项含义说明,

【举例】

数据项:学号

别名,数据类型,长度,取值范围, 取值含义,与其他数据项的逻辑关系}

含义:唯一标识每个学生 别名:学生编号 类型:字符型 长度:8

取值范围:00000000至99999999

1

取值含义:前两位标别该学生所在年级,后六位按顺序编号

(2)数据结构

1)数据结构反映了数据之间的组合关系。

2)数据结构描述={数据结构名,含义说明, 组成:{数据项或数据结构}} 【举例】

数据结构:学生

含义说明:定义了一个学生的有关信息,是学籍管理子系统的主体数据结构。 组成:学号,姓名,性别,年龄,所在系,年级

(3)数据流

1)数据流是数据结构在系统内传输的路径。

2)数据流描述={数据流名,说明,数据流来源,

数据流去向,组成:{数据结构}, 平均流量,高峰期流量}

 数据流来源是说明该数据流来自哪个过程  数据流去向是说明该数据流将到哪个过程去

 平均流量是指在单位时间(每天、每周、每月等)里的传输次数

 高峰期流量则是指在高峰时期的数据流量

【举例】

数据流:选课信息 说明:学生所选课程信息 来源:“学生选课”处理 去向:“学生选课”存储 组成:学号、课程号

平均流量:每天10个

高峰期流量:每天100个

(4)数据存储

1)数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。 2)数据存储描述={数据存储名,说明,编号,

流入的数据流 ,流出的数据流 , 组成:{数据结构},数据量,存取方式}

 流入的数据流:指出数据来源

 流出的数据流:指出数据去向

 数据量:每次存取多少数据,每天(或每小时、每周等)存取几次等信息

 存取方法:批处理 / 联机处理;检索 / 更新;顺序检索 / 随机检索

【举例】

数据存储 :学生选课

说明: 记录学生所选课程的成绩

流入数据流:选课信息,成绩信息 流出数据流:选课信息,成绩信息 组成: 学号、课程号、成绩

2

数据量:50000个记录 存取方式: 随机存取

(5)处理过程

1)处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息

2)处理过程描述={处理过程名,说明, 输入:{数据流}, 输出:{数据流},

处理:{简要说明}}

【举例】

处理过程:分配宿舍

中。

说明:为所有新生分配学生宿 输入:学生,宿舍

输出:宿舍安排 处理要求:同一间宿舍只能安排同一性别的学生,同一个学生只能安排在一个宿舍

三、概念结构设计

1、任务

将需求分析得到的用户需求抽象为E-R图。

2、设计概念结构的四类方法(课本209-210)

(1)自顶向下:先定义全局概念结构,再逐步细化。

(2)自底向上:定义每个局部应用的概念结构,然后按照一定的规则集成起来,从而得到全局概念结构图。

(3)逐步扩张:首先定义最重要的核心概念结构,以滚雪球的方式逐步生成其他概念结构。

(4)混合策略:将自顶向下和自底向上相结合。

3、设计分E-R图的步骤

(1)选择局部应用

(2)逐一设计分E-R图:确定实体、属性以及联系。

作为属性的两个特点(课本214-215):  属性不能再具有需要描述的性质。

 属性不能与其他实体联系。

【例1】职工为一个实体,职工号、姓名、年龄为职工的属性。如果职称没有与工资、福利

3

挂钩,即没有需要进一步描述的特征,则可以将职称作为职工的属性,如图1的上图所示。而如果不同的职称有不同的工资、住房标准和不同的附加福利,则最好将职称作为实体,如图1的下图所示。

图1 职称

【例2】在医院中,一个病人只能住在一间病房,病房号可以作为病人实体的一个属性,如图2的左图所示。而如果病房还要与医生实体发生联系,则最好将病房作为一个实体,如图2的右图所示。

图2 病房

【例3】如果一种货物只存放在一个仓库,则可以将仓库号作为描述货物存放地址的属性,如图3的左图所示。而如果一种货物可以存放在多个仓库中,或者仓库本身有面积作为属性,或者仓库与职工发生管理上的联系,那么应该将仓库作为实体看待,如图3的右图所示。

4

图3 仓库

4、视图集成

(1)视图集成指的是,将各子系统的分E-R图综合成系统的总E-R图。 (2)视图集成的两种方法(课本219)

 多个分E-R图一次集成

 逐步集成,用累加的方式一次集成两个分E-R图

(3)视图集成的步骤 1)合并:解决各分E-R图之间的冲突,将各分E-R图生成初步的E-R图。各E-R

图之间的冲突有三类:属性冲突、命名冲突和结构冲突。(课本220-221)

 属性冲突

 属性域冲突。例如,学号,有的部分将它定义为字符串型、有的部分将它

定义为整型。

 属性取值单位冲突。例如,身高有的以米为单位,有的以厘米为单位。

 命名冲突

 同名异义。

 异名同义。例如,对于科研项目,财务科称之为项目,科研处称之为课题。

 结构冲突

 同一对象在不同的应用中具有不同的抽象。例如,仓库在某一局部应用中作为属性,在另一局部应用中作为实体。

 同一实体在不同的分E-R图中所包含的属性个数和属性排列次序不完全相同。

 实体之间的联系在不同的分E-R图中为不同的类型。

【例4】将图4-1所示的分E-R图合并为如图4-2所示的E-R图的过程中,解决了以下两类冲突:(1)命名冲突。“零件”和“部件”为异名同义的一对词组,应将其名称进行统一。(2)结构冲突。将“零件”和“部件”统一为“零件”实体后,“零件”实体的属性取各E-R图中属性的并集。

5

产品m组成零件个数n零件产品号性能参数零件号价格材料m使用n部件材料号材料类型库存量使用量部件号规格

图4-1 合并前的分E-R图

零件号产品号产品性能参数m组成n零件m零件个数使用材料号材料类型库存量图4-2 合并后的E-R图

2)修改和重构。

消除不必要的冗余,生成基本E-R图。消除冗余主要采用分析方法,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余。 【例5】图5中,Q3=Q1×Q2,Q4=Q5 ,所以

规格价格n材料使用量 Q3 和Q4 是冗余数据,可以消去。并且由

于Q3 的取消,产品与材料之间的冗余关系也应删除。

图5 消除冗余

6

四、逻辑结构设计

1、任务

将概念结构设计阶段设计好的基本E-R模型转换为具体的数据库管理系统支持的数据模型。

2、步骤

(1)将E-R模型向关系模型转换 (2)对数据模型进行优化。

3、将E-R模型向关系模型转换的规则

(1)一个实体转换为一个关系模式。实体的属性就是关系的属性,实体的标识符就是关系的码。

(2)对于实体间的联系分情况处理。

1) 1:1联系可以转换为一个的关系模式,也可以与任意一端所对应的关系模式合并。

【例6】图6所示的E-R图转换后的关系模式如下:

部门(部门号,部门名,经理号),经理(经理号,经理名,电话) 或:

部门(部门号,部门名),经理(经理号,部门号,经理名,电话)

或:

部门(部门号,部门名),经理(经理号,经理名,电话),管理(部门号,经理号)

图6 1:1联系的转换

2) 1:n联系可以转换为一个的关系模式,也可以与n端所对应的关系模式合并。 【例7】图7所示的E-R图转换后的关系模式如下:

部门(部门号,部门名),职工(职工号,部门号,职工名,工资)

7

图7 1:n联系

3) m:n联系转换为一个关系模式。

【例8】图8所示的E-R图转换后的关系模式如下:

教师表(教师号,教师名,职称) 课程表(课程号,课程名,学分) 授课表(教师号,课程号,授课时数)

教师号职称教师m授课时数授课n学分课程课程名图8 n:m联系

4) 三个或三个以上实体间的一个多元联系可以转换为一个关系模式。 【例9】图9所示的E-R图转换后的关系模式如下:

供应商(供应商号,零件号,项目号,供应量)

教师名课程号供应商n供应量m项目图9 多元联系

供应p零件 8

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务