第六章 关系数据库设计理论
- 格式:doc
- 大小:61.50 KB
- 文档页数:4
第六章关系数据理论第六章讲解关系数据理论。
这是关系数据库的又一个重点。
学习本章的目的有两个。
一个是理论方面的,本章用更加形式化的关系数据理论来描述和研究关系模型。
另一个是实践方面的,关系数据理论是我们进行数据库设计的有力工具。
因此,人们也把关系数据理论中的规范化理论称为数据库设计理论,有的书把它放在数据库设计部分介绍以强调它对数据库设计的指导作用。
一、基本知识点本章讲解关系数据理论,内容理论性较强,分为基本要求部分(《概论》6.1~6.3)和高级部分《概论》6.4)。
前者是计算机大学本科学生应该掌握的内容;后者是研究生应该学习掌握的内容。
①需要了解的:什么是一个“不好”的数据库模式;什么是模式的插入异常和删除异常;规范化理论的重要意义。
②需要牢固掌握的:关系的形式化定义;数据依赖的基本概念(函数依赖、平凡函数依赖、非平凡的函数依赖、部分函数依赖、完全函数依赖、传递函数依赖的概念,码、候选码、外码的概念和定义,多值依赖的概念);范式的概念;从lNF 到4NF的定义;规范化的含义和作用。
③需要举一反三的:四个范式的理解与应用,各个级别范式中存在的问题(插入异常、删除异常、数据冗余)和解决方法;能够根据应用语义,完整地写出关系模式的数据依赖集合,并能根据数据依赖分析某一个关系模式属于第几范式。
④难点:各个级别范式的关系及其证明。
二、习题解答和解析1.理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key)、lNF、2NF、3NF、BCNF、多值依赖、4NF。
解析解答本题不能仅仅把《概论》上的定义写下来。
关键是真正理解和运用这些概念。
答函数依赖:设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。
对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。
数据库复习⼤纲及答案第⼀章绪论1.数据的语义数据的解释是对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分的2.数据库的定义数据库是长期储存在计算机内,有组织的,可共享的⼤量数据的集合。
数据库中的数据按⼀定的数据模型组织,描述和储存,具有较⼩的冗余度,较⾼的数据独⽴性和易拓展性,并可为各种⽤户共享。
概括的讲,数据库具有永久储存,有组织和可共享三个基本特点3.DBMS的定义、功能定义:数据库管理系统(DBMS)是位于⽤户与操作系统之间的⼀层数据管理软件。
功能(5点):1.数据定义功能2.数据组织,储存和管理3.数据操控功能4.数据库的事务管理和运⾏管理 5.数据库的建⽴和维护功能4.数据库系统的组成组成:数据库,数据库管理系统,应⽤程序和数据库管理员5.数据管理技术的三个阶段1.⼈⼯管理阶段2.⽂件系统阶段3.数据库系统阶段6.数据库系统的特点1.数据结构化(最重要)2.数据的共享性⾼,冗余度低且易扩充3.数据独⽴性⾼(数据变化,程序不变) 4.数据由数据库管理系统统⼀管理和控制数据控制功能:1.数据的安全性保护2.数据的完整性检查3.并发控制4.数据库恢复7.数据模型的类型第⼀类:概念模型第⼆类:逻辑模型和物理模型8.概念模型的基本概念和表⽰⽅法基本概念:1.实体2.属性3.码 4.实体型 5.实体集6.联系表⽰⽅法:实体-联系⽅法该⽅法⽤E-R图来描述现实世界的概念模型,E-R法也称E-R模型9.数据模型的组成要素(三要素)重点1.数据结构:数据结构描述数据库的组成对象以及对象之间的联系2.数据操作:数据操作是指对数据库中的各种对象(型)的实例(值)允许执⾏的操作的集合,包括操作及有关的操作规则。
数据库主要有查询和更新(包括插⼊,删除,修改)3.数据的完整性约束条件:数据的完整性约束条件是⼀组完整性规则,它保障了数据的正确,有效和相容。
10.常⽤的逻辑数据模型a.层次模型b.⽹状模型c.关系模型11.关系模型的基本术语a.关系:⼀个关系对应通常说的⼀张表(⼆维表)b.元组:表中的⼀⾏即为⼀个元组c.属性:表中的⼀列即为⼀个属性d.码:也称码键,表中的某个属性组,它可以确定⼀个元组,如学号e.域:域是⼀组具有相同数据类型的值的集合。
第6章关系数据理论一.选择题1.对关系模式进行规范化的主要目的是BA.提高数据操作效率B.维护数据的一致性C.加强数据的安全性D.为用户提供更快捷的数据操作2.关系模式中的插入异常是指DA.插入的数据违反了实体完整性约束B.插入的数据违反了用户定义的完整性约束C.插入了不该插入的数据D.应该被插入的数据不能被插入3.如果有函数依赖X→Y,并且对X的任意真子集X’,都有X’Y,则称C A.X完全函数依赖于Y B.X部分函数依赖于YC.Y完全函数依赖于X D.Y部分函数依赖于X4.如果有函数依赖X→Y,并且对X的某个真子集X’,有X’→Y成立,则称B A.Y完全函数依赖于X B.Y部分函数依赖于XC.X完全函数依赖于Y D.X部分函数依赖于Y5.若X→Y和Y→Z在关系模式R上成立,则X→Z在R上也成立。
该推理规则称为CA.自反规则B.增广规则C.传递规则D.伪传递规则6.若关系模式R中属性A仅出现在函数依赖的左部,则A为AA.L类属性B.R类属性C.N类属性D.LR类属性7.若关系模式R中属性A是N类属性,则A DA.一定不包含在R任何候选码中B.可能包含也可能不包含在R的候选码中C.一定包含在R的某个候选码中D.一定包含在R的任何候选码中8.设F是某关系模式的极小函数依赖集。
下列关于F的说法,错误的是B A.F中每个函数依赖的右部都必须是单个属性B.F中每个函数依赖的左部都必须是单个属性C.F中不能有冗余的函数依赖D.F中每个函数依赖的左部不能有冗余属性9.有关系模式:学生(学号,姓名,所在系,系主任),设一个系只有一个系主任,则该关系模式至少属于BA.第一范式B.第二范式C.第三范式D.BC范式10.设有关系模式R(X, Y, Z),其F={Y→Z, Y→X, X→YZ},则该关系模式至少属于DA.第一范式B.第二范式C.第三范式D.BC范式11.下列关于关系模式与范式的说法,错误的是DA.任何一个只包含两个属性的关系模式一定属于3NFB.任何一个只包含两个属性的关系模式一定属于BCNFC.任何一个只包含两个属性的关系模式一定属于2NFD.任何一个只包含三个属性的关系模式一定属于3NF12.有关系模式:借书(书号,书名,库存量,读者号,借书日期,还书日期),设一个读者可以多次借阅同一本书,但对一种书(用书号唯一标识)不能同时借多本。
第六章关系数据库设计理论一、填空题1、()和()是对关系模式进行分解的两个基本原则。
2、通过模式分解可以转换为若干个高一级范式的关系模式集合,这种过程就叫( )。
3、如何一个关系模式R(),则这个关系属于1NF。
4、要使关系模式属于2NF,就要消除()。
5、要使关系模式属于3NF,即就要消除()又要消除()。
6、若关系模式R属于1NF,且(),则R关系模式属于BCNF。
7、BCNF在函数依赖范围内已实现了模式的彻底分解,消除了()和()。
二、单选题1、现有学生关系Student,属性包括学号(Sno),姓名(Sname),所在系(Sdept),系主任姓名(Mname),课程名(Cname)和成绩(Grade)。
这些属性之间存在如下联系:一个学号只对应一个学生;通过学生只对应一个系;一个系只对应一个系主任;一个学生的一门课程只对应一个成绩;学生名可以重复;系名不可重复;课程名吧重复。
则以下不正确的函数依赖是()A. Sno→SdeptB. Sno→MnameC. Sname→SdeptD.Sno,Cname→Grade2、下面关于函数依赖的描述,错误的是()。
A.在函数依赖A→B中,A称为决定因素。
B.在关系R中,属性B依赖于属性A,则说明当属性A的值确定之后,属性B的值也随之确定。
C.函数依赖具有传递性。
D.在关系R中,如果属性A依赖于属性B,这种依赖记为:A→B。
A. F1→F2B. F1 F2→F5C. F3 F4→F5D. F2 F3→F44、关系R包含属性{A1,A2,A3,A4,A5},其中{A1,A2}为主码,则下面的说法正确的是()。
A. {A1}或者{A2}有可能单独成为R的主码B.{A1,A2,A3}必然也是R的主码C. R中绝不可能出现在A1,A2上取值完全相同的元组D. R的所有元组中,A1或者A2的值都是不能重复的5、下面关于主码的说法错误的是()。
A. 一个关系的主码是唯一的;B. 一个关系的主码指定值之后,对应的元组也就确定了C. 关系R的主码的任何真子集都不可能是关系R的主码D. 在保存学生学籍信息的关系中,学生姓名对应的属性不适合单独作为主码A. {F1}B. {F3}C. {F1,F2}D. {F4}7、下面()依赖是平凡依赖。
A. Sno Cname Grade→Cname GradeB. Sno Cname →Cname GradeC. Sno Cname →Sname GradeD. 以上答案都不是8、已知关系R包含属性A,B,C,D, E,F。
假设该关系有如下函数依赖A →C,B C →D E, D →A,F →B,则{ A,B}的封闭集是().A. {A,B,C,D,E,F}B. {A, B,C, D,E}C. {A ,B,C}D. {A ,B}9、已知关系R包含属性A,B,C,D, E,F。
假设该关系有如下函数依赖A B →C,B C →A D, D→E, C F →B,则则{ A,B}的封闭集是().A. {A,B,C,D,E,F}B. {A, BC, D,E}C. {A ,B,C}D. {A ,B}10、现在只知道关系包含的属性和关系的主码,则一定是第二范式的关系是()A. R1{A1,A2,A3} KEY{A1,A2}B. R2{A1,A2,A3} KEY{A1}C. R3{A1,A2,A3} KEY{A2,A3}D. R4{A1,A2,A3} KEY{A1,A3}11、在关系模式R中,若每个属性都是不可再分的最小数据单位,则R属于()A. 1NFB.2NFC.3NFD.BCNF12、如果一个关系模式R中的所有非主属性都完全函数依赖于主码,则称关系R属于()A. 2NFB. 3NFC.4NFD.BCNF13、一个关系模式R{x1,x2,x3,x4},假定该关系存在着如下函数依赖:x1 x2→x3,x2→x4,则该关系属于()。
A. 1NFB. 2NFC. 3NFD.4NF14、一个关系模式R{x1,x2,x3,x4},假定该关系存在着如下函数依赖:x1→x2,x1→x3,x3→x4,则该关系属于()。
A. 2NFB. 3NFC. 4NFD. BCNF15、若关系模式R(U,F)属于3NF,则()A. 一定属于BCNFB. 消除了插入和删除异常C. 仍然存在插入和删除异常D. 属于BCNF且消除了插入和删除异常三、多选题1、现有学生关系Student,属性包括学号(Sno),姓名(Sname),所在系(Sdept),系主任姓名(Mname),课程名(Cname)和成绩(Grade)。
这些属性之间存在如下联系:一个学号只对应一个学生;通过学生只对应一个系;一个系只对应一个系主任;一个学生的一门课程只对应一个成绩;学生名可以重复;系名不可重复;课程名吧重复。
则以下不正确的函数依赖是()A. Sno→SdeptB. Sno→MnameC. Sname→SdeptD.Sname,Cname→Grade2、已知函数依赖A1 A2→B1,B2,则下列依赖一定正确的是()A. A1 A2→B1B. A1 A2 →B2C. A1→B1 B2D. A2→B1 B23、已知关系Movie中有函数依赖title year→length color,则下面正确的分解结果().A. title →length colorB. year→length colorC. title year→lengthD. title year→ color4、下面哪几个依赖是平凡依赖()。
A. Sno Cname Grade→Cname GradeB. Sno Cname →Cname GradeC. Sno Cname →Sname GradeD. Sno Sname →Sname5、已知关系R包含属性A,B,C,D, E,F。
假设该关系有如下函数依赖A B →C,B C →A D, D→E, C F →B,则下列依赖蕴涵于给定的这些函数依赖的有().A.A B →CB. A B →DC. A B →ED. A B →F6、若关系R属于第一范式,且每个属性都不传递依赖于主码,则R属于()A. 第二范式B. 第三范式C. BC范式D. 第四范式7、关系模式R(Sname, Tname, Cname, Grade),四个属性分别为学生姓名、教师姓名、课程名和成绩。
每个学生可选几门课程;每个教师只教一门课,但一门课可有几个教师教;当学生选定某门课后,其上课教师就固定了。
通过上面的描述,可以指定这个关系的主码为{ Sname, Cname },那么,这个关系属于().A. 第二范式B. 第三范式C. BC范式D. 第四范式8、一个关系模式R{x1,x2,x3,x4},假定该关系存在着如下函数依赖:x1→x2,x1→x3,x3→x4,则该关系属于()。
A. 1NFB. 2NFC. 3NFD.4NF9、关系模式规范化中常规流程正确的是()A. 消除非主属性对主码部分依赖在消除非主属性对主码的传递依赖之前B. 消除非主属性对主码传递依赖在消除非主属性对主码的部分依赖之前C. 消除非主属性对主码传递依赖在消除主属性对主码的部分依赖和传递依赖之前D. 消除主属性对主码部分和传递依赖在消除非主属性对主码的传递依赖之前四、判断题1、函数依赖具有传递性( )。
2、R的主码的真子集有可能函数决定R的所有其他属性()3、对于函数依赖A1A2….An→B1B2..Bm,如果B中至少有一个属性不在A中,则称该依赖为完全非平凡的()4、函数依赖A1A2→A1B1等价于A1A2→B1()5、如果一个关系没有属性能由所有其他属性函数决定,则该关系根本不存在非平凡的函数依赖( )6、对于给定的函数依赖集S,属性集A函数决定的属性的集合就是属性集A在依赖集S下的封闭集()7、主码属性的封闭集是属性的全集()8、当存在非主属性对主码完全依赖时,就会产生数据冗余和更新异常()9、在零件信息关系(Part)中有3个属性:零件编号(Pid),零件名称(pName)和零件价格(pPrice)。
其中任何零件不重名。
已知的函数依赖有pID→ pName, pName→pPric,则pID依赖于pPric()10、如果一个关系模式R的所有属性都是不可分的基本数据项,则这个关系属于第一范式()11、当把一个不满足第二范式条件的关系模式分解为多个满足第二范式的关系时,就可以达到完全消除数据冗余和更新异常的目的()12、属于2NF必属于1NF()13、3NF比BCNF的限制更严格()14、如果一个关系数据库中的所有关系模式都满足第三范式,那么在函数依赖范畴内,它以实现了模式的彻底分解,消除数据冗余和更新异常。
()15、采用规范的方法,使分解后的模式属于第二或第三范式,只能保证无损连接不能保证保持依赖()16、如果一个关系数据库中的所有关系模式都满足BC范式,那么在函数依赖范畴内,它以实现了模式的彻底分解,达到了最高的规范化程度,消除数据冗余和更新异常。
()17、如果A→→B,则A→B()五、简答题1、什么是函数依赖2、什么是属性的封闭集3、什么是第二范式4、从函数依赖的角度给出关系主码的定义5、什么是无损连接6、什么是保持依赖7、什么是平凡依赖8、什么是完全依赖9、写出3个关系模式分别满足:(1) 是1NF,不是2NF(2) 是2NF,不是3NF(3) 是3NF,不是BCNF六、综合题1、假设关系模式为R(A,B,C,D),函数依赖为A→B, B→C和B→D(1)求蕴含于给定函数的所有非平凡函数依赖(2)求R的主码(3)求R的所有超主码(不包含主码)2、假设关系模式为R(A,B,C,D),函数依赖为AB→C, C→D和D→A(1)找出所有违背BCNF的函数依赖。
提示应该考虑不在给定的依赖集但蕴含于其中的依赖;(2)关系模式R分解成属于BCNF的关系模式集合。
3、假设把关系R(A,B,C,D)分解成S(A,B,C)和另一些关系,如果R的函数依赖为AB→DE, C→E,D→C和E→A,请给出S中成立的函数依赖。
4、假设关系R用于描述人们的姓名、身份证号和出生日期,还包括子女的姓名身份证号和出生日期,以及他或她拥有的汽车的序号和型号。
具体地说,该关系的元组形式如下:(n,s,b,cn,cs,cb,as,am)(1)关系R中存在的函数依赖和多值依赖;(2)把关系模式分解成属于4NF的关系模式。