第二章 数据库应用系统设计概述课件_第1页
第二章 数据库应用系统设计概述课件_第2页
第二章 数据库应用系统设计概述课件_第3页
第二章 数据库应用系统设计概述课件_第4页
第二章 数据库应用系统设计概述课件_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章

数据库应用系统

设计概述1第二章

数据库应用系统

设计概述1知识点:

数据库应用系统的开发

数据库的设计

数据库规范化设计理论

11/15/20222知识点:数据库应用系统的开发

数据库的设计

数据库2.1数据库应用系统的开发

在数据库管理系统上开发数据库应用系统是一个复杂的过程,必须在软件开发理论和方法的指导下进行,否则很难开发出高效适用的应用系统。11/15/202232.1数据库应用系统的开发在数据库管理2.1数据库应用系统的开发

数据库应用系统的开发方法很多,得到广泛运用的有以下三种:结构化生命周期法快速原型法面向对象方法11/15/202242.1数据库应用系统的开发数据库应用系统的开2.1数据库应用系统的开发

结构化生命周期法的基本思想是把系统开发看作是工程项目,需要经过以下5个阶段:系统规划系统分析(需求分析)系统设计系统实施(编程)系统运行(测试)系统维护11/15/202252.1数据库应用系统的开发结构化生命周2.1数据库应用系统的开发

结构化生命周期法的开发步骤一、系统规划阶段在系统正式开发之前,必须进行系统调查和可行性分析。本阶段的主要任务是根据用户的系统开发请求,初步调查,明确问题,进行可行性分析研究。11/15/202262.1数据库应用系统的开发结构化生命周期法的开发步骤2.1数据库应用系统的开发

结构化生命周期法的开发步骤二、系统分析阶段系统分析阶段可以说是系统开发中最重要的一步,主要任务是:需求分析信息采集编写需求说明书11/15/202272.1数据库应用系统的开发结构化生命周期法的开发步骤2.1数据库应用系统的开发

结构化生命周期法的开发步骤三、系统设计阶段如果系统分析阶段的任务是解决“干什么”的问题,那么系统设计阶段的任务是确定“怎么干”。系统设计工作由总体设计和详细设计两部分组成。11/15/202282.1数据库应用系统的开发结构化生命周期法的开发步骤2.1数据库应用系统的开发

结构化生命周期法的开发步骤三、系统设计阶段总体设计完成概念模型的设计详细设计完成数据库设计和应用程序的设计11/15/202292.1数据库应用系统的开发结构化生命周期法的开发步骤2.1数据库应用系统的开发

结构化生命周期法的开发步骤四、系统实施阶段第一步:应选择合适的软件开发工具;第二步:使用所选择的开发工具,建立数据库,输入原始数据,编写和调试各个模块的应用程序代码;第三步:完成各个子系统和模块之间的联合调试和测试;11/15/2022102.1数据库应用系统的开发结构化生命周期法的开发步骤2.1数据库应用系统的开发

结构化生命周期法的开发步骤五、系统运行阶段将系统交给用户正式投入之前,便进入系统的运行测试阶段。在试运行过程中,可能会发现很多问题,要广泛听取用户的意见,并根据运行结果进行评估,修改系统的错误、改进系统的性能。11/15/2022112.1数据库应用系统的开发结构化生命周期法的开发步骤2.1数据库应用系统的开发

结构化生命周期法的开发步骤投入运行:系统维护阶段将系统交给用户正式投入之后,可能会发现很多新的问题,或用户提出新的要求,开发者应不断对系统进行修改、维护或调整,直至系统生命周期的结束。11/15/2022122.1数据库应用系统的开发结构化生命周期法的开发步骤2.1数据库应用系统的开发

快速原型法的基本思想就是依据原型进行快速开发,对存在的问题反复修正,直到用户满意为止。分为四步:系统基本需求的确定对原型功能的选择原型的构造与试用原型的修改和完善11/15/2022132.1数据库应用系统的开发快速原型法的基本思2.1数据库应用系统的开发

面向对象方法是把面向对象分析、面向对象设计与面向对象程序设计结合在一起,形成面向对象方法。分为以下五步:需求分析需求模型化概要设计详细设计编程实施11/15/2022142.1数据库应用系统的开发面向对象方法是把面向2.1数据库应用系统的开发

面向对象方法11/15/2022152.1数据库应用系统的开发面向对象方法11/12.1数据库应用系统的开发

面向对象方法11/15/2022162.1数据库应用系统的开发面向对象方法11/12.1数据库应用系统的开发

三种开发方法的比较:当应用方面的需求可明确提出并在一段时间内保持稳定时,可以采用生命周期法进行建设。当解决一些规模不大但不确定因素较多的管理决策问题时,采用快速原型法。当用户需求经常发生变化,系统必须有很强的应变能力时,采用面向对象方法。11/15/2022172.1数据库应用系统的开发三种开发方法的比较:11/2.2数据库的设计

一个设计良好的数据库,在很大程度上决定了系统的成功与否。一般分为四步:概念模型设计逻辑数据库设计规范化理论的应用物理数据库的设计11/15/2022182.2数据库的设计一个设计良好的数据2.2数据库的设计

