看书真的是看的我头都打了,看了半个小时才弄明白,总结一下,希望可以帮助到需要的人
关于除运算的定义如下:(书上的话晦涩难懂,反正我最后还是没看懂)
除运算是一种非传统的集合运算,是广义笛卡儿积的逆运算。设有两个关系R和关系S,其元数分别为n和m(n>m>0),则R和S进行除法的结果记为P=R÷S,其中P是一个元组数最大为n-m(有重复需去掉重复项)的关系且满足以下性质:P中的每个元组u与R中每个元组v所组成的元组(u,v)不在关系S中。
下面我用我自己的理解的意思说下大白话,如有不对的地方,请各位指正
除运算是二目运算,我理解的是二目运算就要有两个集合,也就是两个表
下面说下除运算的具体计算方法
首先,两个关系
R÷S 计算步骤
- 找到R和S的共同列,即 B,C
- 找到R中有S中没有的列,这些列就是结果列 即 A
- 这里就用到了第一步的结果,找出S中--R与S的共同列的数据组合,即(B,C)的组合(书上叫做投影),{(b1,c2),(b2,c1),(b2,c3)}
- 找出R中A列中的数据对应的R中的(B,C)组合(书上叫象集),即
a1:{(b1,c2),(b2,c3),(b2,c1)}
a2:{(b3,c7), (b2,c3)}
a3:{(b4,c6)}
a4:{(b6,c6}
-
现在就看R中A列哪个属性值对应的(B,C)组合集,包含了,S中的(B,C)组合集。
-
很明显只有a1,所以 R÷S结果就是
你们都看懂了吗?我是否讲清楚了,这就是我的理解方式,如果能帮到你,我很开心,如果没看懂,那说明还是我教的不好,很抱歉。