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

这一周都在复习《数据库系统概论》这门课,看到关系运算的这一节时,对于除运算不是很理解。

通过百度,我觉得也没有得到比较容易理解的讲解。

这里呢,我就分享一下我的理解吧,如有差错的地方,还希望看到这篇博客的各位给予指导。


首先呢,我把除运算的定义给摘录了下来:

设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中。


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


所以结合着例子,对于定义进行理解吧:

首先呢给出关系R和关系S

数据库系统概论----关系运算之除运算_第1张图片

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,所以

数据库系统概论----关系运算之除运算_第2张图片

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

从而得出:

数据库系统概论----关系运算之除运算_第3张图片











你可能感兴趣的:(数据库)