1、概念模型设计概念模型设计的描述最常用的工具是E-R图,具体步骤如下:(1)确定实体;(2)确定实体的属性;(3)确定实体的主键;(4)确定实体间的联系类型;(5)画出E-R图;11/15/2022192.2数据库的设计1、概念模型设计12.2数据库的设计

2、逻辑数据库设计逻辑数据库设计是将概念模型转换成数据库管理系统所支持的数据模型。如果是关系型数据库管理系统,就应将概念模型转换为关系模型,即将E-R图中的实体和联系转换为关系模式。11/15/2022202.2数据库的设计2、逻辑数据库设计2.2数据库的设计

2、逻辑数据库设计学院(学院代码、学院名称、院长姓名、学院地址、学院电话、学院简介)教师(教师编号、系部编号、姓名、性别、学历、职称、办公电话、手机、E-mail、照片)班级(班级编号、班级名称、班长、联系电话、奖励处罚、系部编号)学生(学号、姓名、性别、出生年月、籍贯、个人简历、照片、奖励处罚、班级编号)11/15/2022212.2数据库的设计2、逻辑数据库2.2数据库的设计

3、规范化理论的应用在逻辑数据库设计中,形成了一组关系模式。如果关系模式没有设计好,就会出现数据冗余、数据更新异常、数据删除异常、数据插入异常等问题。规范化理论的目的就是设计好的关系模式。4、物理数据库设计物理数据库设计是设计数据库的存储结构和物理实现方法。11/15/2022222.2数据库的设计3、规范化理论的2.3规范化理论的基本概念

1.函数依赖函数依赖是属性之间的一种联系。如果一个关系模式设计的不好,说明在它的某些属性之间存在“不良”的函数依赖。设在关系R中,X、Y为R的两个属性子集,如果每个X值只有一个Y值与之对应,则称属性Y函数依赖于属性X;或称属性X惟一确定属性Y,记作X→Y。如果X→Y,同时Y不包含于X,则称X→Y是非平凡的函数依赖。11/15/2022232.3规范化理论的基本概念1.函数2.3规范化理论的基本概念

2.完全函数依赖设在关系R中,X、Y为R的两个属性子集,若X→Y,且对于X的任何一个真子集X’,都有X’→Y,则称Y完全函数依赖于X。若X’Y,则称Y部分函数依赖于X。11/15/2022242.3规范化理论的基本概念2.完全函数依赖11/2.3规范化理论的基本概念

3.传递函数依赖设在关系R中,X、Y、Z为R的三个属性子集,若X→Y,Y→Z,且X不依赖于Y,则称Z传递函数依赖于X。

11/15/2022252.3规范化理论的基本概念3.传递函数依赖11/2.4规范化设计

规范化的基本思想是消除关系模式中的数据冗余,消除数据依赖中不合适的部分,解决数据插入、更新、删除时发生异常现象。这就要求关系数据库设计出来的关系模式要满足规范的模式,即“范式”(NormalForm)。11/15/2022262.4规范化设计规范化的基本思想是消除关系模式2.4规范化设计

数据库的逻辑设计为什么要遵循一定的规范化理论?例如,要求设计教学管理数据库,其对象“学生”的关系模式如下:学生(学号,姓名,年龄,系别,课程号,成绩)11/15/2022272.4规范化设计数据库的逻辑设计为什么要遵循一定的2.4规范化设计

数据库的逻辑设计为什么要遵循一定的规范化理论?根据实际情况,这些数据有如下语义规定:1.一个系有若干个学生,但一个学生只属于一个系;2.一个系只有一名系主任,但一个系主任可以同时兼几个系的系主任;3.一个学生可以选修多门功课,每门课程可有若干学生选修;4.每个学生学习课程有一个成绩。11/15/2022282.4规范化设计数据库的逻辑设计为什么要遵循一定的2.4规范化设计

SNOSNAGEDEPTMNCNOSCORES1赵亦17计算机刘伟C190S1赵亦17计算机刘伟C285S2钱尔18信息王平C557S2钱尔18信息王平C680S2钱尔18信息王平C7

70S2钱尔18信息王平C470S3孙珊20信息王平C10S3孙珊20信息王平C270S3孙珊20信息王平C485S4李思21自动化刘伟C19311/15/2022292.4规范化设计SNOSNAGEDEPTMNCNO2.4规范化设计

数据库的逻辑设计为什么要遵循一定的规范化理论?分析以上关系中的数据,可以看出:(SNO,CNO)属性的组合能唯一标识一个元组,所以(SNO,CNO)是该关系模式的主键。但在进行数据库的操作时,会出现以下几方面的问题。11/15/2022302.4规范化设计数据库的逻辑设计为什么要遵循一定的2.4规范化设计

数据库的逻辑设计为什么要遵循一定的规范化理论?可能出现的问题:1.数据冗余。每个系名和系主任的名字存储的次数等于该系的学生人数乘以每个学生选修的课程门数,同时学生的姓名、年龄也都要重复存储多次,数据的冗余度很大,浪费了存储空间。

