这两个数据库的问题,谁能帮我解答下?大家好,我是刚加入CSDN大家园的,是朋友介绍我过来的,我这里有两道题目难住了我,请问有高手能帮我解决下吗?多谢了1. 思考这个SQL 查询:
SELECT Fname, Lname, Address
FROM EMPLOYEE, DEPARTMENT
WHERE Dname=‘Research’ AND Dnumber=Dno其中,检索出在“Research”部门工作的所有员工的姓名与地址
假设该 EMPLOYEE 的关系是:
EMPLOYEE (Fname:string, Lname:string, Ssn:string, Bdate:date, Address:string,
Sex:char, Salary:real, Super ssn:string, Dno:integer)其中每个字段的大小如下:
Fname 20 bytes
Lname 20 bytes
Ssn 10 bytes
Bdate 8 bytes
Address 40 bytes
Sex 1 byte
Salary 4 bytes
Super ssn 10 bytes
Dno 1 byte
所以这记录的总大小合计为(114 bytes),这DEPARTMENT的关系是:
DEPARTMENT (Dname:string, Dnumber:string, Mgr ssn:string, Mgr start date:date)其中每个字段的大小如下:
Dname 20 bytes
Dnumber 1 byte
Mgr ssn 10 bytes
Mgr start date 8 bytes
所以这DEPARTMENT表中每个记录大小为39 bytes。(a) 给这个查询画出一个初始查询树,并且要逐步显示每步查询及注释,以致达到查询树的算法优化
(b) 假设该EMPLOYEE的关系中有150个记录,并DEPARTMEN关系中有8个记录,在part(a)的基础上去比较初始查询树与最终查询树的区别(这些字节数目必须是被传输的)2. 思考一下四个时间表 S1, S2, S3, and S4:
S1 : r1(X), r2(Z),w1(X), r3(X), c1,w2(Z), r2(Y ),w3(X),w2(Y ), r3(Y ), c2,w3(Y ), c3;
S2 : r1(X), r2(Z), r2(Y ),w1(X), r3(X), c1,w2(Y ),w3(X), c3, r2(X),w2(Z),w2(X), c2;
S3 : r1(X), r2(Z),w1(X), r3(X),w2(Z), r2(Y ),w3(X),w2(Y ), r3(Y ),w3(Y );
S4 : r1(X), r2(Z), r2(Y ),w1(X), r3(X),w2(Y ),w3(X), r2(X),w2(Z),w2(X);
(a) 对时间表S3和S4用基本时间戳(timestamp)算法进行排序。判断这种算法是否允许这些时间表的执行,如果其中有级联回滚段的出现也可以讨论下情况。
提示:每个操作需要一个时间单位,并且每个传输的时间戳就是连接它的第一个操作的时间。(假如在时间表S2中的T1,T2,T3的时间戳分别为:1,2,5)(b) 对时间表S1和S2使用严格的时间戳算法排序。判断这种算法是否允许这些时间表的执行,指出其中的锁定项并且如果有级联回滚段的话加以讨论。此外,每完成一个时间表,显示出它被严格时间戳算法执行过。
(c) 对时间表S3和S4使用基于时间戳上的混合版本技术进行算法排序。判断这种算法是否允许这些时间表的执行。对于任何数据项,显示出它们关联的时间戳的版本。

解决方案 »

  1.   

    EMPLOYEE 这个表扫描没谓语,输出Fname ,Lname ,Address ,Dno 
    DEPARTMENT 这个表扫描谓语是Dname=‘Research’,输出Dnumber剩下的看不懂,等高手解答。
      

  2.   


    第一道题的问题就是这两个:(a) 给这个查询画出一个初始查询树,并且要逐步显示每步查询及注释,以致达到查询树的算法优化
    (b) 假设该EMPLOYEE的关系中有150个记录,并DEPARTMEN关系中有8个记录,在part(a)的基础上去比较初始查询树与最终查询树的区别(这些字节数目必须是被传输的)上面那个查询语句只是题目给出来的,不完成,是要根据前面拿东西画出一个查询树,我搞不出啊!!急死了
      

  3.   


    没听说过?不可能吧,就是B-tree那种啊,我的题目要求就是上面的问贴中啊,应该很清楚了吧难道大家是看不懂我的题目吗??!