可以用容易理解的方式讲一下数据库关系运算里面的笛卡尔积,除,连接和自然连接吗?书上的看不懂!
问题描述:
可以用容易理解的方式讲一下数据库关系运算里面的笛卡尔积,除,连接和自然连接吗?书上的看不懂!
答
1.假如R表有(A,B,C)三个栏位 5条记录 ,S表有(A, B,C) 三个栏位3条记录,则
笛卡尔积 R X S 是将两个结果集笔数相乘,栏位照搬得做法
R表S表
A B CB C D
a bc b g a
d af da f
cb d
则 笛卡尔积 R X S 为
R.AR.BR.C S.AS.B S.C
abc b g a
abc d a f
dafb ga
dafd a f
c b db ga
c b dd af
2. 除,是将集合 R 中与 集合 S 相同栏位数据一样的结果集选出来,但只显示 R 中 不存在 S 中的栏位,如
R S 除的结果
A B CDCDAB
abcdcd ab
abe fefe d
abde
bce f
e d c d
e def
3. 自然连接,一般用在有公共栏位的情况下,否则就是笛卡尔积;它的结果中会消除重复的栏位,并且公共栏位值不相等的记录不会出现,如
RS自然连接结果
A B CBCDA BC D
a b cbc d ab c d
d b ebc e ab c e
b b f ad b db c d
c a dd b c e
c a d b
4.连接又分θ 连接和 F连接,这个我也不太明白
敲了这么多字,累死我了.第一个R表里只有3条记录,ABC是栏位名,笛卡尔积是两个结果集的数据笔数相乘,R有3条S有2条结果就是6条第二个除的时候S里面的栏位必须都得在R中出现,也就是R全包含S的栏位,R中如果全部都包含S的记录则选出来,但只显示 R 减 S 后的栏位栏位就是属性