数据库的除运算

这里记录一下我对数据库除运算的理解。
在《数据库系统概论第五版》的书中是这样定义的。
设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中。
在这里插入图片描述
这是一个使用比较广泛的例子。

根据这个例子我们应该怎么理解除运算呢?
首先R的属性有ABC,S的属性有BCD,所以包含着R中但却不在S中的属性就是A。
所以T的属性里面只有A这一项属性。

其次T的元组与S的元组的所有组合都在R中,这句话的意思就是T和S的所有组合都必须在R中。
在这个实际例子中就是 R 必须包含a1,b1,c2 a1,b2,c1 a1,b2,c3这三个属性才能说是被除数。
因此除运算也经常被用来求如同“检索至少选修了李老师所有课程的学生名字”这样的问题,这个所有课程,我们就是S。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章