关系代数查询

时间:2013-01-15 15:32:53

标签: relational-database relational-algebra

我正在进行关系代数查询的考试修订,其中一个示例问题我与示例问题答案相比有不同的方法。如果有人能给我一个小费是否有效,我真的很感激?如果不是我的方法有什么问题,谢谢。

来自以下实体:

部门(*部门名称,员工人数,地点)

部门 - 工作人员(*部门名称,*工作人员 - 否)

工作人员(*员工编号,员工姓名,工资等级,薪水)

我被要求: 查找在FOREIGN EXCHANGE和INSURANCE部门工作的员工的姓名。

我的方法:

    RESTRICT Department-Staff WHERE dept-name = 'Foreign Exchange' GIVING T1

     RESTRICT Department-Staff WHERE dept-name = 'Insurance' GIVING T2

        T1 intersect T2 giving T3

         JOIN T3 and Staff (OVER Staff-no) giving T4

           PROJECT T4 over Staff-name giving RESULT

同时在示例问题回答中:

RESTRICT DEPARTMENT-STAFF where DEPT-NAME = 'FOREIGN EXCHANGE' giving T1

RESTRICT DEPARTMENT-STAFF where DEPT-NAME = 'INSURANCE' giving T2

JOIN T1 and STAFF (over STAFF-NO) giving T3 

JOIN T2 and STAFF (over STAFF-NO) giving T4

T3 INTERSECT T4 GIVING T5

PROJECT T5 over STAFF-NAME GIVING RESULT

1 个答案:

答案 0 :(得分:0)

您的T1 INTERSECT T2给T3错了。那个十字路口怎么可能包含任何东西?

模型答案是错误的,出于同样的原因,顺便说一句,它在T3 INTERSECT T4 GIVING T5的地方。