关系演算数据库

时间:2015-10-14 23:27:34

标签: relational-database relational calculus

我有一个如下所示的架构: 学生(sid,姓名,年龄,部门) 课程(cid,名字) 入学(sid,cid,学期,年级)

使用关系演算,找到参加所有课程的学生的姓名。 我现在看起来像这样:

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

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

1 个答案:

答案 0 :(得分:0)

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

正确的答案可以用英语说明:找到所有没有学生没有注册的课程的学生。