【问题标题】:Relational calculus databases关系微积分数据库
【发布时间】:2015-10-14 23:27:34
【问题描述】:

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

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

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

谁能告诉我这是否正确。

【问题讨论】:

    标签: relational-database relational tuple-relational-calculus


    【解决方案1】:

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

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

    【讨论】:

    • "you can't write ^ ∀" 没有明显的语法问题,语法似乎有wff ^ wff a wff & ∀ tuple ∈ base (wff) a wff。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-14
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 2021-03-30
    • 2019-12-03
    相关资源
    最近更新 更多