可以用容易理解的方式讲一下数据库关系运算里面的笛卡尔积,除,连接和自然连接吗?书上的看不懂!

问题描述:

可以用容易理解的方式讲一下数据库关系运算里面的笛卡尔积,除,连接和自然连接吗?书上的看不懂!
1个回答 分类:物理 2014-11-02

问题解答:

我来补答
1.假如R表有(A,B,C)三个栏位 5条记录 ,S表有(A, B,C) 三个栏位3条记录,则
笛卡尔积 R X S 是将两个结果集笔数相乘,栏位照搬得做法
R表 S表
A B C B C D
a b c b g a
d a f d a f
c b 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 f b g a
d a f d a f
c b d b g a
c b d d a f
2. 除,是将集合 R 中与 集合 S 相同栏位数据一样的结果集选出来,但只显示 R 中 不存在 S 中的栏位,如
R S 除的结果
A B C D C D A B
a b c d c d a b
a b e f e f e d
a b d e
b c e f
e d c d
e d e f
3. 自然连接,一般用在有公共栏位的情况下,否则就是笛卡尔积;它的结果中会消除重复的栏位,并且公共栏位值不相等的记录不会出现,如
R S 自然连接结果
A B C B C D A B C D
a b c b c d a b c d
d b e b c e a b c e
b b f a d b d b c d
c a d d b c e
c a d b
4.连接又分θ 连接和 F连接,这个我也不太明白
敲了这么多字,累死我了.
再问: 第一个里面集笔数相加是什么意思?R表里面是不是只有四个记录啊?第二个除的结果,为什么第三个不是a,b呢,还有后四个栏位不显示是因为S只有3个栏位,所以只要前三个除就行了? 还有我是不是把栏位的概念理解错了啊??? 好多问题啊 麻烦啦 可以多给你点分
再答: 第一个R表里只有3条记录,ABC是栏位名,笛卡尔积是两个结果集的数据笔数相乘,R有3条S有2条结果就是6条 第二个除的时候S里面的栏位必须都得在R中出现,也就是R全包含S的栏位,R中如果全部都包含S的记录则选出来,但只显示 R 减 S 后的栏位 栏位就是属性
 
 
展开全文阅读
剩余:2000