第10章数据库系统设计数据库原理及应用SQLServer数据库原理及应用课件.ppt
《第10章数据库系统设计数据库原理及应用SQLServer数据库原理及应用课件.ppt》由会员分享,可在线阅读,更多相关《第10章数据库系统设计数据库原理及应用SQLServer数据库原理及应用课件.ppt(80页珍藏版)》请在三一办公上搜索。
1、第10章数据库系统设计,本章学习目标,理解数据库系统设计理解需求分析的任务和方法理解概念结构设计掌握概念设计的方法和步骤掌握逻辑结构设计掌握规范化了解数据库的物理设计,10.1数据库系统设计概述,10.1.1数据库和信息系统10.1.2数据库设计的基本步骤,10.1.1数据库和信息系统,(1)数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。(2)数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。(3)数据库设计是信息系统开发和建设的重要组成部分。,10.1.2
2、数据库设计的基本步骤,数据库设计一般都遵循软件的生命周期理论,分为6个阶段进行,如图10-1所示,即需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库的运行和维护。,图10-1 数据库设计流程,10.2需求分析,10.2.1需求分析的任务10.2.2需求分析的方法,10.2.1需求分析的任务,需求分析的任务就是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能,新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。,10.2.2需求分析的方法,(1
3、)使用数据流图分析信息处理过程(2)使用数据字典汇总各类数据(3)撰写需求说明书,10.3概念结构设计,10.3.1概念模型的基本概念10.3.2概念模型的表示方法10.3.3概念结构的特点10.3.4概念结构设计的方法10.3.5概念结构设计的步骤,10.3.1概念模型的基本概念,概念结构设计的目标是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模式,描述概念结构的工具是E-R图。,10.3.2概念模型的表示方法,概念模型的表示方法很多,其中最为著名且常用的是P.P.S.chen于1976年提出的实体联系方法(Entity-Rel
4、ationship Approach)。该方法用E-R图来描述现实世界的概念模型,E-R方法也称为E-R模型。,E-R图是描述概念世界、建立概念模型的实用工具,包括3个基本要素:属性实体(型)联系 1.多对多的联系(mn)2.一对多的联系(1n)3.一对一的联系(11),10.3.3概念结构的特点,(1)能真实充分地反应现实世界,包括事物与事物之间的联系,能满足用户对数据的处理要求。(2)易于理解。(3)易于修改。(4)易于向关系、网状、层次等各种数据模型转换。,10.3.4概念结构设计的方法,(1)自顶向下:这种方法是从总体概念结构开始逐层细化。,(2)自底向上:这种方法是从具体的对象逐层抽
5、象,最后形成总体概念结构。,(3)由内向外:这种方法是从核心的对象着手,然后向四周逐步扩充,直到最终形成总体概念结构。,(4)混合策略。该方法采用自顶向下和自底向上相结合的方法,先自顶向下定义全局框架,再以它为骨架集成自底向上方法中设计的各个局部概念结构。,10.3.5概念结构设计的步骤,概念模型设计通常采用自底向下的设计方法,将设计分为局部视图设计和视图集成两个步骤进行。(1)局部视图设计(2)视图集成,10.4规范化,10.4.1关系模式规范化的必要性10.4.2函数依赖10.4.3范式与规范化10.4.4模式分解原则10.4.5规范化的本质分析与总结,10.4.1关系模式规范化的必要性,
6、规范化的原因很多,其主要原因是不规范的关系模式在应用中可能产生很多弊病,导致产生各种存储异常。最常见的存储异常问题如下所示:数据冗余更新异常插入异常删除异常,10.4.2函数依赖,关系中属性之间这种相互依赖又相互制约的联系称为数据依赖。函数依赖是从数学角度来定义的,在关系中用来刻画关系各属性之间相互制约而又相互依赖的情况。,定义:设UA1,A2,An是属性集合,R(U)是U上的一个关系,x、y是U的子集。若对于R(U)下的任何一个可能的关系,均有x的一个值对应于y的唯一具体值,称y函数依赖于x,记作xy。其中x称为决定因素。进而若再有yx,则称x与y相互依赖,记作xy。,例如,对于Studen
7、t(Sno,Major),假定每个学生都有惟一的学号Sno,每个学生有且只有一个专业Major,则只要给定Sno的值,就可以弄清楚该学生的专业。“专业”函数依赖于“学生学号”,或“学生学号”函数决定“学生专业”。函数依赖使用下面的形式来书写 SnoMajor。,函数依赖中还可细分为多种函数依赖,分别介绍如下:(1)部分函数依赖(2)完全函数依赖(3)传递函数依赖,部分函数依赖,设R(U)是属性集U上的关系,x、y是U的子集,x是x的真子集,若xy且xy,则称y部分依赖x,记作。显然,当且仅当x为复合属性组时,才有可能出现部分函数依赖。,完全函数依赖,设R(U)是属性集U上的关系,x、y是U的子
8、集,x是x的真子集。若对于R(U)的任何一个可能的关系,有xy但不存在一个真子集xy,则称y完全函数依赖于x,记作。,传递函数依赖,设R(U)是属性集U上的关系,x、y、z是U的子集,在R(U)中,若xy,但yx,若yz,则xz,称z传递函数依赖于x,记作。,10.4.3范式与规范化,各范式之间的联系有5NF 4NF BCNF 3NF 2NF 1NF成立。各种范式之间的联系可以由下图10-9简单描述。图10-9 各种范式之间的关系,通常按属性间依赖情况区分关系规范化的程度,定义了不同要求的规范化关系模式,即范式。目前遵循的主要范式有:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、
9、BC范式(BCNF)、第四范式(4NF)和第五范式(5NF)等。范式是嵌套的,就是说,属于第二范式的关系必然是属于第一范式的关系,在第五范式中的关系也在第四范式、BC范式、第三范式、第二范式和第一范式中的关系。,第一范式,下面主要讨论1NF、2NF、3NF和BCNF范式。第一范式,在关系模式R中的每一个具体关系,如果每个属性值都是不可再分的最小数据单位,则称R是第一范式的关系,记为R1NF。,例如:学生选课数据库中将学生、系、课程,选课成绩等所有的信息一起存放。即有关系模式:StudData(Sno,Sname,Ssex,Ssage,Dno,Dname,Cno,Cname,Credits,Gr
10、ade)这个关系的主键(Sno,Cno),,关系StudData就是属于第一范式的,可记作:StudData1NF。,第二范式,第二范式,若R1NF,且每一个非主属性完全函数依赖于R的任何侯选关键字,则称R2NF。,关系StudData属于第一范式。但它不属于第二范式。原因:存在非主属性Sname、Ssex、Sage、Dno部分函数依赖于主键(Sno,Cno)。所以StudData违反了2NF的定义,它不属于2NF。消除部分函数依赖的方法就是将关系分解,使其新的关系中非主属性于候选键之间不存在部分函数依赖。,前面已经分析过StudData的主键是(Sno,Cno)。所以,Sno,Cno是主属性
11、,其他属性如Sname、Ssex等都是非主属性。根据主键定义,(Sno,Cno)完全函数决定其他非主属性。所以存在如下函数依赖:,(Sno,Cno)Sname(Sno,Cno)Ssex(Sno,Cno)Sage(Sno,Cno)Dno(Sno,Cno)Dname(Sno,Cno)Cname(Sno,Cno)Credit(Sno,Cno)Grade,只要给定学生的学号Sno值,就能知道该学生的姓名、性别等情况,即存在函数依赖,Sno SnameSno SsexSno SageSno DnoSno Dname只要给定课程号Cno值,就能知道课程名、课程的学分,即存在函数依赖Cno CnameCno
12、 Credit,分解的方法是投影。具体讲:(1)用组成候选键的属性集合的每一个非空真子集作为主键构成一个新关系;(2)对于每个新关系,将完全依赖或传递依赖于此主键的属性放置到此关系中。下面将StudData关系按上述方法分解:,StudData关系只有一个候选键,也就是主键(Sno,Cno)。它的非空子集有:Sno、Cno、(Sno,Cno)。对应构成三个新关系,设分别为Students和Courses、Enrollment,其中,Students的主键为Sno,Courses的主键为Cno,Enrollment的主键为(Sno,Cno)。将完全依赖或传递依赖于Sno主键的属性放置到Stude
13、nts表中,完全依赖或传递依赖于Cno主键的属性放置到Courses表中,完全依赖或传递依赖于(Sno,Cno)主键的属性放置到Enrollment表中得到:Students(Sno,Sname,Ssex,Sage,Dno,Dname)Courses(Cno,Cname,Credits)Enrollment(Sno,Cno,Grade),Students(Sno,Sname,Ssex,Sage,Dno,Dname),Courses(Cno,Cname,Credits),Enrollment(Sno,Cno,Grade),分解得到三个关系Students、Courses、Enrollmen。根据
14、2NF的标准衡量,这三个关系中都不存在非主属性部分函数依赖于候选键的情况。所以它们都属于2NF。即Students2NF、Courses2NF、Enrollmen2NF。结果:冗余问题已得到明显改善,但还有一定的数据冗余,还存在插入异常和删除异常。属于第二范式的关系同样还可能存在操作异常情况,因此需要进一步规范化。,第三范式(3NF)定义:如果关系R2NF,且每一个非主属性都不传递依赖于候选键,则R属于第三范式,记作R3NF。StudData分解后得到的三个关系Students、Courses、Enrollment,它们都属于第二范式了。但Students(Sno,Sname,Ssex,Sag
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 数据库 系统 设计 原理 应用 SQLServer 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4101589.html