数据库连接与笛卡尔乘积

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qwerty_4/article/details/82391144

一、笛卡尔乘积与数据库连接(join)

数据库连接是从两个关系的笛卡尔乘积中选取属性间满足一定条件的元组。


现有两个关系R、S:
关系R:
关系R
关系S:
关系S
关系R与S的笛卡尔乘积为:
笛卡尔乘积
在连接中有两种非常重要的连接:等值连接与自然连接。
等值连接:(条件R.B = S.B)
这里写图片描述
当然也可以有非等值连接(比如R.C < S.E)
自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是同名的属性值,并且在结果中把重复的属性列去掉。
自然连接:
自然连接


在自然连接时候,关系R中的某些元祖有可能在S中不存在公共属性值相等的元祖,从而造成R中的这些元祖丢失了,同样,S中有些元祖也可能被舍弃。这些舍弃的元祖被称为悬浮元祖。
如果把悬浮元祖也保留在结果关系中,而在其他属性上填空值(null),那么这种连接称为外连接;只保留左边关系R中的悬浮元祖称为左外连接;只保留右边关系的悬浮元祖称为右外连接
外连接:
外连接
左外连接:
左外连接
右外连接
右外连接

猜你喜欢

转载自blog.csdn.net/qwerty_4/article/details/82391144
今日推荐