关系型数据库之双目运算--除运算

2021/9/3 19:07:44

本文主要是介绍关系型数据库之双目运算--除运算,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

看书真的是看的我头都打了,看了半个小时才弄明白,总结一下,希望可以帮助到需要的人

关于除运算的定义如下:(书上的话晦涩难懂,反正我最后还是没看懂)

除运算是一种非传统的集合运算,是广义笛卡儿积的逆运算。设有两个关系R和关系S,其元数分别为n和m(n>m>0),则R和S进行除法的结果记为P=R÷S,其中P是一个元组数最大为n-m(有重复需去掉重复项)的关系且满足以下性质:P中的每个元组u与R中每个元组v所组成的元组(u,v)不在关系S中。

下面我用我自己的理解的意思说下大白话,如有不对的地方,请各位指正

除运算是二目运算,我理解的是二目运算就要有两个集合,也就是两个表

下面说下除运算的具体计算方法

首先,两个关系

  

 R÷S  计算步骤

  1. 找到R和S的共同列,即  B,C
  2. 找到R中有S中没有的列,这些列就是结果列   即  A
  3. 这里就用到了第一步的结果,找出S中--R与S的共同列的数据组合,即(B,C)的组合(书上叫做投影),{(b1,c2),(b2,c1),(b2,c3)}
  4. 找出R中A列中的数据对应的R中的(B,C)组合(书上叫象集),即

    a1:{(b1,c2),(b2,c3),(b2,c1)}

    a2:{(b3,c7), (b2,c3)}

    a3:{(b4,c6)}

    a4:{(b6,c6}

  5. 现在就看R中A列哪个属性值对应的(B,C)组合集,包含了,S中的(B,C)组合集。

  6. 很明显只有a1,所以 R÷S结果就是

你们都看懂了吗?我是否讲清楚了,这就是我的理解方式,如果能帮到你,我很开心,如果没看懂,那说明还是我教的不好,很抱歉。 



这篇关于关系型数据库之双目运算--除运算的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程