数据库的重新学习进行到了关系代数中的除运算(图片来自数据库系统概论第五版 王珊,萨师煊)
在书上和网上反复看了几次终于大概理解了除法的概念。
首先看定义,设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中。
在图中R中为ABC,S中为BCD,BC都在S中,故结果集必为A的子集。
然后在A的子集中看,a1的象集为{(b1,c2),(b2,c3),(b2,c1)}
a2的象集为{(b3,c7),(b2,c3)}
a3的象集为{(b4,c6)}
a4的象集为{(b6,c6)}
故只有a1符合条件,a2中并不是所有子集都在R中。