第 6 章 关系数据理论习题
- 格式:doc
- 大小:48.00 KB
- 文档页数:2
第六章关系数据理论一、选择题1. 为了设计出性能较优的关系模式,必须进行规范化,规范化主要的理论依据是(A)。
A. 关系规范化理论B. 关系代数理论C.数理逻辑 D. 关系运算理论2. 规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:每一个属性都是(B )。
A. 长度不变的B. 不可分解的C.互相关联的 D. 互不相关的3. 已知关系模式R(A,B,C,D,E)及其上的函数相关性集合F={A→D,B→C ,E →A },该关系模式的候选关键字是(B )。
B. BE D. DE4. 设学生关系S(SNO,SNAME,SSEX,SAGE,SDPART)的主键为SNO,学生选课关系SC(SNO,CNO,SCORE)的主键为SNO和CNO,则关系R(SNO,CNO,SSEX,SAGE,SDPART,SCORE)的主键为SNO和CNO,其满足(A )。
A. 1NFC. 3NFD. BCNF5. 设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C表示课程,P表示教师,S表示学生,G表示成绩,T表示时间,R表示教室,根据语义有如下数据依赖集:D={ C →P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R },关系模式W的一个关键字是( D)。
A. (S,C)B. (T,R)C. (T,P)D. (T,S)6. 关系模式中,满足2NF的模式(B )。
A. 可能是1NFB. 必定是1NFC. 必定是3NFD. 必定是BCNF7. 关系模式R中的属性全是主属性,则R的最高范式必定是(C )。
A. 1NFB. 2NFC. 3NFD. BCNF8. 消除了部分函数依赖的1NF的关系模式,必定是(B )。
A. 1NFB. 2NFC. 3NFD. BCNF9. 如果A->B ,那么属性A和属性B的联系是(B )。
A. 一对多B. 多对一C.多对多 D. 以上都不是10. 关系模式的候选关键字可以有1个或多个,而主关键字有(C )。
一、基础知识题6.1设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1,求树T中的叶子数。
【解答】设度为m的树中度为0,1,2,…,m的结点数分别为n0, n1, n2,…, nm,结点总数为n,分枝数为B,则下面二式成立n= n0+n1+n2+…+nm (1)n=B+1= n1+2n2 +…+mnm+1 (2)由(1)和(2)得叶子结点数n0=1+即: n0=1+(1-1)*4+(2-1)*2+(3-1)*1+(4-1)*1=86.2一棵完全二叉树上有1001个结点,求叶子结点的个数。
【解答】因为在任意二叉树中度为2 的结点数n2和叶子结点数n0有如下关系:n2=n0-1,所以设二叉树的结点数为n, 度为1的结点数为n1,则n= n0+ n1+ n2n=2n0+n1-11002=2n0+n1由于在完全二叉树中,度为1的结点数n1至多为1,叶子数n0是整数。
本题中度为1的结点数n1只能是0,故叶子结点的个数n0为501.注:解本题时要使用以上公式,不要先判断完全二叉树高10,前9层是满二叉树,第10层都是叶子,……。
虽然解法也对,但步骤多且复杂,极易出错。
6.3 一棵124个叶结点的完全二叉树,最多有多少个结点。
【解答】由公式n=2n0+n1-1,当n1为1时,结点数达到最多248个。
6.4.一棵完全二叉树有500个结点,请问该完全二叉树有多少个叶子结点?有多少个度为1的结点?有多少个度为2的结点?如果完全二叉树有501个结点,结果如何?请写出推导过程。
【解答】由公式n=2n0+n1-1,带入具体数得,500=2n0+n1-1,叶子数是整数,度为1的结点数只能为1,故叶子数为250,度为2的结点数是249。
若完全二叉树有501个结点,则叶子数251,度为2的结点数是250,度为1的结点数为0。
6.5 某二叉树有20个叶子结点,有30个结点仅有一个孩子,则该二叉树的总结点数是多少。
第1章绪论1.数据库数据具有__________、__________和__________三个基本特点。
答案:永久存储、有组织、可共享2.试述数据、数据库、数据库系统、数据库管理系统的概念。
3.使用数据库系统有什么好处?4.数据库管理系统是数据库系统的一个重要组成部分,它的功能包括__________、__________、__________、__________。
答案:数据定义功能、数据操纵功能、数据库的事物管理和运行管理、数据库的建立和维护功能5.数据库系统是指在计算机系统中引入数据库后的系统,一般由__________、__________、__________和__________构成。
答案:数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员6.试述文件系统与数据库系统的区别和联系。
7.数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了三个阶段:__________阶段,__________阶段和__________阶段。
答案:人工管理、文件系统、数据库系统8.举出适合用文件系统而不是数据库系统的例子;再举出适合用数据库系统的应用例子。
9.数据库具有数据结构化、最小的__________、较高的__________和易扩展性等特点。
答案:冗余度、数据独立性10试述数据库系统的特点。
11.DBMS还必须提供__________保护、__________检查、__________、__________等数据控制功能。
答案:数据的安全性数据的完整性并发控制数据库恢复12.数据库管理系统的主要功能有哪些?答案:①数据库定义功能;②数据存取功能;③数据库运行管理;④数据库的建立和维护功能。
13.模式(Schema)是数据库中全体数据的__________和__________的描述,它仅仅涉及到__________的描述,不涉及到具体的值。
答案:逻辑结构、特征、型14.试述数据模型的概念、数据模型的作用和数据模型的三个要素。
关系数据理论练习题一、选择题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元的订单信息。
第一部分:一、求最小依赖集例:设有依赖集: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。
4.2 关系模式R有n个属性,在模式R上可能成立的函数依赖有多少个? 其中平凡的函数依赖有多少个?非平凡的函数依赖有多少个?(要考虑所有可能的情况,数学排列组合问题。
对于数据库本身而言,本题没多大意义)所有属性相互依赖时,函数依赖最多。
平凡的函数依赖:对于函数依赖X→Y,如果Y X,那么称X→Y是一个“平凡的函数依赖”。
4.3 建立关于系、学生、班级、社团等信息的一个关系数据库,一个系有若干个专业,每个专业每年只招一个班,每个班有若干个学生,一个系的学生住在同一宿舍区,每个学生可以参加若干个社团,每个社团有若干学生。
描述学生的属性有:学号、姓名、出生年月、系名、班级号、宿舍区。
描述班级的属性有:班级号、专业名、系名、人数、入校年份。
描述系的属性有:系名、系号、系办公地点、人数。
描述社团的属性有:社团名、成立年份、地点、人数、学生参加某社团的年份。
请给出关系模式,写出每个关系模式的最小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况,讨论函数依赖是完全函数依赖还是部分函数依赖。
指出各关系的候选键、外部键,有没有全键存在?各关系模式如下:学生(学号,姓名,出生年月,系名,班级号,宿舍区)班级(班级号,专业名,系名,人数,入校年份)系(系名,系号,系办公地点,人数)社团(社团名,成立年份,地点,人数)加入社团(社团名,学号,学生参加社团的年份)学生(学号,姓名,出生年月,系名,班级号,宿舍区)●“学生”关系的最小函数依赖集为:Fmin={学号→姓名,学号→班级号,学号→出生年月,学号→系名,系名→宿舍区}●以上关系模式中存在传递函数依赖,如:学号→系名,系名→宿舍区●候选键是学号,外部键是班级号,系名。
notice: 在关系模式中,如果Y→X,X→A,且X Y(X不决定Y), A不属于X,那么称Y→A是传递依赖。
班级(班级号,专业名,系名,人数,入校年份)●“班级”关系的最小函数依赖集为:Fmin={(系名,专业名)→班级号,班级号→人数,班级号→入校年份,班级号→系名,班级(1) 构造表(2)根据A→B进行处理(1) 构造表(2)根据A→B进行处理没有一行全是a行。
数据库系统概论复习资料:第一章假设教学管理规定:①一个学生可选修多门课,一门课有若干学生选修; ②一个教师可讲授多门课,一门课只有一个教师讲授; ③一个学生选修一门课,仅有一个成绩。
学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。
要求:根据上述语义画出ER 图,要求在图中画出实体的属性并注明联系的类型; 解答:第2章关系数据库1、设有如下所示的关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE),试用关系代数表达式表示下列查询语句:(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。
(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
(3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。
(4)检索”李强”同学不学课程的课程号(C#)。
(5)检索至少选修两门课程的学生学号(S#)。
(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。
(8)检索选修课程号为k1和k5的学生学号(S#)。
(9)检索选修全部课程的学生姓名(SNAME)。
(10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。
(11)检索选修课程名为“C 语言”的学生学号(S#)和姓名(SNAME)。
解:本题各个查询语句对应的关系代数表达式表示如下:(1). ∏C#,CNAME(σTEACHER=‘程军’(C)) (2). ∏S#,SNAME(σAGE>21∧SEX=”男”(C)) (3). ∏SNAME{s[∏S#,C#(sc )÷∏C#(σTEACHER=‘程军’(C))]}成绩教师编号教师姓名学生选修m课程教师讲授 nn1学号 姓名 课程号课程名(4). ∏C#(C)- ∏C#(σSNAME=‘李强’(S) SC) (5). ∏S#(σ[1]=[4]∧[2]≠[5] (SC × SC))(6). ∏C#,CNAME(C (∏S#,C#(sc)÷∏S#(S)))(7). ∏S#(SC∏C#(σTEACHER=‘程军’(C)))(8). ∏S#,C#(sc )÷∏C#(σC#=’k1’∨ C#=’k5’(C)) (9). ∏SNAME{s[∏S#,C#(sc )÷∏C#(C)]}(10). ∏S#,C#(sc )÷∏C#(σS#=’2’(SC))(11). ∏S#,SNAME{s[∏S#(SCσCNAME=‘C 语言’(C))]}2、关系R 和S 如下图所示,试计算R ÷S 。
问答题6—关系数据理论一、第6章课后习题P195-2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。
描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区描述班级的属性有:班号、专业名、系名、人数、入校年份描述系的属性有:系号、系名、系办公室地点、人数描述学会的属性有:学会名、成立年份、地点、人数有关语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。
一个系的学生住在同一个宿舍区。
每个学生可参加若干学会,每个学会有若干学生。
学生参加某学会有一个入会年份。
(1)请写出关系模式答:学生(学号,姓名,出生年月,系名,班号,宿舍区)班级(班号,专业名,系号,班级人数,入校年份)系(系号,系名,系办公室地点,系人数)学会(学会名,成立年份,地点,学会人数)参加(学号,学会名,入会年份)(2)写出每个关系模式的最小函数依赖集,指出是否存在传递函数依赖。
对于函数依赖左部是多属性的情况下,讨论函数依赖是完全依赖,还是部分函数依赖。
答:F(学生) ={学号→姓名,学号→出生日期,学号→班号,班号→系名,系名→宿舍区}F(班级) ={班号→专业名,班号→班级人数,班号→入校年份,专业名→系名,(专业名,入校年份→班号)}F(系) ={系号→系名,系名→系号,系号→系办公室地点,系号→系人数}F(学会) ={学会名→成立年份,学会名→地点,学会名→学会人数,F(参加) ={(学号,学会名)→入会年份}其中:F(学生)中存在传递函数依赖:学号→系名,学号→宿舍区,班号→宿舍区因为:学号→班号,班号→系名,系名→宿舍区C(班级)中存在传递函数依赖:班号→系名因为:班号→专业名,专业名→系名(S#,PN)→DATE2和(CS,CDA TE)→C#均为SP中的函数依赖,是完全函数依赖。
(3)指出各个关系模式的候选码、外码,以及有没有全码存在 答:P196-12.下面的结论哪些是正确的,哪些是错误的,对于错误的结论请给出理由或给出一个反例说明之。
第 6 章关系数据理论习题 (补充)
1.已知学生关系模式
S(Sno,Sname,SD,Sdname,Course,Grade)
其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、
Grade成绩。
(1)写出关系模式S的基本函数依赖和主码。
(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?
(3)将关系模式分解成3NF,并说明为什么?
2、设有如图所示的学生关系S
关系模式S1、S2上无传递依赖,它们是3NF。
(1)
(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的?
(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除
操作异常问题?
4.设有如图所示的关系R。
3NF?
5、如下图给出的关系SC为第几范式?是否存在插入、删除异常?若存在,则说明是在什么情况下发生?发生的原因是什么?将它分解为高一级范式,分解后的关系能否解决操作异常问题。
表SC如下:
为教师名,ILOCA 为教师地址,GRADE为成绩。