0

我有一个看起来像这样的模式:学生(sid,姓名,年龄,部门)课程(cid,姓名)注册(sid,cid,学期,年级)

使用关系微积分,找出参加所有课程的学生的姓名。我现在的样子是这样的:

{t | ∃ s ∈ Student (t.name = s.name ^ ∃ e ∈ Enrollment(s.sid = e.sid ^ ∀ c ∈ C (c.cid = e.cid))) }

有人可以告诉我这是否正确。

4

1 回答 1

0

您的查询不正确或格式不正确。逻辑合取的范围不超过量词(即你不能写 ^ ∀),即使是这样,你的表达式也会尝试在单个学生的单个注册中查找所有课程 ID。

正确答案可以用英语表述:找到所有学生,其中不存在该学生没有注册的课程。

于 2015-10-18T09:24:51.697 回答