こんにちは、私の試験の改訂のために、関係代数の次のサンプル問題を取り上げました。
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
交差点がユニオン互換でなければならないことがわかるまで、これが私の解決策でした(一致する列の数とその見出し)
それ以来、この問題の解決策を実際に見つけることができませんでした。なぜなら、次の変更を行 3 の
プロジェクト T1 に通り、都市 GIVING T3を介し
て行うと、交差点の結果を person_name にリンクする機会がなくなるからです。
一方、行 4 に次の変更を加えた場合: PROJECT T2 over person_name, street, city GIVING T4
その後、交差点で、自分以外にマネージャーがいる人を見つけることはありません。
ヒントをいただければ幸いです。おそらく、私が拾ったこのオンライン サンプルは非常にあいまいです。