任务2SQLServer数据库概念.ppt
《任务2SQLServer数据库概念.ppt》由会员分享,可在线阅读,更多相关《任务2SQLServer数据库概念.ppt(101页珍藏版)》请在三一办公上搜索。
1、任务2 SQL Server数据库概念,学习目的和要求本任务讲解SQL Server数据库的概念,内容的理论性较强。需要了解:SQL Server 的7个系统表。需要牢固掌握:数据库的类别及数据库结构;SQL Server 2000的数据库对象;SQL Server 系统数据库的概念及作用。难点:SQL Server 2000的数据库对象。,任务2 关系数据库理论,1.关系模式设计中的问题2.函数依赖3.范式4.关系模式的规范化5.小结,任务2 关系数据库理论,关系数据库的规范化理论主要包括三个方面的内容:函数依赖、范式和模式设计。其中函数依赖起着核心的作用,是模式分解和模式设计的基础,范式是
2、模式分解的标准。,1.关系模式设计中的问题,关系数据库逻辑设计针对具体问题,如何构造一个适合于它的数据模式;数据库逻辑设计的工具关系数据库的规范化理论。,1.关系模式设计中的问题,(1)概念回顾(2)关系模式的形式化定义(3)什么是数据依赖(4)关系模式的简化定义(5)数据依赖对关系模式影响,(1)概念回顾,关系:描述实体、属性、实体间的联系。从形式上看,它是一张二维表,是所涉及属性的笛卡尔积的一个子集。关系模式:用来定义关系。关系数据库:基于关系模型的数据库,利用关系来描述现实世界。从形式上看,它由一组关系组成。关系数据库的模式:定义这组关系的关系模式的全体。,(2)关系模式的形式化定义,关
3、系模式由五部分组成,即它是一个五元组:R(U,D,DOM,F)R:关系名U:组成该关系的属性名集合D:属性组U中属性所来自的域DOM:属性向域的映象集合F:属性间数据的依赖关系集合,(3)什么是数据依赖,完整性约束的表现形式限定属性取值范围:例如学生成绩必须在0-100之间定义属性值间的相互关连(主要体现于值的相等与否),这就是数据依赖,它是数据库模式设计的关键。,(3)什么是数据依赖,数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系;是现实世界属性间相互联系的抽象;是数据内在的性质;是语义的体现。,(3)什么是数据依赖,数据依赖的类型函数依赖(Functional Dep
4、endency,简记为FD)多值依赖(Multivalued Dependency,简记为MVD)其他(如连接依赖)。,(4)关系模式的简化表示,关系模式R(U,D,DOM,F)简化为一个三元组:R(U,F)当且仅当U上的一个关系r 满足F时,r称为关系模式 R(U,F)的一个关系,(5)数据依赖对关系模式的影响,例:描述学校的数据库:学生的学号(Sno)、所在系(Sdept)系主任姓名(Mname)、课程名(Cname)成绩(Grade)单一的关系模式:Student U Sno,Sdept,Mname,Cname,Grade,(5)数据依赖对关系模式的影响,学校数据库的语义:一个系有若干学
5、生,一个学生只属于一个系;一个系只有一名主任;一个学生可以选修多门课程,每门课程有若干学生选修;每个学生所学的每门课程都有一个成绩。,(5)数据依赖对关系模式的影响,属性组U上的一组函数依赖F:F Sno Sdept,Sdept Mname,(Sno,Cname)Grade,关系模式Student(U,F)中存在的问题,1)数据冗余太大浪费大量的存储空间 例:每一个系主任的姓名重复出现2)更新异常(Update Anomalies)数据冗余,更新数据时,维护数据完整性代价大。例:某系更换系主任后,系统必须修改与该系学生有关的每一个元组。,关系模式Student(U,F)中存在的问题,3)插入异
6、常(Insertion Anomalies)该插的数据插不进去 例,如果一个系刚成立,尚无学生,我们就无法把这个系及其系主任的信息存入数据库。4)删除异常(Deletion Anomalies)不该删除的数据不得不删例,如果某个系的学生全部毕业了,我们在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。,(5)数据依赖对关系模式的影响,结论:Student关系模式不是一个好的模式。“好”的模式:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。原因:由存在于模式中的某些数据依赖引起的。解决方法:通过分解关系模式来消除其中不合适的数据依赖。,2.函数依赖,关系模式中各属性之间相互
7、依赖、相互制约的联系称为数据依赖。数据依赖一般分为:函数依赖、多值依赖和连接依赖。,(1)函数依赖的定义及性质,1)函数依赖2)平凡函数依赖与非平凡函数依赖3)函数依赖的几点说明,1)函数依赖,定义3.1 设关系模式R(U,F),U是属性集,F是U上的函数依赖集,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,对于X的一个具体值,Y都有唯一的具体值与之对应,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。X称为这个函数依赖的决定属性集,Y为依赖属性集。,说明:,1.函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。2.函数依赖是语
8、义范畴的概念。只能根据数据的语义来确定函数依赖。例如“姓名年龄”这个函数依赖只有在不允许有同名人的条件下成立3.数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖“姓名年龄”成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在,则拒绝装入该元组。,1)函数依赖,例:Student(Sno,Sname,Ssex,Sage,Sdept)假设不允许重名,则有:Sno Ssex,Sno Sage,Sno Sdept,Sno Sname,Sname Ssex,Sname SageSname Sdept但Ssex Sage 若XY,并且YX,则记为XY。若Y不函数依赖于X,
9、则记为XY。,2)平凡函数依赖与非平凡函数依赖,在关系模式R(U)中,对于U的子集X和Y,如果XY,但Y X,则称XY是非平凡的函数依赖;若XY,但Y X,则称XY是平凡的函数依赖。例:在关系SC(Sno,Cno,Grade)中,非平凡函数依赖:(Sno,Cno)Grade 平凡函数依赖:(Sno,Cno)Sno(Sno,Cno)Cno,平凡函数依赖与非平凡函数依赖(续),对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义,因此若不特别声明,我们总是讨论非平凡函数依赖。,3)函数依赖的几点说明,函数依赖是语义范畴的概念:我们只能根据语义来确定一个函数依赖,而不能按照其形式定义来证明
10、一个函数依赖是否成立。,3)函数依赖的几点说明,函数依赖与属性之间的联系类型有关:(1)在一个关系中,若属性X和Y有1:1的关系,则存在函数依赖XY,和YX,即XY。例如当学生无重名时,Sno Sname(2)若属性X和Y有1:m的关系,则只存在函数依赖XY。(3)若属性X和Y有m:n的关系,则X、Y之间不存在任何函数依赖关系。,3)函数依赖的几点说明,函数依赖的存在与时间无关:因为函数依赖是指关系中所有元组应该满足的约束条件,而不是指关系中某个或某些元组所满足的约束条件,所以,当关系中的元组增加、删除或更新后都不能破坏这种函数依赖。因此,必须根据语义来确定属性之间的函数依赖,而不能单凭某一时
11、刻关系中的实际数值来判断。函数依赖可以保证关系分解的无损连接性。,(2)函数依赖的分类,1)完全函数依赖与部分函数依赖2)传递函数依赖,1)完全函数依赖与部分函数依赖,定义3.2 在关系模式R(U)中,如果XY,并且对于X的任何一个真子集X,都有 X Y,则称Y完全函数依赖于X,记作X Y。若对于X的任何一个真子集X,都有X Y,则称Y部分函数依赖于X,记作X P Y。,1)完全函数依赖与部分函数依赖,例:在关系SC(Sno,Cno,Grade)中,由于:Sno Grade,Cno Grade,因此:(Sno,Cno)Grade由定义可知:只有当决定因素是组合属性时,讨论部分函数依赖才有意义。
12、,2)传递函数依赖,定义3.3 在关系模式R(U)中,如果XY,YZ,且Y X,YX,则称Z传递函数依赖于X。记作:X T Y 注:如果YX,即XY,则Z直接依赖于X。例:在关系Std(Sno,Sdept,Mname)中,有:Sno Sdept,Sdept Mname Mname传递函数依赖于Sno,Sno T Mname,2.3 范式(Normal Form),设计任何一种数据库应用系统,不管是层次的、网状的、还是关系的,都会遇到如何构造合适的数据模式即逻辑结构的问题。即应该构造几个关系,每个关系有哪些属性组成,由于关系模型有严格的数学理论基础,并且可向别的数据模型转换,因此人们以关系模型为
13、背景,形成了数据库逻辑设计的一个有力工具关系数据库的规范化理论。,2.3 范式(Normal Form),规范化的基本思想是消除关系模式中的数据冗余,消除数据依赖中的不合适部分,解决数据插入、删除时发生的异常情况。这就要求关系数据库设计出来的关系模式要满足一定的条件。我们把不同的规范化标准表示为范式。由于规范化程度的不同,就产生了不同的范式。满足最基本规范化要求的关系模式叫第一范式,在第一范式上满足一定要求的称为第二范式,以此类推。,2.3 范式(Normal Form),范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。范式的种类:第一
14、范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)第四范式(4NF)第五范式(5NF),5NF 4NF BCNF 3NF 2NF 1NF,各种范式之间的关系,2.3 范式(Normal Form),各种范式之间存在联系:某一关系模式R为第n范式,可简记为R n NF。,1.1NF的定义,定义3.6 1NF的定义如果一个关系模式R的所有属性均为简单属性,即每个属性都是不可分的基本数据项,则R1NF。第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。但是满足第一范式的关系模式并不一定是一个好的关系模式。,1.1NF的定义,例:关系模式 SLC(S
15、no,Sdept,Sloc,Cno,Grade)Sloc为学生住处,假设每个系的学生住在同一个地方。函数依赖包括:(Sno,Cno)f Grade Sno Sdept(Sno,Cno)P Sdept Sno Sloc(Sno,Cno)P Sloc Sdept Sloc,1.1NF的定义,SLC的码为(Sno,Cno)SLC满足第一范式。非主属性Sdept和Sloc部分函数依赖于码(Sno,Cno),SLC不是一个好的关系模式,(1)插入异常假设Sno95102,SdeptIS,SlocN的学生还未选课,因课程号是主属性,因此该学生的信息无法插入SLC。(2)删除异常 假定某个学生本来只选修了3
16、号课程这一门课。现在因身体不适,他连3号课程也不选修了。因课程号是主属性,此操作将导致该学生信息的整个元组都要删除。,SLC不是一个好的关系模式,(3)数据冗余度大 如果一个学生选修了10门课程,那么他的Sdept和Sloc值就要重复存储了10次。(4)修改复杂 例如学生转系,在修改此学生元组的Sdept值的同时,还可能需要修改住处(Sloc)。如果这个学生选修了K门课,则必须无遗漏地修改K个元组中全部Sdept、Sloc信息。,1.1NF的定义,原因 Sdept、Sloc部分函数依赖于码。解决方法 SLC分解为两个关系模式,以消除这些部分函数依赖 SC(Sno,Cno,Grade)SL(Sn
17、o,Sdept,Sloc),1.1NF的定义,SLC的码为(Sno,Cno)SLC满足第一范式。非主属性Sdept和Sloc部分函数依赖于码(Sno,Cno),1.1NF的定义,函数依赖图:,2.2NF的定义,2NF的定义定义3.5 若关系模式R1NF,并且每一个非主属性都完全函数依赖于R的码,则R2NF。例:SLC(Sno,Sdept,Sloc,Cno,Grade)1NF SLC(Sno,Sdept,Sloc,Cno,Grade)2NF SC(Sno,Cno,Grade)2NF SL(Sno,Sdept,Sloc)2NF,2.2NF的定义,采用投影分解法将一个1NF的关系分解为多个2NF的关
18、系,可以在一定程度上减轻原1NF关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。将一个1NF关系分解为多个2NF的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。,2.2NF的定义,例:2NF关系模式SL(Sno,Sdept,Sloc)中函数依赖:SnoSdept SdeptSloc SnoSlocSloc传递函数依赖于Sno,即SL中存在非主属性对码的传递函数依赖。,2.2NF的定义,函数依赖图:,2.2NF的定义,解决方法 采用投影分解法,把SL分解为两个关系模式,以消除传递函数依赖:SD(Sno,Sdept)DL(Sdept,Sloc)SD的码为Sno,DL的码为S
19、dept。,2.2NF的定义,SD的码为Sno,DL的码为Sdept。,3.3NF的定义,定义3.6如果关系模式R2NF,且每一个非主属性都不传递依赖于R的码,则称R属于第三范式(Third Normal Form),简称3NF,记作R3NF。3NF是一个可用的关系模式应满足的最低范式。也就是说,一个关系模式如果不服从3NF,实际上它是不能使用的。,3.3NF的定义,例,SL(Sno,Sdept,Sloc)2NF SL(Sno,Sdept,Sloc)3NF SD(Sno,Sdept)3NF DL(Sdept,Sloc)3NF,3.3NF的定义,若R3NF,则R的每一个非主属性既不部分函数依赖于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 任务 SQLServer 数据库 概念
链接地址:https://www.31ppt.com/p-6547677.html