笛卡尔积、等值连接、自然连接三者有什么区别

笛卡尔积、等值连接、自然连接三者有什么区别,第1张

自然连接一定是等值连接,但等值连接不一定是自然连接。

等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。

内连接分:等值连接 不等值连接 自然连接

外连接分:左外连接 右外连接

交叉连接: cross join 笛卡尔

笛卡尔积:

在数学中,两个集合X和Y的笛卡儿积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。

假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。

等值连接:是关系运算-连接运算的一种常用的连接方式。是条件连接(或称θ连接)在连接运算符为“=”号时(即θ=0时)的一个特例。

自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。而等值连接并不去掉重复的属性列。

区别:

笛卡尔积对两个关系 R 和 S 进行 *** 作,产生的关系中元组个数为两个关系中元组个 数之积。等值联接则是在笛卡尔积的结果上再进行选择 *** 作,挑选关系第 i 个分量与第(r+j) 个分量值相等的元组;自然连接则是在等值联接(以公共属性值相等为条件)的基础上再行投 影 *** 作,去掉 S 中的公共属性列,当两个关系没有公共属性时,自然连接就转化成笛卡尔 积。

1、自然连接一定是等值连接,但等值连接不一定是自然连接。

2、等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。

3、等值连接不把重复的属性除去;而自然连接要把重复的属性除去。

笛卡尔积:

在数学中,两个集合X和Y的笛卡儿积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。

假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。

等值连接:

等值连接是关系运算-连接运算的一种常用的连接方式。是条件连接(或称θ连接)在连接运算符为“=”号时(即θ=0时)的一个特例。

自然连接:

自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。而等值连接并不去掉重复的属性列。

1.假如R表有(A,B,C)三个栏位 5条记录 ,S表有(A, B,C) 三个栏位3条记录,则

笛卡尔积 R X S 是将两个结果集笔数相乘,栏位照搬得做法

R表S表

A B C B C D

a bc b g a

d af d a f

cb d

则 笛卡尔积 R X S 为

R.A R.B R.C S.A S.B S.C

a b c b g a

a b c d a f

d a fb g a

d a fd a f

c b db g a

c b dd a f

2. 除,是将集合 R 中与 集合 S 相同栏位数据一样的结果集选出来,但只显示 R 中 不存在 S 中的栏位,如

R S 除的结果

A B CDCDAB

abcdcd ab

abe fef e d

abde

bce f

e d c d

e def

3. 自然连接,一般用在有公共栏位的情况下,否则就是笛卡尔积;它的结果中会消除重复的栏位,并且公共栏位值不相等的记录不会出现,如

RS 自然连接结果

A B CB C DA B C D

a b c b c d ab c d

d b e b c e ab c e

b b f a d b db c d

c a dd b c e

c a d b

4.连接又分θ 连接和 F连接,这个我也不太明白

敲了这么多字,累死我了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9887056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存