[工学]02第二章数据库应用系统设计概述

上传人:tia****nde 文档编号:70486119 上传时间:2019-01-17 格式:PPT 页数:45 大小:620.31KB
返回 下载 相关 举报
[工学]02第二章数据库应用系统设计概述_第1页
第1页 / 共45页
[工学]02第二章数据库应用系统设计概述_第2页
第2页 / 共45页
[工学]02第二章数据库应用系统设计概述_第3页
第3页 / 共45页
[工学]02第二章数据库应用系统设计概述_第4页
第4页 / 共45页
[工学]02第二章数据库应用系统设计概述_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《[工学]02第二章数据库应用系统设计概述》由会员分享,可在线阅读,更多相关《[工学]02第二章数据库应用系统设计概述(45页珍藏版)》请在金锄头文库上搜索。

1、1,第 二 章,数据库应用系统设计,2.1 数据库应用系统的开发 2.2 数据库的设计 2.3 规范化理论的基本概念 2.4规范化设计,2, 2.1 数据库应用系统的开发,一、常用开发方法:,结构化生命周期法(大系统); 基本思想是把系统开发看作是工程项目,需要经过系统规划、系统分析、系统设计、系统实施、系统运行和维护5个阶段。 原型法(小系统); 基本思想是依据原型进行快速开发,对存在的问题反复修正,直到用户满意为止。 面向对象方法(新方法); 面向对象分析、面向对象设计、面向对象程序设计结合在一起。、,3,系统规划阶段: 1)提出开发请求 某大学是一所多科性大学,学校设有经济学院、化学与环

2、境工程学院、机械自动化学院、信息工程学院、计算机学院、商学院、会计学院等11个学院。学校现有教职工近1400人,学生18000多人。,二、结构化生命周期法详细开发步骤,4,学校的主要教学管理工作有: 制定全校本专科教学工作计划、各课程教学大纲、教材建设和各种教学文件; 编制每学年(期)教学任务安排,包括教师排课、学生选课、教室安排等; 学生成绩统计及补考安排; 教师工作量统计; 随着信息量的增加,教学管理工作越来越繁杂,手工管理的弊端日益显露。为了提高教学管理的质量和工作效率,为了及时提供信息,实现教学管理的信息化,学校委托某软件开发公司开发“教学管理系统”。,5,2)可行性分析研究 可行性分

3、析包括两部分内容:分析建立新的管理信息系统的必要性和可能性。可能性主要包括经济可行性、技术可行性和社会可行性。 经济可行性研究的目的是使新系统能达到以最小的开发成本取得最佳的经济效益。 技术可行性研究就是弄清现有技术条件能否顺利完成开发工作,硬软件配置能否满足开发的需要等等。 社会可行性研究是指新系统在投入使用后,对社会可能带来的影响进行分析。,6,系统分析阶段,“教学管理系统”的数据流程图,7,系统设计阶段,功能模块设计,8,2.2数据库设计,一个设计良好的数据库,在很大程度上决定了系统的成功。数据库设计的好,就会减少数据库的存储量,提高数据的完整性和一致性。 数据库的设计一般分为四步: 一

4、、概念模型设计; 二、逻辑数据库设计; 三、规范化理论的应用; 四、物理数据库设计。,9,概念模型设计是根据用户需求设计的数据库模型,它不依赖于任何数据库管理系统。概念模型设计的描述最常用的工具是E-R图,具体步骤如下: (1)确定实体; (2)确定实体的属性; (3)确定实体的主键; (4)确定实体间的联系类型; (5)画出E-R图;,一、概念模型设计:,10,11,12,二、逻辑数据库设计:,学院(学院代码、学院名称、院长姓名、学院地址、学院电话、学 院简介) 系部(系部编号、学院代码、系部名称、主任、地址、电话、专业介绍) 教师(教师编号、系部编号、姓名、性别、学历、职称、办公电话、手机

5、、E-mail、照片) 班级(班级编号、班级名称、班长、联系电话、奖励处罚、系部编号) 学生(学号、姓名、性别、出生年月、籍贯、个人简历、照片、奖励处罚、班级编号),逻辑数据库设计是将概念模型转换成数据库管理系统所支持的数据模型。如果是关系型数据库管理系统,就应将概念模型转换为关系模型,即将E-R图中的实体和联系转换为关系模式。,13,在逻辑数据库设计中,形成了一组关系模式。如果关系模式没有设计好,就会出现数据冗余、数据更新异常、数据删除异常、数据插入异常等问题。规范化理论的目的就是设计好的关系模式。,三、规范化理论的应用,物理数据库设计是设计数据库的存储结构和物理实现方法。,四、物理数据库设

