第3章关系数据模型习题解答

上传人:宝路 文档编号:3175147 上传时间:2017-07-31 格式:DOC 页数:7 大小:167KB
返回 下载 相关 举报
第3章关系数据模型习题解答_第1页
第1页 / 共7页
第3章关系数据模型习题解答_第2页
第2页 / 共7页
第3章关系数据模型习题解答_第3页
第3页 / 共7页
第3章关系数据模型习题解答_第4页
第4页 / 共7页
第3章关系数据模型习题解答_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《第3章关系数据模型习题解答》由会员分享,可在线阅读,更多相关《第3章关系数据模型习题解答(7页珍藏版)》请在金锄头文库上搜索。

1、1第 3 章 关系数据模型习题解答一. 简答题1试述关系模型的完整性规则。在引用(参照)完整性中,为什么外键码属性的值也可以为空?什么情况下才可以为空?关系模型的完整性规则包括:实体完整性、引用(参照)完整性和用户定义的完整性。实体完整性和引用完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动支持。在引用(参照)完整性中,规定 A 关系的外键码或者取空值或者等于 B 关系中某个元组的主键码值。至于在什么情况下可以取空值,这要具体问题具体分析才能解决。2关系模型与其他数据模型相比有哪些突出的优点?有哪些不足之处?(1)关系模型的优点: 关系模型对各种用户提供统一的单一的数据结构形式,即

2、关系(二维表) ; 数据库的操作都可归结为关系的运算,而关系是建立在集合代数基础上的; 具有高度的数据独立性,用户的应用程序完全不必关心物理存储细节; 数据库管理人员的工作得到了简化,易于对数据库重组和控制。(2)关系模型的缺点: 相当多的关系数据库系统在多表查询时效率往往低于网状系统; 统一的表格形式结构无法有效地区分现实世界事物之间的各种不同类型的联系关系。3. 叙述关系模型的实体完整性和参照完整性的含义,并各举一例说明之。(l)实体完整性:在任何关系的任何一个元组中,主键码值的任一分量都不允许为空值。例如,在邮政部门传递信件时,通信地址和姓名是作为主键码属性的,如果这两项中任一项为空值,

3、即任一项为未知的值,那么信件将无法投寄到目的地,因为它不能标识出一个准确的实体。(2)引用完整性:若某个属性或属性组不是 A 表的主键码,但它是另一张 B 表的主键码,则该属性或属性组称为 A 表的外键码。在关系模型中,外键码或者取空值或者等于 B 中某个元组的主键码值。例如,在学生(学号,姓名,系号)和系(系号,系名,系主任)中,学生表的主键码为学号,系表的主键码为系号,因而系号是学生表的外键码。根据参照完整性,学生表中的系号(外键码)的取值有两种可能:取空值,表明该学生尚未分配到任何系;若取非空值,则它必须是系表中某个元组中的系号值,因为该学生不能属于一个不存在的系。24. 何谓数据库查询

4、的优化?在关系数据库查询中,一些性能较好的 DBMS 能自动选择较优的算法,以花费较小的代价来实现用户所需的查询。这一过程,就称作数据库查询的优化。5. 查询优化的优点是什么?查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化”做得更好。因为优化器可以从数据字典中得到许多有用的信息,如当前的数据情况,而用户程序则得不到。优化器可以对各种策略进行比较,而用户程序则做不到。6. 查询优化的总目标是什么?查询优化的总目标是:选择有效的策略,求得给定的关系表达式的值。7. 简述逻辑层优化的一般策略。关于查询的逻辑层优化包括两大内容:一是查询表达式的

5、优化,二是操作步的划分。在这两方面的一些主要策略有:(1)选择运算应尽可能先做,这在优化策略中是最重要、最基本的一条。(2)如果在查询表达式中,某一子表达式的形式为一个笛卡儿积运算后紧接着执行某些选择运算,则将这两个运算合并为一个联接运算。(3)表达式中的投影运算,一般应尽可能早地执行。但应注意:因可能有某些属性虽然在最后结果中不需要保留,但在执行指定的关系运算中却不可缺少。(4)如果在一个表达式中有某个子表达式重复出现,则应先将该子表达式算出结果保存起来,以免重复计算。(5)如有若干投影和选择运算,并且它们都对同一个关系进行操作,则可以在扫描此关系的同时完成所有的这些运算。(6)把投影运算同

6、其前或其后的二元运算结合起来,没有必要为了去掉某些字段而扫描一遍关系。8. 简述物理层优化的一般方法。查询处理的物理层优化,主要包括各种关系代数操作的具体实现算法和索引选择等方面的考虑。(1)关系代数操作的实现算法的研究,目前主要集中在笛卡儿积和联接运算上,目前实现联接操作和笛卡儿积的基本算法有块嵌套算法和排序合并算法两种,运用这些算法能使运行效率得到进一步的改善。(2)在算法实现过程中,为进一步改善查询效率,一般要考虑索引、数据的存储分布等存取路径,这就要求优化器去查找数据字典,获得当前数据库状态的信息。在执行连接前对关系进行适当的预处理,预处理方法主要有二种,先在连接的属性上建立索引和对关

