数据库系统概论----关系运算之除运算

原文链接:https://blog.csdn.net/neildemo/article/details/50081895

 

 

这一周都在复习《数据库系统概论》这门课,看到关系运算的这一节时,对于除运算不是很理解。
通过百度,我觉得也没有得到比较容易理解的讲解。
这里呢,我就分享一下我的理解吧,如有差错的地方,还希望看到这篇博客的各位给予指导。

首先呢,我把除运算的定义给摘录了下来:
设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中。

刚看到这个定义,说实话一头雾水,也许是我理解能力比较差.

 

所以结合着例子,对于定义进行理解吧:
首先呢给出关系R和关系S

数据库系统概论----关系运算之除运算
1、定义中说,T包含所有在R但不在S中的属性,所以呢 R 所包含的属性有{A,B,C},S中所包含的属性有{B,C,D},显而易见,关系T中应该只包含
 一个属性---A;
2、及其值,只考虑关系R中A属性的值{a1,a2,a3,a4},关系T属性A的元素应该是{a1,a2,a3,a4}的子集;
3、且T的元组与S的元组的所有组合都在R中,很明显,S中的需要考虑的只是属性B和属性C,所以

数据库系统概论----关系运算之除运算

所以符合定义要求的值只有a1了。

从而得出:

数据库系统概论----关系运算之除运算