第二章 数据库应用系统设计概述

上传人:猪** 文档编号:243137043 上传时间:2024-09-16 格式:PPT 页数:60 大小:399.50KB
返回 下载 相关 举报
第二章 数据库应用系统设计概述_第1页
第1页 / 共60页
第二章 数据库应用系统设计概述_第2页
第2页 / 共60页
第二章 数据库应用系统设计概述_第3页
第3页 / 共60页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,*,*,第二章数据库应用系统设计概述,1,知识点:,数据库应用系统的开发数据库的设计数据库规范化设计理论,9/16/2024,2,2.1,数据库应用系统的开发,在数据库管理系统上开发数据库应用系统是一个复杂的过程,必须在软件开发理论和方法的指导下进行,否则很难开发出高效适用的应用系统。,9/16/2024,3,2.1,数据库应用系统的开发,数据库应用系统的开发方法很多,得到广泛运用的有以下三种:,结构化生命周期法,快速原型法,面向对象方法,9/16/2024,4,2.1,数据库应用系统的开发,结构化生命周期法,的基本思想是把系统开发看作是工程项目,需要经过以下,5,个阶段:,系统规划,系统分析(需求分析),系统设计,系统实施(编程),系统运行(测试),系统维护,9/16/2024,5,2.1,数据库应用系统的开发,结构化生命周期法的开发步骤,一、系统规划阶段,在系统正式开发之前,必须进行系统调查和可行性分析。本阶段的主要任务是根据用户的系统开发请求,初步调查,明确问题,进行可行性分析研究。,9/16/2024,6,2.1,数据库应用系统的开发,结构化生命周期法的开发步骤,二、系统分析阶段,系统分析阶段可以说是系统开发中最重要的一步,主要任务是:,需求分析,信息采集,编写需求说明书,9/16/2024,7,2.1,数据库应用系统的开发,结构化生命周期法的开发步骤,三、系统设计阶段,如果系统分析阶段的任务是解决“干什么”的问题,那么系统设计阶段的任务是确定“怎么干”。,系统设计工作由,总体设计和详细设计,两部分组成。,9/16/2024,8,2.1,数据库应用系统的开发,结构化生命周期法的开发步骤,三、系统设计阶段,总体设计,完成概念模型的设计,详细设计,完成数据库设计和应用程序的设计,9/16/2024,9,2.1,数据库应用系统的开发,结构化生命周期法的开发步骤,四、系统实施阶段,第一步:应选择合适的软件开发工具;,第二步:使用所选择的开发工具,建立数据库, 输入原始数据,编写和调试各个模块的应用程序代码;,第三步:完成各个子系统和模块之间的联合调试和测试;,9/16/2024,10,2.1,数据库应用系统的开发,结构化生命周期法的开发步骤,五、系统运行阶段,将系统交给用户正式投入之前,便进入系统的运行测试阶段。在试运行过程中,可能会发现很多问题,要广泛听取用户的意见,并根据运行结果进行评估,修改系统的错误、改进系统的性能。,9/16/2024,11,2.1,数据库应用系统的开发,结构化生命周期法的开发步骤,投入运行,:系统维护阶段,将系统交给用户正式投入之后,可能会发现很多新的问题,或用户提出新的要求,开发者应不断对系统进行修改、维护或调整,直至系统生命周期的结束。,9/16/2024,12,2.1,数据库应用系统的开发,快速原型法,的基本思想就是依据原型进行快速开发,对存在的问题反复修正,直到用户满意为止。,分为四步:,系统基本需求的确定,对原型功能的选择,原型的构造与试用,原型的修改和完善,9/16/2024,13,2.1,数据库应用系统的开发,面向对象方法,是把面向对象分析、面向对象设计与面向对象程序设计结合在一起,形成面向对象方法。,分为以下五步:,需求分析,需求模型化,概要设计,详细设计,编程实施,9/16/2024,14,2.1,数据库应用系统的开发,面向对象方法,9/16/2024,15,2.1,数据库应用系统的开发,面向对象方法,9/16/2024,16,2.1,数据库应用系统的开发,三种开发方法的比较:,当应用方面的需求可明确提出并在一段时间内保持稳定时,可以采用生命周期法进行建设。,当解决一些规模不大但不确定因素较多的管理决策问题时,采用快速原型法。,当用户需求经常发生变化,系统必须有很强的应变能力时,采用面向对象方法。,9/16/2024,17,2.2,数据库的设计,一个设计良好的数据库,在很大程度上决定了系统的成功与否。,一般分为四步:,概念模型设计,逻辑数据库设计,规范化理论的应用,物理数据库的设计,9/16/2024,18,2.2,数据库的设计,1,、概念模型设计,概念模型设计的描述最常用的工具是,E-R,图,具体步骤如下:,(1),确定实体;,(2),确定实体的属性;,(3),确定实体的主键;,(4),确定实体间的联系类型;,(5),画出,E-R,图;,9/16/2024,19,2.2,数据库的设计,2,、逻辑数据库设计,逻辑数据库设计是将概念模型转换成数据库管理系统所支持的数据模型。,如果是关系型数据库管理系统,就应将概念模型转换为关系模型,即将,E-R,图中的实体和联系转换为关系模式,。,9/16/2024,20,2.2,数据库的设计,2,、逻辑数据库设计,学院(,学院代码,、学院名称、院长姓名、学院地址、学院电话、学院简介),教师(,教师编号,、系部编号、姓名、性别、学历、职称、办公电话、手机、,E-mail,、照片),班级(,班级编号,、班级名称、班长、联系电话、奖励处罚、系部编号),学生(,学号,、姓名、性别、出生年月、籍贯、个人简历、照片、奖励处罚、班级编号),9/16/2024,21,2.2,数据库的设计,3,、规范化理论的应用,在逻辑数据库设计中,形成了一组关系模式。如果关系模式没有设计好,就会出现数据冗余、数据更新异常、数据删除异常、数据插入异常等问题。规范化理论的目的就是设计好的关系模式。,4,、物理数据库设计,物理数据库设计是设计数据库的存储结构和物理实现方法。,9/16/2024,22,2.3,规范化理论的基本概念,1,函数依赖,函数依赖是属性之间的一种联系。如果一个关系模式设计的不好,说明在它的某些属性之间存在“不良”的函数依赖。,设在关系,R,中,,X,、,Y,为,R,的两个属性子集,如果每个,X,值只有一个,Y,值与之对应,则称属性,Y,函数依赖于属性,X,;或称属性,X,惟一确定属性,Y,,记作,XY,。,如果,XY,,同时,Y,不包含于,X,,则称,XY,是非平凡的函数依赖。,9/16/2024,23,2.3,规范化理论的基本概念,2,完全函数依赖,设在关系,R,中,,X,、,Y,为,R,的两个属性子集,若,XY,,且对于,X,的任何一个真子集,X,,都有,XY,则称,Y,完全函数依赖,于,X,。若,X Y,,则称,Y,部分函数依赖,于,X,。,9/16/2024,24,2.3,规范化理论的基本概念,3,传递函数依赖,设在关系,R,中,,X,、,Y,、,Z,为,R,的三个属性子集,若,XY,,,YZ,,且,X,不依赖于,Y,,则称,Z,传递函数依赖于,X,。,9/16/2024,25,2.4,规范化设计,规范化的基本思想是,消除关系模式中的数据冗余,,,消除数据依赖中不合适的部分,,解决,数据插入、更新、删除时发生异常,现象。,这就要求关系数据库设计出来的关系模式要满足规范的模式,即“范式”,(Normal Form),。,9/16/2024,26,2.4,规范化设计,数据库的逻辑设计为什么要遵循一定的规范化理论?,例如,要求设计,教学管理数据库,,,其对象“学生”的关系模式如下:,学生(学号,姓名,年龄,系别,课程号,成绩),9/16/2024,27,2.4,规范化设计,数据库的逻辑设计为什么要遵循一定的规范化理论?,根据实际情况,这些数据有如下语义规定:,1.,一个系有若干个学生,但一个学生只属于一个系;,2.,一个系只有一名系主任,但一个系主任可以同时兼几个系的系主任;,3.,一个学生可以选修多门功课,每门课程可有若干学生选修;,4.,每个学生学习课程有一个成绩。,9/16/2024,28,2.4,规范化设计,SNO,SN,AGE,DEPT,MN,CNO,SCORE,S1,赵亦,17,计算机,刘伟,C1,90,S1,赵亦,17,计算机,刘伟,C2,85,S2,钱尔,18,信息,王平,C5,57,S2,钱尔,18,信息,王平,C6,80,S2,钱尔,18,信息,王平,C7,70,S2,钱尔,18,信息,王平,C4,70,S3,孙珊,20,信息,王平,C1,0,S3,孙珊,20,信息,王平,C2,70,S3,孙珊,20,信息,王平,C4,85,S4,李思,21,自动化,刘伟,C1,93,9/16/2024,29,2.4,规范化设计,数据库的逻辑设计为什么要遵循一定的规范化理论?,分析以上关系中的数据,可以看出:,(SNO,CNO),属性的组合能唯一标识一个元组,所以,(SNO,CNO),是该关系模式的,主键,。但在进行数据库的操作时,会出现以下几方面的问题。,9/16/2024,30,2.4,规范化设计,数据库的逻辑设计为什么要遵循一定的规范化理论?,可能出现的问题:,1.,数据冗余。,每个系名和系主任的名字存储的次数等于该系的学生人数乘以每个学生选修的课程门数,同时学生的姓名、年龄也都要重复存储多次,数据的冗余度很大,浪费了存储空间。,9/16/2024,31,2.4,规范化设计,数据库的逻辑设计为什么要遵循一定的规范化理论?,可能出现的问题:,2.,插入异常。,如果某个新系没有招生,尚无学生时, 则系名和系主任的信息无法插入到数据库中。,因为在这个关系模式中,,(SNO,CNO),是主关系键。根据关系的,实体完整性约束,,主关系键的值不能为空,而这时没有学生,,SNO,和,CNO,均无值,因此不能进行插入操作。,另外,当某个学生尚未选课,即,CNO,未知,实体完整性约束还规定,主关系键的值不能部分为空,同样不能进行插入操作。,9/16/2024,32,2.4,规范化设计,数据库的逻辑设计为什么要遵循一定的规范化理论?,可能出现的问题:,3.,删除异常。,某系学生全部毕业而没有招生时,删除全部学生的记录则系名、系主任也随之删除,而这个系依然存在,在数据库中却无法找到该系的信息。,另外,如果某个学生不再选修,C1,课程,本应该只删去,C1,,但,C1,是主关系键的一部分,为保证实体完整性,必须将整个元组一起删掉,这样,有关该学生的其它信息也随之丢失,。,9/16/2024,33,2.4,规范化设计,数据库的逻辑设计为什么要遵循一定的规范化理论?,可能出现的问题:,4.,更新异常。,如果学生改名,则该学生的所有记录都要逐一修改,SN,;,又如某系更换系主任,则属于该系的学生记录都要修改,MN,的内容,稍有不慎,就有可能漏改某些记录,这就会造成数据的不一致性,破坏了数据的完整性。,。,9/16/2024,34,2.4,规范化设计,数据库的逻辑设计为什么要遵循一定的规范化理论?,由于存在以上问题,,SCD,是一个不好的关系模式。产生上述问题的原因,直观地说,是因为关系中“包罗万象”,内容太杂了。,那么,怎样才能得到一个好的关系模式呢?,把关系模式,SCD,分解为下面三个结构简单的关系模式,如图所示。,学生,S(SNO,SN,AGE,DEPT),选课,SC(SNO,CNO,SCORE),系,D(DEPT,MN),9/16/2024,35,2.4,规范化设计,SNO,SN,AGE,DEPT,SNO,CNO,SCORE,S1,赵亦,17,计算机,S1,C1,90,S2,钱尔,18,信息,S1,C2,85,S3,孙珊,20,信息,S2,C5,57,S4,李思,21,自动化,S2,C6,80,S2,C7,78,D,S2,C5,70,DEPT,MN,S3,C1,0,计算机,刘伟,S3,C2,70,信息,王平,S3,C4,85,自动化,刘伟,S4,C1,93,分解后的关系模式,9/16/2024,36,2.4,规范化设计,一个好的关系模式应该具备以下四个条件:,1.,尽可能少的数据冗余。,2.,没有插入异常。,3.,没有删除异常。,4.,没有更新异常。,9/16/2024,37,2.4,规范化设计,如何按照一定的规范设计关系模式,将结构复杂的关系分解成结构简单的关系,从而把不好的关系数据库模式转变为好的关系数据库模式,这就是,关系的规范化,。,规范化又可以根据不同的要求而分成若干级别。,9/16/2024,38,2.4,规范化设计,把关系数据库的规范化过程中为不同程度的规范化要求设立的不同标准称为,范式,(,Normal Form,)。,由于规范化的程度不同,就产生了,不同的范式,。,满足最基本规范化要求的关系模式叫,第一范式,,,在第一范式中进一步满足一些要求为,第二范式,,,以此类推就产生了,第三范式,等概念。,每种范式都规定了一些限制约束条件。,2.4.1,第一范式,9/16/2024,39,2.4,规范化设计,第一范式,(,First Normal Form,),是最基本的规范形式,即关系中每个属性都是不可再分的简单项。,每个规范化的关系都属于,1NF,,这也是它之所以称为“第一”的原因。,定义,如果关系模式,R,,其所有的属性均为简单属性,即每个属性都是不可再分的,则称,R,属于第一范式,简称,1NF,,记作,R,1NF,。,2.4,规范化设计,2.4.1,第一范式,9/16/2024,40,2.4,规范化设计,2.4,规范化设计,编号,姓名,电话,家庭电话,办公电话,01004,张辉春,66778899,87334211,02001,陈玉茜,67212345,86566333,02002,张一燕,67891234,82334212,编号,姓名,家庭电话,办公电话,01004,张辉春,66778899,87334211,02001,陈玉茜,67212345,86566333,02002,张一燕,67891234,82334212,只要将所有的属性表示为不可分的数据项,转化后的关系即符合第一范式。,2.4.1,第一范式,9/16/2024,41,2.4,规范化设计,然而,一个关系模式仅仅属于第一范式是不适用的。,关系模式,SCD,属于第一范式,但其具有大量的数据冗余,具有插入异常、删除异常、更新异常等弊端。,2.4,规范化设计,2.4.1,第一范式,9/16/2024,42,2.4,规范化设计,定义,如果关系模式,R,1NF,,且每个非主属性都完全函数依赖于任意一个侯选关键字,则称,R,属于,第二范式,,简称,2NF,,记作,R,2NF,。,2.4,规范化设计,2.4.2,第二范式,9/16/2024,43,2.4,规范化设计,2.4.2,第二范式,带来问题的原因是:非主属性“学分”仅仅依赖于“课程号”,也就是说只是部分依赖于主关键字(学号,课程号),而不是完全依赖。,学号,课程号,成绩,课程号,课程名,学分,01002,C1,76,C1,高等数学,4,01002,C2,88,C2,计算机文化基础,5,02002,C1,90,C3,英语,4,02002,C2,86,C4,大学物理,4,02002,C3,93,C5,大学美育,3,05007,C3,96,C6,计算机绘图,3,学号,课程号,成绩,学分,01002,C1,76,4,01002,C2,88,5,02002,C1,90,4,02002,C2,86,5,02002,C3,93,4,05007,C3,96,4,9/16/2024,44,2.4,规范化设计,2NF,的关系模式解决了,1NF,中存在的一些问题,,2NF,规范化的程度比,1NF,前进了一步,但,2NF,的关系模式在进行数据操作时,仍然存在着一些问题。,2.4,规范化设计,2.4.2,第二范式,9/16/2024,45,2.4,规范化设计,定义,如果关系模式,R,2NF,,且每个非主属性都不传递依赖于,R,的,任何候选关键字,,则称,R,属于第三范式,简称,3NF,,记作,R,3NF,。,如果,R,3NF,,则,R,也是,2NF,。,如果,R,2NF,,则,R,不一定是,3NF,。,2.4,规范化设计,2.4.3,第三范式,9/16/2024,46,2.4,规范化设计,2.4.3,第三范式,学号,姓名,院系编号,院系名称,院系地址,01004,张辉春,01,计算机学院,科教楼三层,02001,陈玉茜,01,计算机学院,科教楼三层,02002,张一燕,03,会计学院,科教楼十一层,在该表中,关键字是学号,由于是单个关键字,没有部分依赖的问题,这个关系肯定属于第二范式。,带来问题的原因是:关系中存在传递依赖。“院系名称”、“院系地址”两个属性依赖于“院系编号”,而“院系编号”又依赖于“学号”,因此,“院系名称”、“院系地址”两个属性通过“院系编号”依赖于“学号”,这种现象称为传递依赖。,9/16/2024,47,2.4,规范化设计,2.4.4 BC,范式,定义,如果关系模式的所有属性(包括主属性和非主属性)都不传递依赖于,R,的任何侯选关键字,则称,R,属于,BCNF,,记作,R,BCNF,。,如果,R,3NF,,则,R,也是,2NF,。,如果,R,2NF,,则,R,不一定是,3NF,。,9/16/2024,48,2.4,规范化设计,2.4.5,数据库规范化设计小结,一个关系只要其分量都是不可分的数据项,就可称作规范化的关系,但这只是最基本的规范化。这样的关系模式是合法的。,但人们发现有些关系模式存在插入、删除、修改异常、数据冗余等弊病。,规范化的目的就是使结构合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。,9/16/2024,49,2.4,规范化设计,2.4.5,数据库规范化设计小结,规范化的,基本原则,就是遵从概念单一化“一事一地”的原则,即一个关系只描述一个实体或者实体间的联系。,若多于一个实体,就把它“分离”出来。,因此,所谓规范化,实质上是概念的单一化,即一个关系表示一个实体。,9/16/2024,50,2.4,规范化设计,2.4.5,数据库规范化设计小结,注意,在数据库设计过程中,一般说来,,1NF,很容易遵守,完全遵守,3NF,的人很少。从关系模型的角度来看,满足,3NF,最符合标准,这样的设计容易维护。而,BCNF,的范式出现机会较少,而且会破坏完整性,可以在设计时不考虑它。,规范化的优点是减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度,但在数据查询方面,需要进行关系模式之间的连接操作,因而影响查询的速度。因此,并不一定要求全部模式都达到,BCNF,,有时故意保留部分冗余可能更方便数据查询。,9/16/2024,51,2.5 “,教学管理系统”的开发,2.5.1,系统规划阶段,1,提出开发请求,某大学是一所多科性大学,学校设有经济学院、化学与环境工程学院、机械自动化学院、信息工程学院、计算机学院、商学院、会计学院等,11,个学院。学校现有教职工近,1400,人,学生,18000,多人。,随着信息量的增加,教学管理工作越来越繁杂,手工管理的弊端日益显露。为了提高教学管理的质量和工作效率,为了及时提供信息,实现教学管理的信息化,学校委托某软件开发公司开发“教学管理系统”。,9/16/2024,52,2.5 “,教学管理系统”的开发,2.5.1,系统规划阶段,2,可行性分析研究,可行性分析包括两部分内容:分析建立新的管理信息系统的必要性和可能性。,可能性主要包括经济可行性、技术可行性和社会可行性。,9/16/2024,53,2.5 “,教学管理系统”的开发,2.5.2,系统分析阶段,1,学校机构组织,2,教学管理工作流程,3,教学管理数据流程图,院系,教师,登录班级档,案,登录课程档案,登录学生成绩,登录学生档,案,登录教师档,案,接受教学任务,教师授课情况,表,登录工作量,学生选课表,教师基本情况,表,学生基本情况,表,班级基本情况,表,全校课程,表,学生,学生选课,各类查询,相关,人员,9/16/2024,54,2.5 “,教学管理系统”的开发,2.5.3,系统设计阶段,功,能,模,块,设,计,教师模块,学生模块,班级模块,院系模块,课程模块,教学管理系统,学生基本信息管理,学生选课信息管理,成绩登记统计查询,教,师基本信息管理,教,师授课信息管理,工作量统计查询,班级基本信息管理,班级信息查询,课程信息管理,课程信息查询,教学计划管理,教学任务管理,各类查询统计,报表打印,9/16/2024,55,2.5 “,教学管理系统”的开发,2.5.3,系统设计阶段,2,数据库设计, 确定实体, 确定实体的属性,学院代码,学院简介,学院地址,学院名称,院长姓名,学院电话,学院,教师,手机,照片,E-mail,办公电话,性别,姓名,学历,职称,系部编号,教师编号,9/16/2024,56,2.5 “,教学管理系统”的开发,2.5.3,系统设计阶段,2,数据库设计, 确定实体间的联系类型,1,n,系部,聘任,教师,1,n,学院,设置,系部,m,n,教师,讲授,课程,1,n,系部,有,班级,1,n,班级,有,学生,m,n,学生,选修,课程,局部,E-R,图,9/16/2024,57,2.5 “,教学管理系统”的开发,2.5.3,系统设计阶段,2,数据库设计, 确定实体间的联系类型,m,n,n,1,1,n,系部,学院,设置,n,m,1,n,1,课程,聘任,教师,讲授,选修,n,班级,有,有,学生,整体,E-R,图,9/16/2024,58,本章小结,数据库应用系统的开发方法有:结构化生命周期法、快速原型法、面向对象方法。,结构化生命周期法的开发过程分为:系统规划、系统分析、系统设计、系统实施、系统运行和系统维护。,9/16/2024,59,本章小结,数据库的设计一般分为概念模型设计、逻辑数据库设计、规范化理论的应用、物理数据库设计。数据库设计是整个数据库应用系统设计的关键。,规范化理论的应用,对设计一个良好的数据库是十分必要的。并不是规范化程度越高,关系模式就越好。,9/16/2024,60,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!