7、系排序,然后执行连接。39、为什么要对关系代数表达式进行优化?通过对关系代数表达式进行优化组合,可以提高系统的效率。二 问答题1已知关系 R 和关系 S,求下列运算结果。解答P Q RT RY ST SY B7 g e f c d m7 g e f c d n7 g e f e f n7 g c d c d m7 g c d c d n7 g c d e f nP Q B2 b m2 b n9 z n7 g n7 g m42设两个关系模型为:S(S#,Name ,Sex,Age),SC(S#,C#,Grade),用关系代数语言实现下列操作(假设每门课都有人选)。解答(l) 求各课不及格学生的课

8、号、姓名及成绩; )(60,# SCSGradeGradeNmC(2) 求学习全部课程的所有学生姓名; )()( #, CCSae (3) 求01号课成绩大于 80 分的所有男生的姓名。 )()( 8001# SGradeSexNam 男3. 已知四个关系模式:学生(学号,姓名,年级,专业) 、选课(学号,课号,成绩) 、课程(课号,课名,学时数) 、必修课(课号,必修专业) ,请用关系代数实现下列操作:解答(1) 给出学习全部课程的学生名单; )()(, 课 程选 课 课 号课 号学 号姓 名学 号 S(2) 将学号为S45的同学的C6课程的成绩改为 90 分。,90)C6S45( ?),C

9、645(-)( 选 课4、设有三个关系:S(S#,SNAME,AGE,SEX),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER),试用关系代数表达式表示下列查询语句:(1)检索 LIU 老师所授课程的课程号、课程名。 )(CNAME,#LIUTACHER(2)检索年龄大于 23 岁的男学生的学号与姓名。 )(23SE,# SSEXAG男(3)检索学号为S1学生所学课程的课程名与任课教师名。 )(1#TECHRCNM, CS(4)检索至少选修LIU老师所授课程中一门课的女学生姓名。P Q2 b7 g5)( SNAME CSLIUTEACHRSX 女(5)检索WANG同学不学

10、的课程的课程号。 )()( #CWANGSME(6)检索至少选修两门课程的学生学号。 )(5241C(7)检索全部学生都选修的课程的课程号与课程名。 )()(#,CNAME,# CSSC(8)检索选修课程包含LIU老师所授课程的学生学号。 )()( #, LIUTEACHRS 5、试用元组演算语言来表示第 4 题中各个查询语句。(1)检索 LIU 老师所授课程的课程号、课程名。)321)()2( iuuttuCt (2)检索年龄大于 23 岁的男学生的学号与姓名。 )4)()2( MttSt (3)检索学号为S3学生所学课程的课程名与任课教师名。 )12321)()()2( SuvvtvtCu

11、vt (4)检索至少选修LIU老师所授课程中一门课的女学生姓名。 )3)41)()()()1( LiuwwutwSwvut 女(5)检索WANG同学不学的课程的课程号。 )121(21)()()()1( vWangvtCvut (6)检索至少选修两门课程的学生学号。 )1)()()1( uutSt(7)检索全部学生都选修的课程的课程号与课程名。 )12121)()()()2( uwvttwCvuwvut (8)检索选修课程包含LIU老师所授课程的学生学号。6 )1)121)(3()()()1( utvwuwSCLiuvCuSt 6、在第 4 题的教学数据库 S、SC、C 中,用户有一查询语句“

12、检索女同学选修课程的课程名和任课教师名” ,请完成:解答(1)试写出该查询的关系代数表达式。 )( #.#.TEACHRNM, CSCSCSSEX 女(2)画出该查询初始的关系代数表达式的语法树。(3)使用优化算法,对语法树进行优化,并画出优化后的语法树。(4)写出查询优化的关系代数表达式。7)(TEACHRCNM, CSSEX女7、对某个教学数据库S(SNO,SNAME,SAGE,SEX)C(CNO,CNAME,HOURS)SC(SNQ,CNO,GRADE)有如下关系代数查询: )( 18.CNAME CSSAGECNOSNOCS 请给出一个较优的关系代数表达式。解答8. 已知四个关系模式:

13、学生(学号,姓名,年级,专业) ,选课(学号,课号,成绩) ,课程(课号,课名,学时数) ,必修课(课号,必修专业) ,假如有一关系代数查询为:)( 1. 选 课学 生课 号选 课学 号选 课学 号学 生学 号 , 姓 名 , 成 绩学 生 C要求:(1) 写出上述查询块的含义;(2) 写出较优的等价关系代数表达式;(3) 假设学生关系有 1000 个元组,选课关系有 10000 个元组,其中选修”C1”课程的记录有 20 个,在内存中可容纳两个数据块进行计算,每个数据块可容纳 10 个学生记录,或者 100 个选课记录,或者 10 个学生选课记录。计算机每秒可读或写 40 个数据块,并忽略内

14、存处理时间,试计算这种算法执行查询的总时间。解答(1) 查询选修了C1课程的学生的学号、姓名和成绩;(2) )(1. 选 课学 生 课 号学 号 , 姓 名 , 成 绩学 生 C(3) 在该算法中先进行选择运算,然后再进行自然连接和投影运算,其花费时间计算如下:a)计算选择的时间对选课表作选择运算,只需读一遍选课表,存取 100 块花费时间为 100402.5(秒)。因为满足条件的元组仅 20 个,可直接放在内存中。b)计算自然连接的时间读取学生表,把读入的学生元组和内存中的 SC 元组作连接,也只需读一遍学生表,存取 100 块花费时间为 10040=2.5(秒)。自然连接后的结果元组可全部放入内存中。)(18CNAESAGE8c)计算投影在内存中进行,时间忽略不计。算法执行查询的总时间为: 2.5 十 2.5 5(秒)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号