admin管理员组文章数量:1794759
数据库作业19:第九章: 关系查询处理和查询优化 课后习题
B:占用的块数;Br,Bs分别代表R,S占用的块数; Frs,Mrs分别是连接选择率,存放连接结果因子表示每块可存放的结果元组数 2、假设关系R(A,B)]和S(B,C,D)情况如下:R有20000个元组,S有1200个元组,一个块能装40个R的元组,能装30个S的元组,估算下列操作需要多少次磁盘块读写。 (1)R上没有索引,
select * from R;只在R上查询时:20000/40=500(块);
(2)R中A为主码,A有三层B+树索引, B+树图文详解,这篇文章将B+树用户简单易懂的方式解释,利于更好的复习B+树的相关知识。
select * from R where A=10;选择条件是“码=值”,采用该表主索引,如果是B+树,层数为L,需要存取B+树中从根结点到叶结点L块,加上基本表中该元组所在的一块,cost=L+1 3+1=4(块)
(3)嵌套循环连接 R ⋈ S R \\Join S R⋈S; 一个块可以装40个R的元组,30个S的元组,但是不知道在内存中分别要存放多少块的R元组和多少块的S元组。只知道外层循环读多少遍,不知道内层循环,所以无法进行估算。
(4)排序合并连接 R ⋈ S R \\Join S R⋈S,区分R与S在B属性上已经有序和无序两种情况。 有序:由于表已经有序了,R和S 都只需要扫描一遍即可。20000/40+1200/30=540. 无序:需要提前将表排序,所以执行时间需要加上对两个表的排序时间。 540+(2*540)+(2 * 540 * log 2 540 \\log_2 540 log2540)
3、对学生-课程数据库,查询信系学生选修了的所有课程名称。
SELECT Cname FROM Student,Course,SC WHERE Student.Sno=SC.Sno AND Course.Cno=SC.Cno AND Student.Sdept='IS';试画出用关系代数表示的语法树,并用关系代数表达式优化算法对原始的语法树进行优化处理,画出优化后的标准语法树。 语法树: 关系代数语法树: 优化后的关系代数语法树: 4、对于下面的数据库模式: Teacher( T n o ‾ \\underline{Tno} Tno,Tname,Tage,Tsex); Department( D n o ‾ \\underline{Dno} Dno,Dname,Tno); Work( T n o ‾ \\underline{Tno} Tno,Dno,Year,Salary); 假设Teacher的Tno属性,Department的Dno属性以及Work的Year属性上有B+树索引,说明下列查询语句的一种较优的处理方法。 (1)
select * from Teacher where Tsex='女';在Tsex上没有索引,采用全表扫描方法。 (2)
select * from Department where Dno<301;B+树索引。 (3)
select * from Work where Year<>2000;<>操作法表示的是不等于,与!=等效。 B+树索引。按照条件查找,则会有大块数据 满足或不满足条件,就可以不用在判别了,直接输出。 (4)
select * from Work where Year>2000 and Salary<5000;B+树索引。按照Year索引后,再判断Salary是否满足条件。 (5)
select * from Work where Year<2000 or Salary<5000;全表扫描方法。 Salary上没有索引,只能全表扫描。
5、对于题4 的数据库模式有如下查询:
select Tname from Teacher,Department,Work where Teacher.Tno=Work.Tno and Department .Dno=Work.Dno and Department.Dname='计算机系' and Salary>5000.画出语法树以及用关系代数表示的语法树,并对关系代数语法树进行优化,画出优化后的语法树。 语法树:
关系代数表示的语法树: 优化后的关系代数语法树:
B+树的特征: 1.有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有数据都保存在叶子节点。 2.所有的叶子结点中包含了全部元素的信,及指向含这些元素记录的指针,且叶子结点本身依关键字的大小自小而大顺序链接。 3.所有的中间节点元素都同时存在于子节点,在子节点元素中是最大(或最小)元素。 B+树的优势: 1.单一节点存储更多的元素,使得查询的IO次数更少。 2.所有查询都要查找到叶子节点,查询性能稳定。 3.所有叶子节点形成有序链表,便于范围查询。
这次做题复习了一下以前B+树的相关知识,要是不复习的话,都快忘光了!
版权声明:本文标题:数据库作业19:第九章: 关系查询处理和查询优化 课后习题 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686518683a76758.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论