6、计,14,2.规范化理论的基本概念,一、基本概念,、函数依赖 函数依赖是属性之间的一种联系,设在关系中,、为的两个属性子集,如果每个值只有一个值与之对应,则称属性函数依赖于属性;或称属性惟一确定属性,记作。 Y=F(X) ; y(y1,y2,y3,ym)=f(x1,x2,x3,xn) 如果,同时不包含于(Y不是X的子集),则称是非平凡的函数依赖。(注:本书介绍的是非平凡的函数依赖)。,15,Y = F(X),Y不是X的子集,16,、完全函数依赖 设在关系中,、为的两个 属性子集,若; 对于的任何一个真子集; 都有, 则称完全函数依赖于。 若, 则称部分函数依赖于。,17,完全函数依赖,18,、

7、传递函数依赖 设在关系R中,X、Y、Z为R的三个属性子集,若XY,YZ,且X不依赖于Y (Y X),则称Z传递函数依赖于X。,注: XY且 Y X,实质与为对多关系,19,二、规范化理论的提出(略),1971年IBM公司的科德博士提出了规范化理论,从而提供了判别关系模式优劣的标准。 规范化的基本思想是消除关系模式中的数据冗余,解决数据插入、更新、删除时发生异常现象。这就要求关系数据库设计出来的关系模式要满足规范的模式,即“范式”。 科德博士为不同程度的规范化设立了不同的标准,称为范式(Normal Form)。由于规范化的程度不同,就产生了不同的范式。,20,问题的提出:数据库的逻辑设计为什么

8、要遵循一定的规范化理论?,例如,要求设计教学管理数据库,其关系模式SCD如下:SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE) 其中,SNO表示学生学号,SN表示学生姓名,AGE表示学生年龄,DEPT表示学生所在的系别,MN表示系主任姓名,CNO表示课程号,SCORE表示成绩。,21,根据实际情况,这些数据有如下语义规定: 1. 一个系有若干个学生,但一个学生只属于一个系; 2. 一个系只有一名系主任,但一个系主任可以同时兼几个系的系主任; 3. 一个学生可以选修多门功课,每门课程可有若干学生选修; 4. 每个学生学习课程有一个成绩。 在此关系模式中填入一部分具体的数据,则可

9、得到SCD关系模式的实例,即一个教学管理数据库,如图所示。,22,23,分析以上关系中的数据,可以看出:(SNO,CNO)属性的组合能唯一标识一个元组,所以(SNO,CNO)是该关系模式的主键。但在进行数据库的操作时,会出现以下几方面的问题。 1. 数据冗余。每个系名和系主任的名字存储的次数等于该系的学生人数乘以每个学生选修的课程门数,同时学生的姓名、年龄也都要重复存储多次,数据的冗余度很大,浪费了存储空间。,24,2. 插入异常。如果某个新系没有招生,尚无学生时,则系名和系主任的信息无法插入到数据库中。 因为在这个关系模式中,(SNO,CNO)是主关系键。根据关系的实体完整性约束,主关系键的

10、值不能为空,而这时没有学生,SNO和CNO均无值,因此不能进行插入操作。 另外,当某个学生尚未选课,即CNO未知,实体完整性约束还规定,主关系键的值不能部分为空,同样不能进行插入操作。,25,3. 删除异常。 某系学生全部毕业而没有招生时,删除全部学生的记录则系名、系主任也随之删除,而这个系依然存在,在数据库中却无法找到该系的信息。 另外,如果某个学生不再选修C1课程,本应该只删去C1,但C1是主关系键的一部分,为保证实体完整性,必须将整个元组一起删掉,这样,有关该学生的其它信息也随之丢失。,26,4. 更新异常。 如果学生改名,则该学生的所有记录都要逐一修改SN; 又如某系更换系主任,则属于

