资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,回顾,什么是关系模型?关系模型的包括哪些要素?,关系模式的表述形式?,候选关键字、主关键字、主属性、非主属性、外部关键字的含义。,关系模型的数据完整性约束包括什么?,为什么研究实体,-,联系模型向关系模型转换?怎么转换。,练习,1,、实体完整性用,_,保证。,A.,主码,B.,外码,C. CHECK,约束,D. UNIQUE,约束,练习,2,外码与其所引用的列之间的关联关系是根据,_,关联的。,A,、列名相同,B.,类型相同,B,、,语义,D.,任意情况,练习,3,外码的作用是,_,。,A,、不限制外码列的取值范围,B,、限制引用列的取值范围,C,、限制所引用的列的取值范围在外码列的已有值范围内,D,、限制外码列的取值范围在所引用的列的已有值范围内,练习,4,关系模式:购买情况(顾客号,产品号,购买时间,购买数量),若允许一个顾客在不同时间对同一个产品购买多次,则此关系模式的主码是,_,。,A,顾客号,B,产品号,C,(顾客号,产品号),D,(顾客号、产品号、购买时间),练习,5,已知实体,A,与实体,B,之间是多对一联系,为反映两个实体之间的关联关系,应,_,。,A,将外码放置在实体,A,中,B,在,A,中定义一个主码,C,将外码放置在实体,B,中,D,在,B,中定义一个主码,练习,6,关系数据库表中,记录行,_,。,A,顺序很重要,不能交换,B,顺序不重要,C,按输入数据的顺序排列,D,一定是有序的,练习,7,、关系数据库采用的数据结构是,_,。,A,多维表结构,B,二维表结构,C,树型结构,D,图结构,练习,8,关系数据库的完整性约束包括,_,。,A,、实体完整性、约束完整性和主码完整性,B,、数据库定义完整性、参照完整性和用户定义完整性,C,、实体完整性、参照完整性和用户定义完整性,D,、表结构完整性、用户定义完整性和事务完整性,练习,9,定义外码的用处主要是,_,。,A.,提高查询效率,B.,维护数据的实体完整性,C.,增加数据的安全性,D.,维护数据的参照完整性,练习,10,外码与其所引用的列之间必须,_,。,A.,列名相同,B.,类型相同,C.,语义与类型均相同,D.,无限制,练习,关系模式:产品销售情况表(产品号,销售地点,销售时间,销售数量),一个产品号描述一种产品,若允许一种产品在不同地点同时销售多次,同一种产品可在多个地点销售,在同一时间同一地点只能销售一种产品,则此系模式的主码是,_,。,A,产品号,B,(产品号,销售时间),C,(产品号,销售地点),D,(产品号,销售地点,销售时间),1.3,数据库系统的结构,数据库系统的三级模式结构,数据库的二级模式映象功能与数据独立性,数据库系统的结构,数据库系统的结构是数据库系统的一个总框架,可以从不同的角度考查,数据库系统的结构,。,从数据库管理系统的角度:采用三级模式结构,这是数据库系统内部的体系结构;,从数据库最终用户的角度:集中式结构、文件服务器结构、,C/S,结构、,B/S,结构,这是数据库系统外部的体系结构。,1.,数据库系统模式的概念,模式是,数据库中全体数据的逻辑结构和特征的描述,仅仅涉及,型的描述,,不涉及具体的值。,模式的一个具体值称为模式的一个实例,。,模式是相对稳定的,实例是相对变动的,。,数据模式描述某一类事物的,结构、属性、类型和约束,,实质上是用数据模型对一类事物的模拟,而实例是反映某类事物的某一时刻的当前状态。,关系模式,关系的“型”或元组的结构共性,表头,(关系模式),元组,属性,1,属性,2,属性,n,2.,数据库系统的三级模式结构,外模式(用户模式、子模式),用户对现实系统中感兴趣整体的局部数据结构的描述。,是,DB,整体数据结构的子集或局部重构。,用外模式定义语言表达。,是保证数据库安全的一个措施,。,外模式对应视图。,外模式,定义两个外模式:,学生基本信息,1,(姓名,性别),学生基本信息,2,(姓名,所在系),内容均来自“学生基本信息,”,。,模式(逻辑模式),也称为逻辑模式,,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据描述,。,是数据库系统结构的中间层,用模式定义语言表达。例,对关系数据库,定义:表头结构、属性取值范围、,。,在关系数据库中,模式对应表。,内模式(存储模式),数据的存储结构的描述(数据的组织与存储)。,用数据库,、,索引定义语言描述。例,对,RDB,,,定义数据文件的位置、索引的依据等。,内模式对应存储文件。,数据库系统的三级模式结构,在数据库系统中,外模式可以有多个,而模式、内模式只有一个。,内模式是整个数据库实际存储的表示,而模式是整个数据库实际存储的抽象,外模式是概念模式的某一部分的抽象表示。,数据库的二级模式映象功能与数据独立性,数据库系统的三级模式是对数据的,三个抽象级别,,它把数据的具体组织留给,DBMS,管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式,。,为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在三级模式之间提供了两层映象:,外模式,/,模式映象,模式,/,内模式映象,模式,/,内模式映象,当存储结构改变时,可(由,DBA,),用内模式定义语句,调整内模式定义,从而保持模式不变。,数据和程序物理独立(存储独立),外模式,/,模式映象,当模式改变时,可用外模式,/,模式定义语句,调整外模式,/,模式映象定义,从而保持外模式不变。,数据和程序逻辑独立(概念独立),记住:,模式带来了,存储数据独立性(物理独立性)。,外模式带来了,概念数据独立性(逻辑独立性)。,各模式之间的映象(转换)是,DBMS,自动完成的。两个独立性是由两个映象提供的。,1.4,关系数据库理论基础,问题的提出,解决问题的办法,模式分解,1.,问题的提出,关系数据库逻辑设计问题,构造几个关系模式,?,每个关系由哪些属性组成,?,例:,S-L-,C(Sno,Sdept,SLOC,Cno,Grade,),其中,:,SLOC,为学生住处(宿舍楼),设每个系的学生住在一个地方。,主码为(,Sno,Cno,),关系模式中存在什么问题,Sno,Sdept,SLOC,Cno,Grade,9812101,计算机,2,公寓,DB,80,9812101,计算机,2,公寓,OS,85,9821101,信息,1,公寓,C,90,9821101,信息,1,公寓,DS,84,9821102,信息,1,公寓,OS,78,教务管理系统,例:教务管理系统,需要存储下列,信息:,学号,姓名, 系名,系主任名,课名, 成绩,SNO, SNAME, SDEPT, MNAME, CNAME, GRADE,设计一个关系模式:,S=SNO, SNAME, SDEPT, MN, CNAME, G,教务管理系统,学号,系别,系主任,课程名,成绩,01001,电子系,张三,C+,语言,95,01001,电子,系,张三,密码学,90,01001,电子,系,张三,数字信号处理,85,01002,电子,系,张三,C+,语言,94,01002,电子,系,张三,密码学,90,01002,电子,系,张三,数字信号处理,88,01003,计科系,李四,C+,语言,92,01003,计科系,李四,操作系统,91,01003,计科系,李四,编译原理,90,01004,数学系,王五,数学分析,96,存在问题,数据冗余问题,数据更新问题,数据插入问题,数据删除问题,1.4.2,规范化,一、函数依赖,二、,1NF,三、,2NF,四、,3NF,一、数据依赖,(1 of 4),关系模式回顾,一个关系模式可写成一个五元组,:,R,(,U, D, DOM, F,),其中,R:,关系名, U:,属性组,,D:,属性域,,DOM:,属性到域的映射。,F:,数据依赖集(属性间),为简化起见,把关系模式看作一个三元组,:,R ,仅当定义在,U,上的集合,r,满足,F,时,,R,才称为关系模式,R,的一个关系。,一、数据依赖,(2 of 4),数据依赖,数据依赖:是通过一个,关系中属性间值的相等与否,体现出来的数据间的相互关系;,数据依赖是,现实世界属性间相互联系的抽象,是数据内在的性质;,数据依赖是语义的体现。,数据依赖的分类,数据依赖共有三种:,函数依赖(,Functional Dependency,,,FD,),多值依赖,(,Multivalued,Dependency,,,MVD,),连接依赖(,Join Dependency,,,JD,),二、函数依赖,函数依赖定义:,设,R(U),是一个关系模式,,U,是,R,的属性集合(如,U=A,1,A,n,。,X,,,Y,为,U,的子集。如果,R(U),的的所有关系,r,都存在着:,X,的每一个值,都有,Y,的唯一值与之相对应,则称:,X,函数决定,Y,,或,Y,函数依赖,X,。记作,X,Y,。,否则,记作,X,Y,称为,X,不能函数决定,Y,。,X,Y,可理解为,:,X,有一个值,则,Y,有唯一的值与之相对应;而,Y,的一个值是否与唯一的,X,值对应,不去管。,函数依赖,例题,9,。,P22,例题,10,。,P22,2,、非平凡函数依赖与平凡函数依赖,X,Y,,但,Y,不包含于,X,,则称,X Y,是非平凡函数依赖。否则为平凡函数依赖。,例如:,(法人代码,银行代码,贷款日期),贷款金额,决定因,素,若,X,Y,,则,X,就做决定因素。,法人代码,法人名称。,(法人代码,银行代码,贷款日期),贷款金额,完全函数依赖,若,X,Y,,并且对于,X,的任意真子集,X,,有,X,Y,,则称为,Y,完全依赖,于,X,,记作:,若,X,Y,,但,Y,不完全依赖于,X,,则称为,Y,部分依赖,于,X,,记作:,传递函数依赖,若,X,Y,,,Y,Z,,则称为,Z,传递依赖,于,X,,记作,函数依赖的练习,1,例题,1,有关系模式,SC,(,Sno,Sname,Cno,Credit,Grade,),则,函数依赖关系有:,Sno,Sname,(,Sno,Cno,),Sname,(,Sno,Cno,),Grade,P,例题,2,有关系模式,S (,Sno,Sname,Dept,Dept_master,),,其中,各属性的含义分别为:学号,姓名,所在系和系主任(假设一个系只有一个系主任),则函数依赖关系有:,Sno,Sname,Sno,Dept,Dept ,Dept_master,所以,,Sno,Dept-master,函数依赖的练习,2,函数依赖,S-L-,C(,Sno,Sdept,SLOC,Cno,Grade,),Sno,Sdept,SLOC,CNO,Grade,9901,计算机,2,公寓,Db,90,9901,计算机,2,公寓,Os,80,9901,信息,1,公寓,C,66,9902,信息,1,公寓,DS,78,2.,解决问题的办法,模式分解,模式分解即把,一个关系模式分解成两个或多个关系模式,在分解的过程中消除那些“不良”的属性依赖关系,从而获得好的关系模式。,分解过程中不能破坏原来的应用语义,所谓,属性依赖,关系是指:模式中的某个属性的值可以由模式中其他属性惟一确定。,分解过程:消除,部分依赖,和传递依赖。,S-L-C,被,分解为如下三个关系模式,Student,(,Sno,,,Sdept,),SC,(,Sno,,,Cno,,,Grade,),SLoc,(,Sdept,,,SLoc,),一、范式定义,范式定义,范式(,NF,)是符合某一种级别的关系模式的集合。,5NF,4NF,BCNF,3NF,2NF,1NF,若,R(U,,,F),符合,x,范式的要求,则称,R,为,x,范式,记作:,R,xNF,1NF,2NF,3NF,4NF,BCNF,5NF,规范化的关系,第一范式(,1NF,):,每个列都是基本项的关系(即不包含非原子项的属性)即为第一范式。我们前边所列出的所有表都属于第一范式。,不满足,1NF,的数据库模式不能称为关系数据库,满足,1NF,的数据库并不一定是一个好的关系模式,第一范式(,1NF,),例,1,:学生(学号,姓名,学院,地址,选修课程成绩(课程号,课程名,成绩)表数据如下:,学号,姓名,学院,地址,选修课程成绩(课程号,课程名,成绩),9901,张丽,管理,管,201,C001,,高等数学,,90,9901,张丽,管理,管,201,C002,,英语,,80,9901,张丽,管理,管,201,C003,,计算机,,66,9902,李锋,电子,电,101,C004,,法律,,78,第一范式(,1NF,),学号,姓名,学院,地址,课程号,课程名,成绩,9901,张丽,管理,管,201,C001,高等数学,90,9901,张丽,管理,管,201,C002,英语,80,9901,张丽,管理,管,201,C003,计算机,66,9902,李锋,电子,电,101,C004,法律,78,第二范式(,2NF,),第二范式(,2NF,):若,1NF,表中每个,非主属性,都完全依赖于,主码,,则属于第二范式。,例:将属于第一范式的,SLC,进行投影分解,消除其中的部分函数依赖,就可达到第二范式。,SC(Sno,Cno, Grade),2NF,SL(Sno,Sdept,Sloc,),2NF,如何判断一个表是否满足第二范式,(,1,)找出关系的关键字。,(,2,)如果关系的主关键字由单属性构成时,则,R,一定是,2NF,。,(,3,)如果,R,主关键字由多个属性构成时,如果存在构成主关键字属性组的真子集决定非主属性,则,R,不是,2NF,,否则是。,2NF,例题,P25,,表,1-9,。,P26,,例题,12,。,第一范式转换成第二范式的方法:,找出依赖关系,将能完全依赖于主键的字段从表中提取出来,同主键一起组成一个新的关系。,表二,(,学号,姓名,学院,地址,课程号,课程名,成绩)的依赖关系如下:,第一范式转换成第二范式,应该拆分成三个表:,表,A,(,学号,、姓名、学院、地址),表,B,(,课程号,、课程名),表,C,(,学号,、,课程号,、成绩),第三范式(,3NF,),通过分析,发现表,A,仍然在一定程度上存在上面提及的三个问题,要消除和减少它们,还得把它分解成满足更高范式(即,3NF,)的表,.,满足第三范式的判断方法:,判断表在满足第二范式的基础上是否有,传递依赖,的情况,如果有,不是第三范式,否则是。,3NF,从,3NF,的定义可以得到如下的两个结论:,(,1,)如果关系模式,R,是,2NF,,并且它最多只有一个非主属性,则,R,一定满足,3NF,;,(,2,)如果关系模式,R,是,1NF,,并且,R,中不存在非主属性,则,R,一定是,3NF,。,3NF,例题,P26,。表,1-12,P27,,例题,13,。,将非第三范式规范为第三范式的方法:,把产生传递依赖关系的非关键字段抽出来,同关键字一起建立新的表。,例:表,A(,学号,,姓名,学院,地址,),中,存在地址传递依赖于学号的关系,即:,学号学院,学院地址。,把地址从原表中分出来,同关键字一起建立新的表形成表,A1,(,学院,、地址),原表就可消除了传递依赖关系。表,A,分解为:,表,A1,(,学院,、地址),表,A2,(,学号,、姓名、学院),小结,表的规范化中,,1NF,是要满足每个字段都是不可再分的;,2NF,是在,1NF,的基础上消除部分依赖关系(只保留完全依赖),,3NF,是在,2NF,的基础上进一步消除传递依赖关系。,1.5,数据库应用结构,1.5,数据库应用结构,数据库应用结构是指数据库运行的软、硬件环境,。,最常见的应用结构,集中式结构,文件服务器结构,客户,/,服务器结构,浏览器,/,服务器结构,集中式结构,应用程序,数据库,大型机,按键信息,终端字符,终端,1,终端,N,终端,2,客户端,优缺点,优点,:集中管理,安全性较好。,缺点,:费用昂贵,不能真正划分应用程序的逻辑。,文件服务器结构,应用程序,数据库,网络文件服务器,文件,文件请求,工作站,1,工作站,N,工作站,2,客户端,应用程序,应用程序,文件服务器结构特点,共享数据资源集中管理,应用程序分散安排在客户工作站上。,优点:实现费用比较低廉,且配置很灵活(可方便地增减客户端工作站)。,缺点:由于文件服务器只提供文件服务,所有的应用处理都要在客户端完成,因此,对客户端计算机的要求较高(以便能执行所需要的任何应用程序)。,客户,/,服务器结构,应用程序,数据库,服务器,请求,结果,工作站,1,工作站,N,工作站,2,客户端,应用程序,应用程序,C/S,结构的优点,降低了网络通信量。,(服务器传给客户机的是处理的结果),充分利用了网络服务器的处理能力,将应用逻辑分布在客户机和服务器之间。,浏览器,/,服务器结构,C/S,结构的缺陷日益突出。比如,客户端软件的安装,升级、维护等,都随着客户端规模的扩大而变得相当困难。,Internet,快速发展,为这些问题的解决提供的有效的途径,这就是浏览器,/,服务器结构。,浏览器,/,服务器结构,B/S,结构的优势,维护和升级方式简单,成本降低,选择更多,应用服务器运行数据负荷较重,分布式结构,习题,顾客购买表(顾客号,顾客名,顾客地址,商品号,商品名,生产厂家,商品价格),(,1,)指出此关系模式的主码。,(,2,)判断属于第几范式。如果不是第,3,范式,请转化为第三范式,习题,学生情况表(学号,姓名,所在系,系主任,课程号,课程名,学分,成绩),设学分由课程号唯一确定,每个系只有一个系主任,每人只担任一个系的系主任,则此关系模式属于第几范式。若不是如果不是第,3,范式,请转化为第三范式。,如果一个系允许有多个主任,但一个人只担任一个系的主任,情况又如何呢。,习题,教师(教师号,教师名,职称,所在系,办公地点),设一个教师只属于一个系,每个系由唯一一个办公地点。则此关系模式属于第几范式。,如果不是第三范式,请转化为第三范式。并指出主码和外码。,
展开阅读全文