优化中的算法描述:根据排序——合并算法描述下列查询操作的实现。

Select a.cust_id,b.tot_amt,b.order_date,a.tel_no

From customer a ,sales b

Where a.cust_id=b.cust_id

1.对a表和b表按照连接属性cust_id进行排序

2.取customer表的第一个cust_id,依次扫描sales中具有相同cust_id的元组,将他们连接起来

3.直到扫描到第一个cust_id不相同时,返回student表继续扫描下一个cust_id,接着扫描sales表中的每一个cust_id,相同cust_id连接起来

4.重复过程,直到customer表扫描结束

给定图书管理数据库,包括如下三个表。

图书表Book:书号(Bno  Char(20)) ,书名(Bname  Char(30)),作者(Bauthor  Char(15)),出版社(Bpublisher  Char(15)),其中Bno为主码。

学生表Student:借书证号(Lno,Char(12)),学号(Sno  Char(10)) ,姓名(Sname  Char(8)),所在系(Sd  Char(15)),其中借书证号为主码。

借阅表L:书号(Bno  Char(20)),借书证号(Lno,Char(12)),借阅日期(Ldate Date),主码为(Bno,Lno)。

查询借阅图书名为“数据库”的学号、姓名和借阅日期,请完成以下题目。

1、写出上述查询要求的SQL语句(3分)

2、写出上述查询要求的关系代数表达式(3分)

3、画出用关系代数表示的语法树(2分)

4、画出优化后的标准语法树(2分)

1.select Sno,Sname,Ldate from Student,L,Book where Student.Lno=L.Lno and L.Bno=Book.Bno and Bname="数据库"

2.Πsno,sname,ldate(σbname=’数据库’ (student∞l∞book))

3.

期末复习之查询优化

4.

期末复习之查询优化

优化中的算法描述:根据嵌套循环算法描述下列查询操作的实现。

Select a.cust_id,b.tot_amt,b.order_date,a.tel_no

From customer a ,sales b

    Where a.cust_id=b.cust_id

1.对外层循环customer中的每一个元组c,检索内层循环sales的每一个元组s

2.检查这两个元组在连接属性cust_id上是否相同

3.如果相同满足连接条件,将连个元组串联后输出

4.直到外层循环的元组全部输出

 

 

 

相关文章:

  • 2021-06-23
  • 2021-12-05
  • 2022-12-23
  • 2021-12-18
  • 2022-12-23
  • 2022-12-23
  • 2021-08-13
猜你喜欢
  • 2021-12-08
  • 2021-05-17
  • 2021-11-18
  • 2021-07-09
  • 2021-11-27
  • 2021-11-28
  • 2021-05-17
相关资源
相似解决方案