在我开始之前。在做我的工作之前,我已经阅读了很多这方面的内容,但我无法找到答案。我只是希望公会线,而不是答案。 这是我已经提交的作业。但是知道我的讲师在考试之前不会出现这种情况,并且出于好奇......
如何在关系演算中写入左外连接? 这是我在SQL中写的语句
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)}
...我理解外部联接意味着关系中的所有内容都会显示出来..但我不知道如何将其写入显示的地方..
我的问题是,我的微积分表示法是对的吗?如果没有,我做错了什么?
谢谢:)
答案 0 :(得分: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...)));
所以我猜答案是否定的,这不是左外连接。