0

答えではなく、ガイドラインを望んでいます。

左外部結合はリレーショナル計算でどのように記述されますか?

これが私が代数表記で書いたステートメントです:

Doctor (⟕) Doctor.Doc_id = Duty.Doc_id Duty

(左外部結合記号)

そして、これが私が書いた微積分表記です:

{S|∃ D ∈ Doctor (∃ C ∈ Duty (D.Doc_id = C.Doc_id ^
 S.Doc_id = D.Doc_id ^
 S.Doc_fName = D.Doc_fName ^
 S.Doc_lName = D.Doc_lName ^
 S.Position = D.Position ^
 S.Qualification = D. Qualification ^
 S.YearsExperience = D.YearsExperience ^
 S.Dept_id = D.Dept_id ^
 S.Duty_id = D.Duty_id ^
 S.Staff_id = D.Staff_id ^
 S.Date = D.Date ^
 S.Duty_type = D.Duty_type ^
 S.Max_no = D.Max_no ^
 S.Given_no = D.Given_no ^
 S.Avaliable_no = D.Avaliable_no ^
 S.Current_no = D.Current_no ^
 S.Room_no = D.Room_no)}

外部結合とは、関係のすべてが表示されることを意味することを理解しています。しかし、それが表示される場所にそれを書く方法が他にわかりません。

私の微積分表記は正しかったですか?そうでない場合、私は何を間違えましたか?

4

1 に答える 1

1

これは、で始まる数式の SQL への変換です。

{S|∃ D ∈ Doctor (∃ C ∈ Duty (D.Doc_id = C.Doc_id ^ (etc..) ) ) }

SELECT * FROM S
    WHERE EXISTS (SELECT * FROM Doctor D
        WHERE EXISTS (SELECT * FROM Duty C
             WHERE (D.Doc_id = C.Doc_id)
             AND (etc...)));

答えはノーだと思います。これは左外部結合ではありません。

于 2014-05-03T20:29:34.840 に答える