您好,在我的考试修订中,我为关系代数选择了以下示例问题:
employee (+person_name, street, city)
works (+person_name, company_name, salary)
company (+company_name, city)
manages (+person_name, manager_name)
+ indicate the underlined primary keys
查找与经理居住在同一城市和同一条街道上的所有员工的姓名
MY solution JOIN manages and employee (OVER person_name) GIVING T1 JOIN manages and employee (OVER manager_name) GIVING T2 PROJECT T1 over person_name, street, city GIVING T3 PROJECT T2 over street, city GIVING T4 T3 intersect T4 GIVING T5 PROJECT T5 over person_name GIVING RESULT
这是我的解决方案,直到我发现交集必须是联合兼容的(匹配的列数及其标题)
从那以后,我真的找不到解决这个问题的方法,因为如果我对 line-3
PROJECT T1 over street, city GIVING T3进行以下更改,
那么我将永远没有机会将交叉点的结果链接回 person_name。
另一方面,当我对第 4 行进行以下更改时: PROJECT T2 over person_name, street, city GIVING T4
然后在交叉路口,我永远不会找到一个除了他自己之外还有其他经理的人。
我会很感激给出的任何提示,也许我拿起的这个在线样本很模棱两可。