数据库作业19:第九章: 关系查询处理和查询优化

2.假设关系R(A, B)和S(B, C, D)情况如下: R有20000个元组,S有1 200个元组,一个块能装40
个R的元组,能装30个S的元组,估算下列操作需要多少次磁盘块读写。
(1) R上没有索引,sclect* from R;

	解:需要20000÷40 = 500次

(2) R中A为主码,A有3层B+树索引,select * from R whereA- 10; Hoto

解:块数:4(3个B+树,一个数据)

(3)嵌套循环连接RDAS;

解:S中本身有1200÷30 = 40块,需要的次数为:40 + 500 * (40 ÷ 内存分配的块数)

(4)排序合并连接RDAS,区分R与S在B属性上已经有序和无序两种情况。

解:有序的时候:(20000 ÷ 40) + (1200 ÷30) = 500 + 40 = 540 = T(有序)
	无序的时候:T(排序) + T(有序)

3.对学生课程数据库,查询信息系学生选修了的所有课程名称。中为代期I- 31053

select Cname
from Student, Course, sc
where Student Sno-SC.Sno and SC.Cno=Course.Cno and Student.Sdept = 'IS':

  • 试画出用关系代数表示的语法树,并用关系代数表达式优化算法对原始的语法树进行优化处理,画出优化后的标准语法树。
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

解:
(1):对teacher表进行扫描,查看元组性别为女的数据
(2):可以先通过索引找到Dno = 301的,然后顺着B+树的顺序集合来得到想要的数据即可。
(3):和(1)几乎一样,对表进行扫面,找到满足条件的
(4):先对year进行处理,找到之后判断salary是否满足条件
(5):对work表进行扫描,看数据是否满足条件。

5.对于题4中的数据库模式,有如下的查询:

seleet Tname
from teacher, department, work
where teacher.tno = work tno and department.dno = work.dno and
department. dname = '计算机系' and salary> 5000 
  • 画出语法树以及用关系代数表示的语法树,并对关系代数语法树进行优化,画出优化后的语法树。
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值