寻找使用关系代数解决练习的一些帮助,表格模式如下:
学生(Ssn,姓名,专业,Bdate)
课程(课程编号,Cname,部门)
ENROLL(Ssn,课程#,季度,年级)
BOOK_ADOPTION(课程编号,季度,Book_isbn)
TEXT(Book_isbn,Book_title,Publisher,Author)
我想解决的问题是:
检索采用由其发布的教科书的部门的名称 仅限Addison-Wesley。
我无法弄清楚如何过滤结果,以便如果我的课程已经转换为Addison-Wesley不再出版的书籍。
我非常感谢所有的帮助!
答案 0 :(得分:0)
阅读查询时,我不清楚它是否涉及所有采用的书籍或本季度采用的书籍。
首先考虑的是,这是所有采用的书籍,下面是可能解决方案的草图:
找出关系R(Dept,Book_isbn),该关系列出了任何一个季度任何课程所采用的所有部门。
找出Addison-Wesley出版的所有书籍的关系S(Book_isbn)。
然后,使用单个代数运算符(?),可以得到结果。
在第二种情况下,在第1步中将列表限制为本季度采用的所有书籍。
答案 1 :(得分:0)
感谢Renzo的帮助,我找到了答案!
πTourse.Dept(Course) - (πTrourse.Dept(((σText.Publisher≠'Addison-Wesley'(Text))⨝Book_Adoption)⨝Course))
我用关系代数计算器测试了这个答案并给出了预期的结果!