11、该系的学生记录都要修改MN的内容,稍有不慎,就有可能漏改某些记录,这就会造成数据的不一致性,破坏了数据的完整性。,27,由于存在以上问题,SCD是一个不好的关系模式。产生上述问题的原因,直观地说,是因为关系中“包罗万象”,内容太杂了。 那么,怎样才能得到一个好的关系模式呢? 把关系模式SCD分解为下面三个结构简单的关系模式,如图所示。 学生S(SNO,SN,AGE,DEPT) 选课SC(SNO,CNO,SCORE) 系D(DEPT,MN),28,S SC,分解后的关系模式,29,经过上述分析,分解后的关系模式是一个好的关系数据库模式。 一个好的关系模式应该具备以下四个条件: 1. 尽可能少的数

12、据冗余。 2. 没有插入异常。 3. 没有删除异常。 4. 没有更新异常。,30,如何按照一定的规范设计关系模式,将结构复杂的关系分解成结构简单的关系,从而把不好的关系数据库模式转变为好的关系数据库模式,这就是关系的规范化。 规范化又可以根据不同的要求而分成若干级别。,31,2.规范化设计,把关系数据库的规范化过程中为不同程度的规范化要求设立的不同标准称为范式(Normal Form)。 由于规范化的程度不同,就产生了不同的范式。 第一范式:满足最基本规范化要求的关系模式; 第二范式:在第一范式中进一步满足一些要求; 第三范式:在第二范式中进一步满足一些要求; 每种范式都规定了一些限制约束条件

13、。,32,第一范式,第一范式(First Normal Form)是最基本的规范形式,即关系中每个属性都是不可再分的简单项。每个规范化的关系都属于1NF,这也是它之所以称为“第一”的原因。 定义 如果关系模式R,其所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式,简称1NF,记作R1NF。,33,只要将所有的属性表示为不可分的数据项,转化后的关系即符合第一范式。,34,然而,一个关系模式仅仅属于第一范式是不适用的。 关系模式SCD属于第一范式,但其具有大量的数据冗余,具有插入异常、删除异常、更新异常等弊端。,35,第二范式,定义:如果关系模式R1NF,且每个非主属性都完全函

14、数依赖于任意一个侯选关键字,则称R属于第二范式,简称2NF,记作R2NF。,36,带来问题的原因是:非主属性“学分”仅仅依赖于“课程号”,也就是说只是部分依赖于主关键字(学号,课程号),而不是完全依赖。,37,2NF的关系模式解决了1NF中存在的一些问题,2NF规范化的程度比1NF前进了一步,但2NF的关系模式在进行数据操作时,仍然存在着一些问题。,38,第三范式,定义:如果关系模式R2NF,且每个非主属性都不传递依赖于R的任何候选关键字,则称R属于第三范式,简称3NF,记作R3NF。 如果R3NF,则R也是2NF。 如果R2NF,则R不一定是3NF。,39,在该表中,关键字是学号,由于是单个

15、关键字,没有部分依赖的问题,这个关系肯定属于第二范式。 带来问题的原因是:关系中存在传递依赖。“院系名称”、“院系地址”两个属性依赖于“院系编号”,而“院系编号”又依赖于“学号”,因此,“院系名称”、“院系地址”两个属性通过“院系编号”依赖于“学号”,这种现象称为传递依赖。,40,41,BCNF(略),定义:如果关系模式的所有属性(包括主属性和非主属性)都不传递依赖于R的任何侯选关键字,则称R属于BCNF,记作RBCNF。 如果R3NF,则R也是2NF。 如果R2NF,则R不一定是3NF。,42,关系模式规范化的目的和原则,一个关系只要其分量都是不可分的数据项,就可称作规范化的关系,但这只是最

16、基本的规范化。 这样的关系模式是合法的。 但人们发现有些关系模式存在插入、删除、修改异常、数据冗余等弊病。 规范化的目的就是使结构合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。,43,规范化的基本原则就是遵从概念单一化“一事一地”的原则,即一个关系只描述一个实体或者实体间的联系。 若多于一个实体,就把它“分离”出来。 因此,所谓规范化,实质上是概念的单一化,即一个关系表示一个实体。,44,注意,在数据库设计过程中,一般说来,1NF很容易遵守,完全遵守3NF的人很少。从关系模型的角度来看,满足3NF最符合标准,这样的设计容易维护。而BCNF的范式出现机会较少,而且会破坏完整性,可以在设计时不考虑它。 规范化的优点是减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度,但在数据查询方面,需要进行关系模式之间的连接操作,因

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号