关系代数表达式

问题描述 投票:0回答:1

我有三个关系

Course(courseNum, units, time, room)
Student(ID, name, degree)
Takes(ID, courseNum)

我需要一个关系代数表达式,它显示没有研究生的信息列表(= courseNum,单位,时间,房间)。

我不明白的是,我如何使用关系代数来找到指示this course does not have grad students的关系?

database relational-algebra
1个回答
1
投票

如何使用关系代数找到表明该课程没有研究生的关系?

R MINUS S保存在R中但不在S中的行。

因此,如果R具有属性r1,...包含从一些(特征)谓词(句子模板)r生成真正命题(语句)的元组r由r1,...和S参数化的属性r1,...保持元组,从r1的某些谓词中提出一个真正的命题,然后R MINUS S持有从谓词rAND NOTs提出真正命题的元组。

类似地,JOIN对应于ANDUNIONORPROJECTattributes keptEXISTSattributes droppedRESTRICTconditionANDcondition等。这就是我们如何知道如何构建特定查询 - 我们使用关系运算符返回我们想要的基元/命名关系的元组保持(通过更新)满足其谓词的元组(根据设计)。

(为了使用MINUSUNION,我们有时必须重新排列谓词表达式以获得具有相同属性的参数表达式。我们已经得到任何NOTs出现在AND NOT。通常这是通过应用De Morgan的定律和分配律来完成的.Find the names of students who are not enrolled in any course - Students, Faculty, Courses, Offerings, Enrolled

Relational algebra for banking scenario Forming a relational algebra query from an English description Is there any rule of thumb to construct SQL query from a human-readable description?

© www.soinside.com 2019 - 2024. All rights reserved.