首页 > 试题广场 >

考虑下面的关系模式和SQL查询。模式包含了有关雇员、部门和公

[问答题]
考虑下面的关系模式和SQL查询。模式包含了有关雇员、部门和公司财务(按部门组织)的一些信息
Emp (eid, integer, did integer, sal; integer, hobby char(20))
Dept(did, integer, dname char(20), floor: integer, phone char(10))
Finance(did: integer, budget: real, sales: real, expenses, reaD)
考虑下面的查询:
ELECT D dname, F budget
FROM Emp E, Dept D. Finance F
WHERE E did D, did AND D did a F did AND D, floor=I
AND E. sal >=59000 AND E, hobby =yodeling
(1)确定关系代数树(或者关系代数表达式),反映出正统的查询优化器会选择的操作顺序。
(2)列出关系查询优化器会考虑的连接顺序(即计算查询结果的关系连接顺序)(假设优化器遵循避免执行叉积操作的启发式规则。)简要解释一下原因
(3)假设有下面的一些信息。在Emp.did、Emp.sal、Dept. floor、Dept.did和Finance..did上存在非聚簇的B+树索引。系统的统计数据表明雇员的工资范围为10000~60000,雇员共有200项不同的嗜好,并且公司在整个建筑中占用2层。公司总共有50000个雇员,5000个部门(每个部门在数据库中有独立的财务信息)。公司使用的DBMS只采用一种连接方法,即索引循环嵌套连接算法
(a)如果在连接操作之前,应用所有的非连接操作,那么对查询的每个基本关系( Emp, Dept和 Finance),估算初步选择的元组数目
(b)根据你对上题的回答,在优化器所考虑的连接次序中哪一个的开销最小?

这道题你会答吗?花几分钟告诉大家答案吧!