11/15/2022312.4规范化设计数据库的逻辑设计为什么要遵循一定的2.4规范化设计

数据库的逻辑设计为什么要遵循一定的规范化理论?

可能出现的问题:2.插入异常。如果某个新系没有招生,尚无学生时,则系名和系主任的信息无法插入到数据库中。因为在这个关系模式中,(SNO,CNO)是主关系键。根据关系的实体完整性约束,主关系键的值不能为空,而这时没有学生,SNO和CNO均无值,因此不能进行插入操作。另外,当某个学生尚未选课,即CNO未知,实体完整性约束还规定,主关系键的值不能部分为空,同样不能进行插入操作。

11/15/2022322.4规范化设计数据库的逻辑设计为什么要遵循一定的2.4规范化设计

数据库的逻辑设计为什么要遵循一定的规范化理论?

可能出现的问题:3.删除异常。某系学生全部毕业而没有招生时,删除全部学生的记录则系名、系主任也随之删除,而这个系依然存在,在数据库中却无法找到该系的信息。另外,如果某个学生不再选修C1课程,本应该只删去C1,但C1是主关系键的一部分,为保证实体完整性,必须将整个元组一起删掉,这样,有关该学生的其它信息也随之丢失。

11/15/2022332.4规范化设计数据库的逻辑设计为什么要遵循一定的2.4规范化设计

数据库的逻辑设计为什么要遵循一定的规范化理论?

可能出现的问题:

4.更新异常。如果学生改名,则该学生的所有记录都要逐一修改SN;又如某系更换系主任,则属于该系的学生记录都要修改MN的内容,稍有不慎,就有可能漏改某些记录,这就会造成数据的不一致性,破坏了数据的完整性。。

11/15/2022342.4规范化设计数据库的逻辑设计为什么要遵循一定的2.4规范化设计

数据库的逻辑设计为什么要遵循一定的规范化理论?

由于存在以上问题,SCD是一个不好的关系模式。产生上述问题的原因,直观地说,是因为关系中“包罗万象”,内容太杂了。那么,怎样才能得到一个好的关系模式呢?把关系模式SCD分解为下面三个结构简单的关系模式,如图所示。学生S(SNO,SN,AGE,DEPT)选课SC(SNO,CNO,SCORE)系D(DEPT,MN)11/15/2022352.4规范化设计数据库的逻辑设计为什么要遵循一定的2.4规范化设计

SNOSNAGEDEPT

SNOCNOSCORES1赵亦17计算机

S1C190S2钱尔18信息

S1C285S3孙珊20信息

S2C557S4李思21自动化

S2C680

S2C7

78D

S2C570DEPTMN

S3C10计算机刘伟

S3C270信息王平

S3C485自动化刘伟

S4C193分解后的关系模式

11/15/2022362.4规范化设计SNOSNAGEDEPT

SNOC2.4规范化设计

一个好的关系模式应该具备以下四个条件:1.尽可能少的数据冗余。2.没有插入异常。3.没有删除异常。4.没有更新异常。

11/15/2022372.4规范化设计11/11/2022372.4规范化设计

如何按照一定的规范设计关系模式,将结构复杂的关系分解成结构简单的关系,从而把不好的关系数据库模式转变为好的关系数据库模式,这就是关系的规范化。规范化又可以根据不同的要求而分成若干级别。11/15/2022382.4规范化设计如何按照一定的规范设计关系模式2.4规范化设计

把关系数据库的规范化过程中为不同程度的规范化要求设立的不同标准称为范式(NormalForm)。由于规范化的程度不同,就产生了不同的范式。满足最基本规范化要求的关系模式叫第一范式,在第一范式中进一步满足一些要求为第二范式,以此类推就产生了第三范式等概念。每种范式都规定了一些限制约束条件。2.4.1第一范式11/15/2022392.4规范化设计把关系数据库的规范化过程中为不2.4规范化设计第一范式(FirstNormalForm)是最基本的规范形式,即关系中每个属性都是不可再分的简单项。每个规范化的关系都属于1NF,这也是它之所以称为“第一”的原因。

