分享

​数据库|传统的集合运算

 算法与编程之美 2020-08-08

传统的集合运算是二目运算,包括交、并、差、广义笛卡尔积四种运算,如下图所示:

1) 并(union)

关系R和关系5具有相同的目n(即两个关系都有n个属性),且相应的属性取自同一个域,则关系R与关系S的并由属于R或属于S的元组组成,其结果关系仍为n目关系。

记作:

R ∪ S = { t | t ∈R ∨ t ∈s }

2)差(difference)

设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系s的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。

记作:

3)交(intersection)

设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系的交由既属于R又属于S的元组组成,其结果关系仍为n目关系。

记作

R ∩ S= { t | t ∈ R ∨ t ∈ S }

4.广义笛卡尔积(extended cartesian product)

两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合,元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1*k2个元组。

记作:

R ∩ S= { t | t ∈ R ∧ t ∈ S }

传统的集合运算不光会出现在高中的数学课本中,也会出现在数据库的学习中。数据库其实是一个二维的表,就相当于是一个数学的集合。有的时候需要两个表进行运算,比如,找到两个表中相同的部分,这个的运算机制就是传统的集合运算中的“交”。有的时候需要表本身进行计算,比如,只需要显示表中某一列的数值,这个就是关系的专门运算“投影”。所以传统的数学集合的关系运算与数据库专有的关系运算密切相关。我们要先弄明白集合的运算才能更好的学习关系运算。

END

主  编   |   张祯悦

责  编   |   杨金月

 where2go 团队


微信号:算法与编程之美          

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多