关系数据理论练习题及答案详细
- 格式:docx
- 大小:33.61 KB
- 文档页数:15
关系数据理论练习题答案关系数据理论练习题答案关系数据理论是计算机科学中的一个重要分支,它研究的是如何有效地处理和管理大量的数据。
在实际应用中,我们常常需要通过关系数据库来存储和组织数据,以便进行快速的查询和分析。
为了更好地理解和应用关系数据理论,下面将给出一些练习题的答案,希望能对读者有所帮助。
1. 什么是关系数据库?关系数据库是一种基于关系模型的数据库,它使用表格来组织和存储数据。
每个表格代表一个实体或概念,每一行表示一个具体的实例,每一列代表一个属性。
通过表格之间的关系(如主键和外键),我们可以建立起不同实体之间的联系,从而方便地进行数据查询和分析。
2. 什么是关系模型?关系模型是关系数据库的理论基础,它由埃德加·科德提出。
关系模型使用表格(也称为关系)来表示实体和属性之间的关系,其中每个表格由多个行和列组成。
每个表格都有一个主键,用于唯一标识每一行的数据,同时还可以通过外键与其他表格建立关联。
3. 什么是主键和外键?主键是用于唯一标识表格中每一行数据的字段,它具有唯一性和非空性的特点。
在一个表格中,主键的值不能重复,且不能为空。
外键是一个表格中的字段,它与另一个表格的主键建立关联。
通过外键,我们可以在不同的表格之间建立起关系,从而实现数据的一致性和完整性。
4. 什么是关系代数?关系代数是一种用于操作关系数据库的数学工具,它包括一系列的操作符,如选择、投影、连接、并、差等。
通过关系代数,我们可以对关系数据库进行各种操作,从而实现数据的查询、更新和删除等功能。
5. 什么是范式?范式是一种用于评估关系数据库设计质量的概念,它分为多个级别,如第一范式(1NF)、第二范式(2NF)、第三范式(3NF)等。
每个范式都有一定的规则和要求,用于确保数据库的结构合理和数据的一致性。
通常情况下,我们希望将数据库设计至少达到第三范式,以提高数据的存储效率和查询性能。
6. 如何进行关系数据库设计?关系数据库设计是一个重要的环节,它决定了数据库的结构和性能。
第5章关系数据理论与模式求精参考答案第5章关系数据库理论与模式求精5.6 对于关系模式r(R)=r(A,B,C,D,E)和函数依赖集F={A→BC,CD→E,B→D,E→A},试计算:(1)A+,B+;(2)r(R)的候选码。
解:(1)1)依据课本图5-8 计算F下A+的算法,计算A+:第一次循环的执行步骤如下,结果为closure=ABCD。
步骤FD closure1. 初值 A2. A→BC ABC3. B→D ABCD第二次循环的执行步骤如下,结果为closure=ABCDE。
步骤FD closure1. 初值ABCD2. CD→E ABCDE3. E→A ABCDE在第二次循环后的结果已经包含了所有的属性,算法终止。
因此,A+=ABCDE。
2)依据课本图5-8计算F下A+的算法,计算B+:第一次循环的执行步骤如下,结果为closure=BD。
步骤FD closure1. 初值 B2. B→D BD第二次循环的执行步骤如下,结果为closure=BD。
步骤FD closure1. 初值BD在第二次循环后的结果仍为closure=BD,函数依赖集F下属性B 的属性闭包(B+)没有变化,算法终止。
因此,B+=BD。
(2)由E→A,A→ABCDE推出E→ABCDE由CD→E,E→ABCDE推出CD→ABCDE由B→D推出BC→CD,由BC→CD , CD→ABCDE推出BC→ABCDE∴A,E,CD和BC是r(R)的候选码。
5.7 对于关系模式r(R)=r(A,B,C,D,E)和函数依赖集F={A→BC,CD→E,B→D,E→A},证明分解r1(R1)=r1(A,B,C)和r2(R2)=r2(A,D,E)是无损分解。
解:由定义5.13知,当一个关系模式分解为两个关系模式时,该分解为无损连接分解的充要条件是两分解关系的公共属性包含r1(R1)的一个候选码或r2(R2)的一个候选码。
对于分解r1(R1)=r1(A,B,C)和r2(R2)=r2(A,D,E),r1(R1)∩r2(R2)=A,且A→r1(R1),故此分解是无损连接分解。
第6章关系数据理论习题练习一。
指出下列关系模式是第几范式(1)R(X,Y,Z) FD={XY→Z}其典型实例就是我们的SC(Sno,Cno,Grade)参考解答:R(X,Y,Z)的主码为XY,非主属性为Z。
关系模式R(X,Y,Z)中不存在非主属性对码的部分函数依赖——>属于二范式关系模式R(X,Y,Z)中不存在非主属性对码的传递函数依赖——>属于三范式关系模式R(X,Y,Z)中起决定作用的只有码——>属于BC范式故在函数依赖范围内,关系模式R(X,Y,Z)属于BC范式(2)R(X,Y,Z) FD={ Y→Z, XZ→Y }参考解答:R(X,Y,Z)的主码为XZ,非主属性为Y属于第三范式:因为其中不存在非主属性(Y)对码(XZ)的部分函数依赖和传递函数依赖;但不属于BC范式:因为起决定作用的除了码以外还有非主属性(Y)(3)R(X,Y,Z) FD={ Y→Z, Y→X, X→YZ }参考解答:R(X,Y,Z)的候选码为Y和X,非主属性为Z不存在非主属性对码的部分函数依赖和传递函数依赖,故属于三范式又,起决定作用的只有码,所以也是BC范式(4)R(X,Y,Z) FD={ X→Y, X→Z }参考解答:典型实例Student(Sno,Sname,Ssex)R(X,Y,Z)的候选码为X,非主属性为Y和Z不存在非主属性对码的部分函数依赖和传递函数依赖,故属于三范式又,起决定作用的只有码,所以也是BC范式(5)R(W,X,Y,Z) FD={ X→Z, WX→Y }参考解答:典型实例S_C(Sno,Cno,Grade,,Cname)R(W,X,Y,Z)的候选码为WX,非主属性为Y和Z因为非主属性Z不是完全依赖于码(WX),而是依赖于码中的一部分(X),所以存在非主属性对码的部分函数依赖,故没有达到二范式,仅属于一范式(6)R(A,B,C,D) ,FD={B→D, AB→C }参考解答:典型实例S_C(Sno,Cno ,Grade,,Cname)R(W,X,Y,Z)的候选码为WX,非主属性为Y和Z因为非主属性Z不是完全依赖于码(WX),而是依赖于码中的一部分(X),所以存在非主属性对码的部分函数依赖,故没有达到二范式,仅属于一范式(7)R(A,B,C) FD={ A→B, B→A, C→A }参考解答:典型实例:若规定一个系的学生都住在一个住处,一个住处也只能入住一个系,则典型实例为:S_Loc(Sdept, Sloc, Sno) 主码为C,非主属性为AB,因存在非主属性(B)对码C的传递函数依赖,故不是三范式,最多是二范式又,不存在非主属性对码的部分函数依赖,故属于二范式练习二:设关系模式R(A,B,C,D,E),FD={A->D, E->D, D->B, BC->D, EC->A}。
关系数据库系统习题及解答一、填空题1.关系数据库是采用(关系模型)作为数据的组织方式2.在关系数据模型中,二维表的行称为元组,二维表的列称为(属性)。
3.用值域的概念来定义关系,关系是属性值域笛卡儿积的一个(子集)。
4.设有关系模式R(A,B,C)和S(E,A,F),若R.A是R的主码,S.A是S的外码,则S.A的值或者等于R中某个元组的主码值,或者取空值(null)。
这是(参照)完整性规则。
5.关系模型有三类完整性约束:实体实整性、参照完整性和用户定义的完整性。
定义外键实现的完整性是(参照完整性)。
6.在关系模型中,若属性A是关系R的主码,则在R的任何元组中,属性A的取值都不允许为空,这种约束为(实体完整性)规则。
7.在关系代数中,从两个关系的笛卡儿积中选取它们的属性或属性组间满足一定条件的元组的操作称为(θ)连接。
8.关系代数是关系操作语言的一种传统表示方式,它以集合代数为基础,它的运算对象和运算结果均为(关系)。
二、选择题1.关系数据模型的三要素是(D)。
A.关系数据结构、关系操作集合和关系规范化理论B.关系数据结构、关系规范理论和关系完整性约束C.关系规范理论、关系操作集合和关系完整性约束D.关系数据结构、关系操作集合和关系完整性约束2.关系语言的非过程化是指(C)。
A.用户必须请求DBA为他建立特殊的存取路径B.用户自己定制而非DBMS来选择存取路径C.用户不必请求DBA为他建立特殊的存取路径D.用户要求助于循环、递归来完成数据的重复操作3.下列叙述中,哪一条是不正确的(A)。
A.一个二维表就是一个关系,二维表的名就是关系的名B.关系中的列称为属性,属性的个数称为关系的元或度C.关系中的行称为元组,对关系的描述称为关系模式D.属性的聚会范围称为值域,元组中的一个属性值称为分量4.下列关于数据模型的术语中,哪一个术语所表述的概念与二维表中的“行”的概念最接近(D)A.属性B.关系C.域D.元组5.下列关于关系模式的码的叙述中,哪一项是不正确的(C)。
关系数据理论练习题一、选择题1. 在关系数据库中,下列哪个术语表示表中的列?A. 元组B. 属性C. 字段D. 记录A. JOINB. UNIONC. INTERSECTD. EXCEPT3. 设有关系R(A, B, C),下列哪个选项是R上的投影操作?A. πA,B(R)B. σA,B(R)C. τA,B(R)D. γA,B(R)4. 设有关系R(A, B)和S(B, C),下列哪个选项是R与S的自然连接操作?A. R × SB. R ⨝ SC. R ∩ SD. R ∪ S二、填空题1. 关系数据库中的基本结构是______,它用来表示实体集和实体集之间的联系。
2. 若关系R和S进行自然连接,则R与S必须具有______属性。
3. 在关系数据库中,______操作用于从关系中选取满足条件的元组。
4. 设有关系R(A, B, C),则投影操作πA(R)的结果是______。
三、判断题1. 关系数据库中的每一列都有一个唯一的名称,称为属性名。
()2. 关系模型中,元组的位置可以任意交换。
()3. 自然连接是一种特殊的等值连接,要求两个关系中进行比较的分量必须是相同的属性组。
()4. 投影操作会改变原关系中的属性顺序。
()四、简答题1. 请简述关系数据库的三个范式。
2. 什么是函数依赖?请举例说明。
3. 什么是关系的规范化?为什么需要对关系进行规范化?4. 请解释主键和外键的概念。
五、综合题六、设计题图书(包含书名、作者、出版社、出版日期、ISBN等)读者(包含读者ID、姓名、性别、电话、邮箱等)借阅(包含借阅ID、图书ISBN、读者ID、借阅日期、归还日期等)学生(学号,姓名,性别,年龄,专业)课程(课程号,课程名,学分,教师编号)教师(教师编号,姓名,职称,电话)七、SQL编程题2. 假设有一个“订单”表,包含字段:订单ID(主键)、客户ID、订单日期、订单金额。
请编写SQL语句,查询2021年所有订单金额大于1000元的订单信息。
关系数据库规范化理论练习试卷1(题后含答案及解析) 题型有:1. 选择题 2. 填空题选择题(每小题1分,共60分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.以下哪一条属于关系数据库的规范化理论要解决的问题?______。
A.如何构造合适的数据库逻辑结构B.如何构造合适的数据库物理结构C.如何构造合适的应用程序界面D.如何控制不同用户的数据操作权限正确答案:A 涉及知识点:关系数据库规范化理论2.下列关于函数依赖的规则中,哪一条是正确的?______。
A.若X→Y,WY→Z,则XW→ZB.若XY,则X→YC.若XY→Z,则X→Z,Y→ZD.若X∩Y=Φ,则X→Y正确答案:A 涉及知识点:关系数据库规范化理论3.在关系模式R中,称满足下面哪一个条件的X→→Y为平凡的多值依赖?______。
A.U-X-Y=ΦB.X∩Y=ΦC.X是单个属性D.Y是单个属性正确答案:A 涉及知识点:关系数据库规范化理论4.关系模式R中若没有非主属性,则______。
A.R属于2NF,但R不一定属于3NFB.R属于3NF,但R不一定属于BCNFC.R属于BCNF,但R不一定属于4NFD.R属于4NF正确答案:B 涉及知识点:关系数据库规范化理论下列问题基于如下描述:有关系模式P(C,S,T,R,G),根据语义有如下函数依赖集:F{C→T,ST→R,TR→C,SC→G}。
5.下列属性组中的哪一个(些)是关系P的候选码?______。
Ⅰ.(C,S) Ⅱ.(C,R) Ⅲ.(S,T) Ⅳ.(T,R) Ⅴ.(S,R) A.只有ⅢB.Ⅰ和ⅢC.Ⅰ、Ⅱ和ⅣD.Ⅱ、Ⅲ和Ⅴ正确答案:A 涉及知识点:关系数据库规范化理论6.关系模式P的规范化程度最高达到______。
A.1NFB.2NFC.3NFD.BCNF正确答案:B 涉及知识点:关系数据库规范化理论7.现将关系模式P分解为两个关系模式P1(C,T,R),P2(C,3,G),那么这个分解______。
一、单选题1、下列关于关系数据模型的术语中,()术语可用二维表中的“行”来表达。
A.域B.属性C.元组D.关系正确答案:C2、设有三个域,它们包含的元素个数分别是3个、4个、5个,则三个域的笛卡尔积的基数是()。
A.12B.3C.60D.36正确答案:C3、设有关系模式EMP(职工号,姓名,年龄,技能)。
假设职工号唯一,每个职工有多项技能,则EMP表的主键是()。
A.(职工号,技能)B.职工号C.技能D.(姓名,技能)正确答案:A4、关系模型中,一个候选键()。
A.可由一个或多个组合能唯一标识该关系模式中任意元组的属性组成B.可由多个任意属性组成C.必须由多个属性组成D.至多由一个属性组成正确答案:A5、如果在一个关系数据库中,存在某个属性(或属性组),虽然不是一个关系的主键或只是主键的一部分,但却与另一个关系的主键对应,称该属性(或属性组)为这个关系的()。
A.候选键B.连接码C.外键D.主键正确答案:C6、有一个“列车运营”关系,含有:车次、日期、实际发车时间、实际抵达时间、情况摘要等属性,该关系的主键是()。
A.(车次,情况摘要)B.车次C.日期D.(车次,日期)正确答案:D7、现有关系:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业,出生日期),它的主键是()。
A.宿舍编号B.(宿舍地址,姓名)C.学号D.(宿舍编号,学号)正确答案:C8、在关系A(S,SN,D)和B(D,CN,NM)中,S是A的主键,A中的属性D与B 中的主键D相对应,则D在A中称为()。
A.主属性B.外键C.主键D.主码正确答案:B9、在关系A(S,SN,D)和B(D,CN,NM)中,S是A的主键,D是B的主键,A 中的外键D对应B的主键,则要求A中D的取值必须来源于关系B中的D,符合()约束。
A.实体完整性B.域完整性C.用户定义完整性D.参照完整性正确答案:D10、关系模型中可以有三类完整性约束,其中()是关系模型必须满足的完整性约束条件,应该由RDBMS自动支持。
第四章关系数据库设计理论练习题一、选择题1、关系规范化中的删除操作异常是指A、不该删除的数据被删除.B、不该插入的数据被插入;C、应该删除的数据未被删除;D、应该插入的数据未被插入.2、关系数据库规范化是为解决关系数据库中()问题而引入的。
A、插入异常、删除异常和数据冗余;B、提高查询速度;C、减少数据操作的复杂性;D、保证数据的安全性和完整性。
3、假设关系模式R(A,B)属于3NF,下列说法中()是正确的。
A、R一定消除了插入和删除异常;B、R仍可能存在一定的插入和删除异常;C、R一定属于BCNF;D、A和C都是.4、关系模式的分解A、唯一B、不唯一.5、设有关系W(工号,姓名,工种,定额),将其规范化到第三范式正确的答案是()A、W1(工号,姓名),W2(工种,定额);B、W1(工号,工种,定额),W2(工号,姓名);C、W1(工号,姓名,工种),W2(工种,定额);D、以上都不对.6、设学生关系模式为:学生(学号,姓名,年龄,性别,平均成绩,专业),则该关系模式的主键是()A、姓名;B、学号,姓名;C、学号;D、学号,姓名,年龄. 7根据数据库规范化理论,下面命题中正确的是()A、若R∈2NF,则R∈3NFB、若R∈1NF,则R不属于BCNFC、若R∈3NF,则R∈BCNFD、若R∈BCNF,则R∈3NF8、关系数据库设计理论中,起核心作用的是A、范式;B、模式设计;C、函数依赖;D、数据完整性.9、设计性能较优的关系模设称为规范化,规范化的主要理论依据是()A、关系规范化理论;B、关系运算理论;C 、关系代数理论;D 、数理逻辑。
10、规范化理论是关系数据库进行逻辑设计的理论依据。
根据这个理论,关系数据库中的关系必须满足:其每一属性都是( )A 、互不相关的;B 、不可分解的C 、长度可变的;D 、互相关联的。
11、规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常以及( )的缺陷。
关系数据库理论考试(答案见尾页)一、选择题1. 关系数据库中的基本概念是什么?A. 数据库、关系、元组、列、行B. 数据库、关系、元组、属性、域C. 数据库、关系、元组、属性、主键D. 数据库、关系、元组、属性、外键2. 关系数据库中的数据完整性是什么意思?A. 数据的一致性和准确性B. 数据的完整性和一致性C. 数据的可靠性和有效性D. 数据的完整性和可靠性3. 在关系数据库中,哪一个操作是插入操作?A. 在表中添加一条记录B. 创建一个新的关系C. 更新已存在的记录D. 从关系中删除一条记录4. 关系数据库中的关系模型是什么?A. 二维表格模型B. 非结构化数据模型C. 层次模型D. 网状模型5. 在关系数据库中,哪一个操作是查询操作?A. 在表中添加一条记录B. 创建一个新的关系C. 更新已存在的记录D. 从关系中检索数据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. 一种设计数据库的方法,旨在允许数据的不一致性和重复11. 在关系数据库中,哪一个术语用来描述一个关系中的行与列之间的关系?B. 属性C. 关系D. 子表12. 关系数据库中的ACID属性指的是什么?A. 原子性、一致性、隔离性、持久性B. 原子性、一致性、隔离性、持久性C. 原子性、一致性、隔离性、持久性D. 原子性、一致性、隔离性、持久性13. 在关系数据库设计中,哪一个工具或技术用来构建和分析关系模型?A. E-R图B. 数据流程图C. 实体-关系图D. IFE矩阵14. 关系数据库中的规范化是为了解决什么样的问题?A. 保证数据的完整性B. 减少数据冗余C. 提高查询效率D. 确保数据的可靠性15. 在关系数据库中,哪一个操作用来插入新的记录?A. 创建B. 插入C. 更新D. 删除16. 关系数据库中的数据分割是将数据分成多个部分的过程,这个过程是什么?A. 分区B. 分片C. 抽象17. 在关系数据库中,哪一个概念用来描述关系中的列?A. 主键B. 外键C. 候选键D. 列18. 关系数据库中的三范式是什么?A. 第一范式(1NF)、第二范式(2NF)、第三范式(3NF)B. 第一范式(1NF)、第二范式(2NF)、第三范式(BCNF)C. 第一范式(1NF)、第二范式(2NF)、第三范式(4NF)D. 第一范式(1NF)、第二范式(2NF)、第三范式(CNF)19. 关系数据库中,如何唯一标识表中的每一行?A. 主键B. 外键C. 候选键D. 组合键20. 在关系数据库中,什么是外键?A. 用于唯一标识表中的每一行的字段B. 用于建立两个表之间的关联的字段C. 用于定义表之间的关系模式的字段D. 用于加密的数据字段21. 在关系数据库中,什么是触发器?A. 一种数据库对象,用于自动执行特定的操作B. 一种数据库对象,用于定义和执行一系列操作C. 一种数据库对象,用于强制数据完整性D. 一种数据库对象,用于备份和恢复数据22. 关系数据库中的视图是什么?A. 一种虚拟表,其内容来自一个或多个表的查询结果B. 一种虚拟表,其内容来自一个或多个表的查询结果,具有可更新性C. 一种虚拟表,其内容来自一个或多个表的查询结果,具有可更新性,并且可以优化查询性能D. 一种虚拟表,其内容来自一个或多个表的查询结果,具有可更新性,并且可以优化查询性能,同时支持高级搜索功能23. 关系数据库中的游标是什么?A. 一种用于从数据库检索数据的机制B. 一种用于从数据库检索数据的机制,具有迭代功能C. 一种用于从数据库检索数据的机制,具有迭代功能和查询优化功能D. 一种用于从数据库检索数据的机制,具有迭代功能,并且可以优化查询性能24. 关系数据库中的关系模式是什么?A. 定义了数据的结构和关系B. 定义了数据的结构和关系,以及数据的完整性约束C. 定义了数据的结构和关系,以及数据的完整性约束,以及数据的操作规则D. 定义了数据的结构和关系,以及数据的完整性约束,以及数据的操作规则,并且可以优化查询性能25. 关系数据库中的关系模型是由谁提出的?A. 关系数据库之父:E.F. CoddB. MySQL的创始人:Michael WideniusC. Oracle数据库的创始人:Larry EllisonD. Google的创始人:Larry Page26. 在关系数据库中,哪一个操作符用于执行选择操作?A. ANDB. ORC. SELECTD. BETWEEN27. 关系数据库中的数据完整性规则包括哪些类型?A. 域完整性规则B. 实体完整性规则C. 引用完整性规则D. 用户定义完整性规则28. 在关系数据库中,哪一个术语用于描述在数据库中表示数据的结构?A. 表格B. 属性C. 主键D. 外键29. 关系数据库中的联接操作有哪些类型?A. 内联接(INNER JOIN)B. 左外联接(LEFT JOIN)C. 右外联接(RIGHT JOIN)D. 完全联接(FULL OUTER JOIN)30. 在关系数据库中,哪一个操作符用于执行排序操作?A. ORDER BYB. GROUP BYC. DISTINCTD. HAVING31. 关系数据库中的数据分割策略有哪些类型?A. 投影分割B. 列分割C. 行分割D. 分区32. 在关系数据库中,哪一个操作符用于执行并操作?A. UNIONB. INTERSECTC. EXCEPTD. MINUS33. 关系数据库中的事务特性包括哪些?A. 原子性(Atomicity)B. 一致性(Consistency)C. 隔离性(Isolation)D. 持久性(Durability)34. 在关系数据库中,哪一个术语描述了表中行的集合?A. 结构B. 属性C. 子集D. 域35. 关系数据库中的数据完整性是指什么?A. 确保数据的一致性、准确性和完整性B. 确保数据在存储过程中不被修改C. 确保数据在传输过程中不被窃取或篡改D. 确保数据在操作过程中不被错误执行36. 在关系数据库中,哪一个操作属于原子操作?A. 选择、投影、连接B. 选择、投影、排序C. 选择、投影、分组D. 选择、投影、笛卡尔积37. 关系数据库中的索引是为了提高数据的什么性能?A. 查询速度B. 插入速度C. 更新速度D. 删除速度38. 在关系数据库中,哪一个概念用来描述实体之间的联系?A. 表B. 关系C. 键D. 域39. 关系数据库中的视图是基于哪一个原始关系建立的?A. 一个表B. 多个表C. 一个表的一部分D. 多个表的一部分40. 在关系数据库中,哪一个操作可以用来合并两个或多个关系?A. 并、交、差B. 并、交、笛卡尔积C. 并、交、选择D. 并、交、投影41. 关系数据库中的数据分割通常是如何进行的?A. 将一个大表分成多个小表B. 将一个大表按关键字分成多个片段C. 将一个大表按属性分成多个子表D. 将一个大表按行分成多个片段42. 在关系数据库中,哪一个概念用来描述数据的一致性?A. 非空约束B. 唯一性约束C. 外键约束D. 主键约束二、问答题1. 关系模型的基本概念是什么?2. 什么是关系代数?请列举几种常见的关系代数运算。
-- 使用游标逐个显示员工姓名和工资DECLARE @WorkerName VarChar(20), @Salary INT-- 声明游标DECLARE curWorker CURSORFOR SELECT EName, Sal FROM Emp-- 打开游标OPEN curWorker-- 获取游标当前记录信息到变量中,并且转向下一个记录FETCH curWorker INTO @WorkerName, @Salary-- 判断上一个记录的获取是否正常,如果正常,系统变量@@FETCH_STATUS值为0WHILE @@FETCH_STATUS = 0BEGIN-- 显示工程师信息,多个信息显示在一行之内要用+字符串连接-- 工资是数值,需要转换成字符串才能连接PRINT @WorkerName + '的工资是每月' +CONVERT(VarChar(10), @Salary) + '元'-- 继续获取下一行FETCH FROM curWorker INTO @WorkerName, @Salary END-- 关闭游标(关闭的游标根据需要还可以再打开)CLOSE curWorker-- 释放游标(从内存删除它,该游标不能再用了)DEALLOCATE curWorkerChp6:第六章关系数据理论补充练习1、已知关系模式R (ABCDEH), 函数依赖集F={AC→B,CD→EH, H→DE},求:A+,(AC) +,(CD) +,H+,(ABCD) +,(CDE) +,(EH) +。
解:A+ =A(AC) + =ACB(CD) + =CDEHH+ =HDE(ABCD) + =ABCDEH = U(CDE) + =CDEH(EH) + =EHD2、求出下列关系模式的候选码,说明它们最高属于第几范式,并说明理由。
(1)、R (ABCD),F={B→D, AB→C}解:由于AB只在左边出现过(L类),没有N类属性。
第一部分:一、求最小依赖集例:设有依赖集:F={AB-C, C-A, BC—D, ACD-B, D—EG, BE—C, CG—BD, CE f AG},计算与其等价的最小依赖集。
解:1、将依赖右边属性单一化,结果为:F1={AB—C, C—A, BC—D, ACD—B, D—E, D—G, BE—C, CG—B, CG—D CE―A, CE—G}2、在F1中去掉依赖左部多余的属性。
对于CE—A,由于C—A成立,故E是多余的;对于ACD—B,由于(CD) +=48。
£»6,故A是多余的。
删除依赖左部多余的依赖后:F2={AB—C, C—A, BC—D, CD—B, D—E, D—G, BE—C, CG—B, CG—D, CE—G }3、在F2中去掉多余的依赖。
对于CG—B,由于(CG) +=ABCEDG,故CG—B是多余的。
删除依赖左部多余的依赖后:F3={AB—C, C—A, BC—D, CD—B, D—E, D—G, BE—C, CG—D, CE—G }CG—B与CD—B不能同时存在,但去掉任何一个都可以,说明最小依赖集不唯一。
二、求闭包例:关系模式R (U, F),其中U={A, B, C, D, E, I}, F={A—D, AB—E, BI—E, CD—I, E—C},计算(AE) +。
解:令X={AE}, X (0) =AE;计算X(1);逐一扫描F集合中各个函数依赖,在F中找出左边是AE子集的函数依赖,其结果是:A—D, E—C。
于是X (1) =AE U DC=ACDE;因为X (0)W X (1),且X (1)WU,所以在F中找出左边是ACDE子集的函数依赖,其结果是:CD—I。
于是X (2) =ACDE UI=ACDEI。
虽然X (2)W X (1),但在F中未用过的函数依赖的左边属性已没有X (2) 的子集,所以不必再计算下去,即(AE) +=ACDEI。
三、求候选键例1:关系模式R (U, F),其中U={A, B, C, D}, F={A—B, C—D},试求此关系的候选键。
解:首先求属性的闭包:(A)+=AB,(B)+ =B,(C)+ =CD,(D)+ =D(AB)+ =AB,(AC)+=ABCD=U,(AD)+ =ABD,(BC)+ =BCD,(BD)+ =BD,(CD)+ =CD(ABD)+ =ABD,(BCD)+ =BCD,因(AC) +=ABCD=U,且(A) +=AB, (C) +=CD,由闭包的定义,AC—A, AC—B, AC —B, AC—D,由合并规贝。
得AC—ABCD=U;由候选码的定义可得AC为候选码。
后选关键字的求解理论和算法对于给定的关系R(A1, A2,…,An)和函数依赖集F,可将其属性分为四类:L类:仅出现在F的函数依赖左部的属性;R类:仅出现在F的函数依赖右部的属性;N类:在F的函数依赖左右两边均未出现的属性;LR类:在F的函数依赖左右两边均出现的属性。
定理1对于给定的关系模式R及其函数依赖集F,若X(X属于R)是L类属性,则X必为R的任一候选关键字的成员。
例1:关系模式R (U, F),其中U={A, B, C, D}, F={A f B, C-D},试求此关系的候选键。
例2设有关系模式R(A, B, C, D),其函数依赖集F={D f B, B-D, AD-B, AC-D}, 求R的所有候选键。
推论对于给定的关系模式R及其函数依赖集F,若X(X属于R)是L类属性,且X+包含了R的全部属性,则X必为R的惟一候选关键字。
定理2对于给定的关系模式R及其函数依赖集F,若X(X属于R)是R类属性,则X不在任何候选关键字中。
例 3 关系模式R (U, F),其中U={A, B, C, D, E, P}, F={A-B, C-D, E-A , CE-D },试求此关系的候选键。
定理3对于给定的关系模式R及其函数依赖集F,若X(X属于R)是N类属性,则X必为R的任一候选关键字的成员。
例4设有关系模式R(A, B, C, D, E, P),其函数依赖集F={A-D, E-D, D-B, BC -D, DC-A},求R的所有候选关键字。
推论对于给定的关系模式R及其函数依赖集F,若X (X属于R)是N类和L 类组成的属性集,且X+包含了R的全部属性,则X必为R的惟一候选关键字四、关系模式规范化程度的判断(在BCNF内判断)例5 关系模式R (U, F),其中U={A, B, C, 口},函数依赖集F={B-D, AB- C},试求R最高属于第几范式。
解:根据判定定理及推论得:AB必是候选码的成员,且(AB)+=ABCD=U, 所以AB为候选码。
则AB-D,又因B-D,存在非主属性对码的部分依赖,所以最高为1NF。
例6 关系模式R (U, F),其中U={A, B, C, D, £},函数依赖集F={AB-CE, E-AB, C-D},试求R最高属于第几范式。
解:根据判定定理及推论得:属性D肯定不在候选码中,通过计算可得:(AB) +=ABCDE=U,且(E) +=ABCDE=U,所以AB、E 为候选码;由于F中不存在部分依赖,故R至少属于2NF;因AB-C, AB-E, C-D,存在非主属性对码的传递依赖,所以最高为2NF。
例7 关系模式R (U, F),其中U={A, B, 5,函数依赖集F={A-B, B-A, A -C},试求R 最高属于第几范式。
解:根据判定定理及推论得:属性C肯定不在候选码中,通过计算可得:(A) +=ABC=U,K (B) +=ABC=U,所以A、B 为候选码;由于候选码仅有一个属性,不存在部分依赖,故R至少属于2NF;B-A, A-C,由于A-B,所以不存在非主属性对码的传递依赖,所以R也是3NF。
又因为F满足BCNF的定义,故R也是BCNF。
例8 关系模式R (U, F),其中U={A, B, C},函数依赖集F={A-B, B-A, C -A},试求R最高属于第几范式。
解:根据判定定理及推论得:属性C肯定在候选码中,又因(C)+=ABC=U, 所以C为候选码;由于候选码仅有一个属性,不存在部分依赖,故R至少属于2NF;C-A, A-B,存在非主属性对码的传递依赖,所以R最高为2NF。
例9 关系模式R(U, F),其中U={A, B, C, D},函数依赖集F={A-C, D-B}, 试求R 最高属于第几范式。
解:根据判定定理及推论得:属性AD 肯定在候选码中,又因(AD) +=ABCD=U,所以AD为候选码;而AD-B, D-B,存在非主属性对码的部分依赖,所以R最高为1NF。
例10关系模式R (U, F),其中U={A, B, C, 口},函数依赖集F={A-C, CD- B},试求R最高属于第几范式。
解:根据判定定理及推论得:属性AD 肯定在候选码中,又因(AD) +=ABCD=U,所以AD为候选码;而AD-C, A-C,存在非主属性对码的部分依赖,所以R最高为1NF。
练习一:指出下列关系模式是第几范式(1)R(X,Y,Z) FD={XY f Z}其典型实例就是我们的SC (Sno, Cno, Grade)参考解答:R(X,Y,Z)的主码为XY,非主属性为Z。
关系模式R(X,Y,Z)中不存在非主属性对码的部分函数依赖一一>属于二范式关系模式R(X,Y,Z)中不存在非主属性对码的传递函数依赖一一>属于三范式关系模式R(X,Y,Z)中起决定作用的只有码一一>属于BC范式故在函数依赖范围内,关系模式R(X,Y,Z)属于BC范式⑵R(X,Y,Z) FD={ XZ f Y , Y f Z}参考解答:R(X,Y,Z)的主码为XZ,非主属性为Y属于第三范式:因为其中不存在非主属性(Y)对码(XZ)的部分函数依赖和传递函数依赖;但不属于BC范式:因为起决定作用的除了码以外还有非主属性(Y)(3)R(X,Y,Z) FD={ Y f Z, Y f X, X f YZ }参考解答:R(X,Y,Z)的候选码为Y和X,非主属性为Z不存在非主属性对码的部分函数依赖和传递函数依赖,故属于三范式又,起决定作用的只有码,所以也是BC范式(4)R(X,Y,Z) FD={ X f Y, X f Z }参考解答:典型实例Student(Sno,Sname,Ssex)R(X,Y,Z)的候选码为X,非主属性为Y和Z不存在非主属性对码的部分函数依赖和传递函数依赖,故属于三范式又,起决定作用的只有码,所以也是BC范式(5)R(W,X,Y,Z) FD={ X f Z, WX f Y }参考解答:典型实例S_C( Sno,Cno,Grade,,Cname)R(W,X,Y,Z)的候选码为WX,非主属性为Y和Z因为非主属性Z不是完全依赖于码(WX),而是依赖于码中的一部分(X),所以存在非主属性对码的部分函数依赖,故没有达到二范式,仅属于一范式(6)R(A,B,C,D),FD={B f D, AB f C }参考解答:典型实例S_C(Sno,Cno,Grade,,Cname)R(W,X,Y,Z)的候选码为WX,非主属性为Y和Z因为非主属性Z不是完全依赖于码(WX),而是依赖于码中的一部分(X), 所以存在非主属性对码的部分函数依赖,故没有达到二范式,仅属于一范式(7)R(A,B,C)FD={ A f B, B f A, C f A }参考解答:典型实例:若规定一个系的学生都住在一个住处,一个住处也只能入住一个系,则典型实例为:S_Loc(Sdept, Sloc, Sno)主码为C,非主属性为AB,因存在非主属性(B)对码C的传递函数依赖,故不是三范式,最多是二范式又,不存在非主属性对码的部分函数依赖,故属于二范式练习二:设关系模式R(A,B,C,D,E),FD={A->D, E->D, D->B, BC->D, EC->A}。
试求:(1)R的候选码(2)R所属的范式(3)将R分解为BCNF,且具有无损连接性参考解答:(1)可知:EC->A->D->B所以:候选码为EC,非主属性为ABD(2)因存在非主属性(B和D)对码(EC)的传递函数依赖,故未答三范式,最多是二范式又,不存在非主属性对码的部分函数依赖,所以是二范式(3)分解为3个模式:R1(E,C,A)FD={ EC->A }R2(A,D)FD={ A->D}R3(D, B)FD={D->B}练习三。
设有关系模式:TEACHER(教师编号,教师姓名,电话,所在部门,借阅图书编号,书名,借书日期,还书日期,备注)(1)教师编号是候选码吗?说明理由(2)该关系模式的主码是什么?(3)该关系模式是否存在部分函数依赖?如果存在,请写出至少两个?(4)该关系模式满足第几范式?(5)将该关系模式分解为3NF。