我正在学习计算机科学,并且正在研究数据库系统。我在抓取某些部分时遇到困难。关系代数联合,联接和相交
说我有如下关系:
Lecturers(LecturerID, Name, DeptID)
Course(DeptID, CrsCode, CrsName, Description)
我注意到,他们都有着共同的属性,DEPTID,因此他们是联盟兼容。
我该如何列出属于计算机科学系(CS)或电子工程系(eEng)的讲师授课的所有课程?
我的答案是使用与选择相交。以下内容是否正确或接近商标?
πDeptID,CrsName(Course) intersection πDeptID,Name(σDeptID = CS or DeptID = eEng(Lecturers))
我确信连接可以在这里使用,但我不确定如何使用它的谓词。
感谢您的帮助。一旦我明白在几种情况下使用什么,我相信其余的会更容易。
感谢您的任何帮助。
当然,表达式可以用来执行其他表达式的动作。感谢SQL,但我不知道如何在关系代数中表达。 – Lee 2011-05-24 11:28:28
我会将此标记为答案。我不知道同一个功能有很多不同的名字。内部连接是我被教导为自然连接。我只需要解决如何使用rel来表达这个问题。代数,我想我已经破解它: 'σLecturers.DeptID= CS或Lecturers.DeptID = eEng(πDeptID,CrsName(Course))x(πDeptID,Name(Lecturers))' – Lee 2011-05-24 12:21:42