定义如果关系模式R,其所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式,简称1NF,记作R1NF。2.4规范化设计2.4.1第一范式11/15/2022402.4规范化设计第一范式(FirstNormalForm2.4规范化设计2.4规范化设计编号姓名电话家庭电话办公电话01004张辉春667788998733421102001陈玉茜672123458656633302002张一燕6789123482334212编号姓名家庭电话办公电话01004张辉春667788998733421102001陈玉茜672123458656633302002张一燕6789123482334212只要将所有的属性表示为不可分的数据项,转化后的关系即符合第一范式。

2.4.1第一范式11/15/2022412.4规范化设计2.4规范化设计编号姓名电话家庭电话办公电话2.4规范化设计然而,一个关系模式仅仅属于第一范式是不适用的。关系模式SCD属于第一范式,但其具有大量的数据冗余,具有插入异常、删除异常、更新异常等弊端。2.4规范化设计2.4.1第一范式11/15/2022422.4规范化设计然而,一个关系模式仅仅属于第一范式是不适用的2.4规范化设计定义如果关系模式R1NF,且每个非主属性都完全函数依赖于任意一个侯选关键字,则称R属于第二范式,简称2NF,记作R2NF。2.4规范化设计2.4.2第二范式11/15/2022432.4规范化设计2.4规范化设计2.4.2第二范式112.4规范化设计2.4.2第二范式带来问题的原因是:非主属性“学分”仅仅依赖于“课程号”,也就是说只是部分依赖于主关键字(学号,课程号),而不是完全依赖。学号课程号成绩课程号课程名学分01002C176C1高等数学401002C288C2计算机文化基础502002C190C3英语402002C286C4大学物理402002C393C5大学美育305007C396C6计算机绘图3学号课程号成绩学分01002C176401002C288502002C190402002C286502002C393405007C396411/15/2022442.4规范化设计2.4.2第二范式带来问题的原因是:非2.4规范化设计2NF的关系模式解决了1NF中存在的一些问题,2NF规范化的程度比1NF前进了一步,但2NF的关系模式在进行数据操作时,仍然存在着一些问题。2.4规范化设计2.4.2第二范式11/15/2022452.4规范化设计2NF的关系模式解决了1NF中存在的一些2.4规范化设计定义如果关系模式R2NF,且每个非主属性都不传递依赖于R的任何候选关键字,则称R属于第三范式,简称3NF,记作R3NF。如果R3NF,则R也是2NF。如果R2NF,则R不一定是3NF。2.4规范化设计2.4.3第三范式11/15/2022462.4规范化设计定义如果关系模式R2NF,且每个非主属2.4规范化设计2.4.3第三范式学号姓名院系编号院系名称院系地址01004张辉春01计算机学院科教楼三层02001陈玉茜01计算机学院科教楼三层02002张一燕03会计学院科教楼十一层在该表中,关键字是学号,由于是单个关键字,没有部分依赖的问题,这个关系肯定属于第二范式。带来问题的原因是:关系中存在传递依赖。“院系名称”、“院系地址”两个属性依赖于“院系编号”,而“院系编号”又依赖于“学号”,因此,“院系名称”、“院系地址”两个属性通过“院系编号”依赖于“学号”,这种现象称为传递依赖。11/15/2022472.4规范化设计2.4.3第三范式学号姓名院系编号院系2.4规范化设计2.4.4BC范式定义如果关系模式的所有属性(包括主属性和非主属性)都不传递依赖于R的任何侯选关键字,则称R属于BCNF,记作RBCNF。如果R3NF,则R也是2NF。如果R2NF,则R不一定是3NF。11/15/2022482.4规范化设计2.4.4BC范式定义如果关系模式2.4规范化设计2.4.5数据库规范化设计小结一个关系只要其分量都是不可分的数据项,就可称作规范化的关系,但这只是最基本的规范化。这样的关系模式是合法的。但人们发现有些关系模式存在插入、删除、修改异常、数据冗余等弊病。规范化的目的就是使结构合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。

11/15/2022492.4规范化设计2.4.5数据库规范化设计小结一个2.4规范化设计2.4.5数据库规范化设计小结规范化的基本原则就是遵从概念单一化“一事一地”的原则,即一个关系只描述一个实体或者实体间的联系。若多于一个实体,就把它“分离”出来。因此,所谓规范化,实质上是概念的单一化,即一个关系表示一个实体。11/15/2022502.4规范化设计2.4.5数据库规范化设计小结规范化2.4规范化设计2.4.5数据库规范化设计小结注意在数据库设计过程中,一般说来,1NF很容易遵守,完全遵守3NF的人很少。从关系模型的角度来看,满足3NF最符合标准,这样的设计容易维护。而BCNF的范式出现机会较少,而且会破坏完整性,可以在设计时不考虑它。规范化的优点是减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度,但在数据查询方面,需要进行关系模式之间的连接操作,因而影响查询的速度。因此,并不一定要求全部模式都达到BCNF,有时故意保留部分冗余可能更方便数据查询。11/15/2022512.4规范化设计2.4.5数据库规范化设计小结注意112.5“教学管理系统”的开发2.5.1系统规划阶段1.提出开发请求某大学是一所多科性大学,学校设有经济学院、化学与环境工程学院、机械自动化学院、信息工程学院、计算机学院、商学院、会计学院等11个学院。学校现有教职工近1400人,学生18000多人。随着信息量的增加,教学管理工作越来越繁杂,手工管理的弊端日益显露。为了提高教学管理的质量和工作效率,为了及时提供信息,实现教学管理的信息化,学校委托某软件开发公司开发“教学管理系统”。11/15/2022522.5“教学管理系统”的开发2.5.1系统规划阶段1.提2.5“教学管理系统”的开发2.5.1系统规划阶段2.可行性分析研究可行性分析包括两部分内容:分析建立新的管理信息系统的必要性和可能性。可能性主要包括经济可行性、技术可行性和社会可行性。11/15/2022532.5“教学管理系统”的开发2.5.1系统规划阶段2.可2.5“教学管理系统”的开发2.5.2系统分析阶段1.学校机构组织2.教学管理工作流程3.教学管理数据流程图院系教师登录班级档案登录课程档案登录学生成绩登录学生档案登录教师档案接受教学任务教师授课情况表登录工作量学生选课表教师基本情况表学生基本情况表班级基本情况表全校课程表学生学生选课各类查询相关人员11/15/2022542.5“教学管理系统”的开发2.5.2系统分析阶段1.学2.5“教学管理系统”的开发2.5.3系统设计阶段功能模块设计教师模块学生模块班级模块院系模块课程模块教学管理系统学生基本信息管理学生选课信息管理成绩登记统计查询教师基本信息管理教师授课信息管理工作量统计查询班级基本信息管理班级信息查询课程信息管理课程信息查询教学计划管理教学任务管理各类查询统计报表打印11/15/2022552.5“教学管理系统”的开发2.5.3系统设计阶段教师模2.5“教学管理系统”的开发2.5.3系统设计阶段2.数据库设计⑴确定实体⑵确定实体的属性学院代码学院简介学院地址学院名称院长姓名学院电话学院教师手机照片E-mail办公电话性别姓名学历职称系部编号教师编号11/15/2022562.5“教学管理系统”的开发2.5.3系统设计阶段2.数2.5“教学管理系统”的开发2.5.3系统设计阶段2.数据库设计

⑶确定实体间的联系类型

1n系部聘任教师1n学院设置系部mn教师讲授课程1n系部有班级1n班级有学生mn学生选修课程局部E-R图11/15/2022572.5“教学管理系统”的开发2.5.3系统设计阶段2.数2.5“教学管理系统”的开发2.5.3系统设计阶段2.数据库设计⑶确定实体间的联系类型

mnn11n系部学院设置nm1n1课程聘任教师讲授选修n班级有有学生整体E-R图11/15/2022582.5“教学管理系统”的开发2.5.3系统设计阶段2.数本章小结数据库应用系统的开发方法有:结构化生命周期法、快速原型法、面向对象方法。结构化生命周期法的开发过程分为:系统规划、系统分析、系统设计、系统实施、系统运行和系统维护。11/15/202259本章小结数据库应用系统的开发方法有:结构化生命周期法、快本章小结数据库的设计一般分为概念模型设计、逻辑数据库设计、规范化理论的应用、物理数据库设计。数据库设计是整个数据库应用系统设计的关键。规范化理论的应用,对设计一个良好的数据库是十分必要的。并不是规范化程度越高,关系模式就越好。11/15/202260本章小结11/11/202260第二章

数据库应用系统

设计概述61第二章

数据库应用系统

设计概述1知识点:

数据库应用系统的开发

数据库的设计

数据库规范化设计理论

11/15/202262知识点:数据库应用系统的开发

数据库的设计

数据库2.1数据库应用系统的开发

在数据库管理系统上开发数据库应用系统是一个复杂的过程,必须在软件开发理论和方法的指导下进行,否则很难开发出高效适用的应用系统。11/15/2022632.1数据库应用系统的开发在数据库管理2.1数据库应用系统的开发

数据库应用系统的开发方法很多,得到广泛运用的有以下三种:结构化生命周期法快速原型法面向对象方法11/15/2022642.1数据库应用系统的开发数据库应用系统的开2.1数据库应用系统的开发

结构化生命周期法的基本思想是把系统开发看作是工程项目,需要经过以下5个阶段:系统规划系统分析(需求分析)系统设计系统实施(编程)系统运行(测试)系统维护11/15/2022652.1数据库应用系统的开发结构化生命周2.1数据库应用系统的开发

结构化生命周期法的开发步骤一、系统规划阶段在系统正式开发之前,必须进行系统调查和可行性分析。本阶段的主要任务是根据用户的系统开发请求,初步调查,明确问题,进行可行性分析研究。11/15/2022662.1数据库应用系统的开发结构化生命周期法的开发步骤2.1数据库应用系统的开发

结构化生命周期法的开发步骤二、系统分析阶段系统分析阶段可以说是系统开发中最重要的一步,主要任务是:需求分析信息采集编写需求说明书11/15/2022672.1数据库应用系统的开发结构化生命周期法的开发步骤2.1数据库应用系统的开发

结构化生命周期法的开发步骤三、系统设计阶段如果系统分析阶段的任务是解决“干什么”的问题,那么系统设计阶段的任务是确定“怎么干”。系统设计工作由总体设计和详细设计两部分组成。11/15/2022682.1数据库应用系统的开发结构化生命周期法的开发步骤2.1数据库应用系统的开发

结构化生命周期法的开发步骤三、系统设计阶段总体设计完成概念模型的设计详细设计完成数据库设计和应用程序的设计11/15/2022692.1数据库应用系统的开发结构化生命周期法的开发步骤2.1数据库应用系统的开发

结构化生命周期法的开发步骤四、系统实施阶段第一步:应选择合适的软件开发工具;第二步:使用所选择的开发工具,建立数据库,输入原始数据,编写和调试各个模块的应用程序代码;第三步:完成各个子系统和模块之间的联合调试和测试;11/15/2022702.1数据库应用系统的开发结构化生命周期法的开发步骤2.1数据库应用系统的开发

结构化生命周期法的开发步骤五、系统运行阶段将系统交给用户正式投入之前,便进入系统的运行测试阶段。在试运行过程中,可能会发现很多问题,要广泛听取用户的意见,并根据运行结果进行评估,修改系统的错误、改进系统的性能。11/15/2022712.1数据库应用系统的开发结构化生命周期法的开发步骤2.1数据库应用系统的开发

结构化生命周期法的开发步骤投入运行:系统维护阶段将系统交给用户正式投入之后,可能会发现很多新的问题,或用户提出新的要求,开发者应不断对系统进行修改、维护或调整,直至系统生命周期的结束。11/15/2022722.1数据库应用系统的开发结构化生命周期法的开发步骤2.1数据库应用系统的开发

快速原型法的基本思想就是依据原型进行快速开发,对存在的问题反复修正,直到用户满意为止。分为四步:系统基本需求的确定对原型功能的选择原型的构造与试用原型的修改和完善11/15/2022732.1数据库应用系统的开发快速原型法的基本思2.1数据库应用系统的开发

面向对象方法是把面向对象分析、面向对象设计与面向对象程序设计结合在一起,形成面向对象方法。分为以下五步:需求分析需求模型化概要设计详细设计编程实施11/15/2022742.1数据库应用系统的开发面向对象方法是把面向2.1数据库应用系统的开发

面向对象方法11/15/2022752.1数据库应用系统的开发面向对象方法11/12.1数据库应用系统的开发

面向对象方法11/15/2022762.1数据库应用系统的开发面向对象方法11/12.1数据库应用系统的开发

三种开发方法的比较:当应用方面的需求可明确提出并在一段时间内保持稳定时,可以采用生命周期法进行建设。当解决一些规模不大但不确定因素较多的管理决策问题时,采用快速原型法。当用户需求经常发生变化,系统必须有很强的应变能力时,采用面向对象方法。11/15/2022772.1数据库应用系统的开发三种开发方法的比较:11/2.2数据库的设计

一个设计良好的数据库,在很大程度上决定了系统的成功与否。一般分为四步:概念模型设计逻辑数据库设计规范化理论的应用物理数据库的设计11/15/2022782.2数据库的设计一个设计良好的数据2.2数据库的设计

1、概念模型设计概念模型设计的描述最常用的工具是E-R图,具体步骤如下:(1)确定实体;(2)确定实体的属性;(3)确定实体的主键;(4)确定实体间的联系类型;(5)画出E-R图;11/15/2022792.2数据库的设计1、概念模型设计12.2数据库的设计

2、逻辑数据库设计逻辑数据库设计是将概念模型转换成数据库管理系统所支持的数据模型。如果是关系型数据库管理系统,就应将概念模型转换为关系模型,即将E-R图中的实体和联系转换为关系模式。11/15/2022802.2数据库的设计2、逻辑数据库设计2.2数据库的设计

2、逻辑数据库设计学院(学院代码、学院名称、院长姓名、学院地址、学院电话、学院简介)教师(教师编号、系部编号、姓名、性别、学历、职称、办公电话、手机、E-mail、照片)班级(班级编号、班级名称、班长、联系电话、奖励处罚、系部编号)学生(学号、姓名、性别、出生年月、籍贯、个人简历、照片、奖励处罚、班级编号)11/15/2022812.2数据库的设计2、逻辑数据库2.2数据库的设计

3、规范化理论的应用在逻辑数据库设计中,形成了一组关系模式。如果关系模式没有设计好,就会出现数据冗余、数据更新异常、数据删除异常、数据插入异常等问题。规范化理论的目的就是设计好的关系模式。4、物理数据库设计物理数据库设计是设计数据库的存储结构和物理实现方法。11/15/2022822.2数据库的设计3、规范化理论的2.3规范化理论的基本概念

1.函数依赖函数依赖是属性之间的一种联系。如果一个关系模式设计的不好,说明在它的某些属性之间存在“不良”的函数依赖。设在关系R中,X、Y为R的两个属性子集,如果每个X值只有一个Y值与之对应,则称属性Y函数依赖于属性X;或称属性X惟一确定属性Y,记作X→Y。如果X→Y,同时Y不包含于X,则称X→Y是非平凡的函数依赖。11/15/2022832.3规范化理论的基本概念1.函数2.3规范化理论的基本概念

2.完全函数依赖设在关系R中,X、Y为R的两个属性子集,若X→Y,且对于X的任何一个真子集X’,都有X’→Y,则称Y完全函数依赖于X。若X’Y,则称Y部分函数依赖于X。11/15/2022842.3规范化理论的基本概念2.完全函数依赖11/2.3规范化理论的基本概念

3.传递函数依赖设在关系R中,X、Y、Z为R的三个属性子集,若X→Y,Y→Z,且X不依赖于Y,则称Z传递函数依赖于X。

11/15/2022852.3规范化理论的基本概念3.传递函数依赖11/2.4规范化设计

规范化的基本思想是消除关系模式中的数据冗余,消除数据依赖中不合适的部分,解决数据插入、更新、删除时发生异常现象。这就要求关系数据库设计出来的关系模式要满足规范的模式,即“范式”(NormalForm)。11/15/2022862.4规范化设计规范化的基本思想是消除关系模式2.4规范化设计

数据库的逻辑设计为什么要遵循一定的规范化理论?例如,要求设计教学管理数据库,其对象“学生”的关系模式如下:学生(学号,姓名,年龄,系别,课程号,成绩)11/15/2022872.4规范化设计数据库的逻辑设计为什么要遵循一定的2.4规范化设计

数据库的逻辑设计为什么要遵循一定的规范化理论?根据实际情况,这些数据有如下语义规定:1.一个系有若干个学生,但一个学生只属于一个系;2.一个系只有一名系主任,但一个系主任可以同时兼几个系的系主任;3.一个学生可以选修多门功课,每门课程可有若干学生选修;4.每个学生学习课程有一个成绩。11/15/2022882.4规范化设计数据库的逻辑设计为什么要遵循一定的2.4规范化设计

SNOSNAGEDEPTMNCNOSCORES1赵亦17计算机刘伟C190S1赵亦17计算机刘伟C285S2钱尔18信息王平C557S2钱尔18信息王平C680S2钱尔18信息王平C7

70S2钱尔18信息王平C470S3孙珊20信息王平C10S3孙珊20信息王平C270S3孙珊20信息王平C485S4李思21自动化刘伟C19311/15/2022892.4规范化设计SNOSNAGEDEPTMNCNO2.4规范化设计

数据库的逻辑设计为什么要遵循一定的规范化理论?分析以上关系中的数据,可以看出:(SNO,CNO)属性的组合能唯一标识一个元组,所以(SNO,CNO)是该关系模式的主键。但在进行数据库的操作时,会出现以下几方面的问题。11/15/2022902.4规范化设计数据库的逻辑设计为什么要遵循一定的2.4规范化设计

数据库的逻辑设计为什么要遵循一定的规范化理论?可能出现的问题:1.数据冗余。每个系名和系主任的名字存储的次数等于该系的学生人数乘以每个学生选修的课程门数,同时学生的姓名、年龄也都要重复存储多次,数据的冗余度很大,浪费了存储空间。

11/15/2022912.4规范化设计数据库的逻辑设计为什么要遵循一定的2.4规范化设计

数据库的逻辑设计为什么要遵循一定的规范化理论?

可能出现的问题:2.插入异常。如果某个新系没有招生,尚无学生时,则系名和系主任的信息无法插入到数据库中。因为在这个关系模式中,(SNO,CNO)是主关系键。根据关系的实体完整性约束,主关系键的值不能为空,而这时没有学生,SNO和CNO均无值,因此不能进行插入操作。另外,当某个学生尚未选课,即CNO未知,实体完整性约束还规定,主关系键的值不能部分为空,同样不能进行插入操作。

11/15/2022922.4规范化设计数据库的逻辑设计为什么要遵循一定的2.4规范化设计

数据库的逻辑设计为什么要遵循一定的规范化理论?

可能出现的问题:3.删除异常。某系学生全部毕业而没有招生时,删除全部学生的记录则系名、系主任也随之删除,而这个系依然存在,在数据库中却无法找到该系的信息。另外,如果某个学生不再选修C1课程,本应该只删去C1,但C1是主关系键的一部分,为保证实体完整性,必须将整个元组一起删掉,这样,有关该学生的其它信息也随之丢失。

11/15/2022932.4规范化设计数据库的逻辑设计为什么要遵循一定的2.4规范化设计

数据库的逻辑设计为什么要遵循一定的规范化理论?

可能出现的问题:

4.更新异常。如果学生改名,则该学生的所有记录都要逐一修改SN;又如某系更换系主任,则属于该系的学生记录都要修改MN的内容,稍有不慎,就有可能漏改某些记录,这就会造成数据的不一致性,破坏了数据的完整性。。

11/15/2022942.4规范化设计数据库的逻辑设计为什么要遵循一定的2.4规范化设计

数据库的逻辑设计为什么要遵循一定的规范化理论?

由于存在以上问题,SCD是一个不好的关系模式。产生上述问题的原因,直观地说,是因为关系中“包罗万象”,内容太杂了。那么,怎样才能得到一个好的关系模式呢?把关系模式SCD分解为下面三个结构简单的关系模式,如图所示。学生S(SNO,SN,AGE,DEPT)选课SC(SNO,CNO,SCORE)系D(DEPT,MN)11/15/2022952.4规范化设计数据库的逻辑设计为什么要遵循一定的2.4规范化设计

SNOSNAGEDEPT

SNOCNOSCORES1赵亦17计算机

S1C190S2钱尔18信息

S1C285S3孙珊20信息

S2C557S4李思21自动化

S2C680

S2C7

78D

S2C570DEPTMN

S3C10计算机刘伟

S3C270信息王平

S3C485自动化刘伟

S4C193分解后的关系模式

11/15/2022962.4规范化设计SNOSNAGEDEPT

SNOC2.4规范化设计

一个好的关系模式应该具备以下四个条件:1.尽可能少的数据冗余。2.没有插入异常。3.没有删除异常。4.没有更新异常。

11/15/2022972.4规范化设计11/11/2022372.4规范化设计

如何按照一定的规范设计关系模式,将结构复杂的关系分解成结构简单的关系,从而把不好的关系数据库模式转变为好的关系数据库模式,这就是关系的规范化。规范化又可以根据不同的要求而分成若干级别。11/15/2022982.4规范化设计如何按照一定的规范设计关系模式2.4规范化设计

把关系数据库的规范化过程中为不同程度的规范化要求设立的不同标准称为范式(NormalForm)。由于规范化的程度不同,就产生了不同的范式。满足最基本规范化要求的关系模式叫第一范式,在第一范式中进一步满足一些要求为第二范式,以此类推就产生了第三范式等概念。每种范式都规定了一些限制约束条件。2.4.1第一范式11/15/2022992.4规范化设计把关系数据库的规范化过程中为不2.4规范化设计第一范式(FirstNormalForm)是最基本的规范形式,即关系中每个属性都是不可再分的简单项。每个规范化的关系都属于1NF,这也是它之所以称为“第一”的原因。

定义如果关系模式R,其所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式,简称1NF,记作R1NF。2.4规范化设计2.4.1第一范式11/15/20221002.4规范化设计第一范式(FirstNormalForm2.4规范化设计2.4规范化设计编号姓名电话家庭电话办公电话01004张辉春667788998733421102001陈玉茜672123458656633302002张一燕6789123482334212编号姓名家庭电话办公电话01004张辉春667788998733421102001陈玉茜672123458656633302002张一燕6789123482334212只要将所有的属性表示为不可分的数据项,转化后的关系即符合第一范式。

2.4.1第一范式11/15/20221012.4规范化设计2.4规范化设计编号姓名电话家庭电话办公电话2.4规范化设计然而,一个关系模式仅仅属于第一范式是不适用的。关系模式SCD属于第一范式,但其具有大量的数据冗余,具有插入异常、删除异常、更新异常等弊端。2.4规范化设计2.4.1第一范式11/15/20221022.4规范化设计然而,一个关系模式仅仅属于第一范式是不适用的2.4规范化设计定义如果关系模式R1NF,且每个非主属性都完全函数依赖于任意一个侯选关键字,则称R属于第二范式,简称2NF,记作R2NF。2.4规范化设计2.4.2第二范式11/15/20221032.4规范化设计2.4规范化设计2.4.2第二范式112.4规范化设计2.4.2第二范式带来问题的原因是:非主属性“学分”仅仅依赖于“课程号”,也就是说只是部分依赖于主关键字(学号,课程号),而不是完全依赖。学号课程号成绩课程号课程名学分01002C176C1高等数学401002C288C2计算机文化基础502002C190C3英语402002C286C4大学物理402002C393C5大学美育305007C396C6计算机绘图3学号课程号成绩学分01002C176401002C288502002C190402002C286502002C393405007C396411/15/20221042.4规范化设计2.4.2第二范式带来问题的原因是:非2.4规范化设计2NF的关系模式解决了1NF中存在的一些问题,2NF规范化的程度比1NF前进了一步,但2NF的关系模式在进行数据操作时,仍然存在着一些问题。2.4规范化设计2.4.2第二范式11/15/20221052.4规范化设计2NF的关系模式解决了1NF中存在的一些2.4规范化设计定义如果关系模式R2NF,且每个非主属性都不传递依赖于R的任何候选关键字,则称R属于第三范式,简称3NF,记作R3NF。如果R3NF,则R也是2NF。如果R2NF,则R不一定是3NF。2.4规范化设计2.4.3第三范式11/15/20221062.4规范化设计定义如果关系模式R2NF,且每个非主属2.4规范化设计2.4.3第三范式学号姓名院系编号院系名称院系地址01004张辉春01计算机学院科教楼三层02001陈玉茜01计算机学院科教楼三层02002张一燕03会计学院科教楼十一层在该表中,关键字是学号,由于是单个关键字,没有部分依赖的问题,这个关系肯定属于第二范式。带来问题的原因是:关系中存在传递依赖。“院系名称”、“院系地址”两个属性依赖于“院系编号”,而“院系编号”又依赖于“学号”,因此,“院系名称”、“院系地址”两个属性通过“院系编号”依赖于“学号”,这种现象称为传递依赖。11/15/20221072.4规范化设计2.4.3第三范式学号姓名院系编号院系2.4规范化设计2.4.4BC范式定义如果关系模式的所有属性(包括主属性和非主属性)都不传递依赖于R的任何侯选关键字,则称R属于BCNF,记作RBCNF。如果R3NF,则R也是2NF。如果R2NF,则R不一定是3NF。11/15/20221082.4规范化设计2.4.4BC范式定义如果关系模式2.4规范化设计2.4.5数据库规范化设计小结一个关系只要其分量都是不可分的数据项,就可称作规范化的关系,但这只是最基本的规范化。这样的关系模式是合法的。但人们发现有些关系模式存在插入、删除、修改异常、数据冗余等

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论