关系代数运算:赋值和分级

时间:2015-02-01 01:11:56

标签: sql database relational-database relational-algebra

假设我在赋值表中分配了4个赋值:A1,A2,A3,A4和下表:

GroupID GraderName assigmentID
  1         TA1        A1
  2         TA2        A2
  3         TA1        A4
  4         TA1        A3
  5         TA1        A1
  6         TA2        A4
  7         TA3        A3
  8         TA3        A2
  9         TA3        A1
  10        TA2        A1
  11        TA1        A2

报告每个作业至少标记一个组的评分者姓名。 从我的表中,它应该报告TA1。 TA2没有标记任何A3,TA3没有标记任何A4因此忽略它们。 有人可以建议使用关系代数运算符的方法,如交叉连接,自然连接,自连接等....

1 个答案:

答案 0 :(得分:0)

从关系代数的角度来看,我建议先找到所有作业:π_assignmentID(assignment)。然后,要回答您的问题,您应该使用除法÷,即查询应该是

π_{GraderName,assignmentID}(assignment) ÷ π_assignmentID(assignment)

如果由于某种原因你不喜欢使用除法,你总是可以用重复的差异代替。