我正在为关系代数查询进行考试修订,其中一个示例问题与示例问题答案相比,我有完全不同的方法。如果有人可以给我一个提示,我将非常感激他们是否都有效?如果不是我的方法有什么问题,谢谢。
来自以下实体:
部门(*部门名称、员工人数、地点)
部门员工(*部门名称,*员工编号)
STAFF(*员工编号、员工姓名、薪级、薪水)
我被要求: 找出在外汇和保险部门工作的员工的姓名。
我的做法:
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