数据处理中数据库的几个基本运算

举报
码乐 发表于 2024/04/24 08:46:06 2024/04/24
【摘要】 1 数据库五种运算五种基本的关系代数运算,并(符号为V)、差(符号为^)、投影()、笛卡尔积、选择,补充关系代数运算有,交、连接、除、广义投影、外连接。笛卡尔积 ,从数学角度理解,就是将集合A和集合B中所有有序对元素集合 2 数据库中选择,投影,连接,除法运算选择运算: 查询 是数据库选择关系中 行的子集,即选择满足条件的元组投影:是选取关系中列的子集,设模式R的关系r,X是R上属性的子集...

1 数据库五种运算

五种基本的关系代数运算,

并(符号为V)、差(符号为^)、投影()、笛卡尔积、选择,

补充关系代数运算有,交、连接、除、广义投影、外连接。

笛卡尔积 ,从数学角度理解,就是将集合A和集合B中所有有序对元素集合

2 数据库中选择,投影,连接,除法运算

选择运算: 查询

	是数据库选择关系中 行的子集,即选择满足条件的元组

投影:是选取关系中列的子集,设模式R的关系r,X是R上属性的子集 x就是列,r到X上的投影r’ 表示

    r'(X) = ...

投影操作是从列的角度做 行的运算。

投影的结果不是原有的关系,是X中几列的属性。

由于投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列之后,就可能出现重复行,投影结果不应该包括重复行。

连接 Join 自然连接,等值连接

定义:连接也称之为 0连接,它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。
  • 等值连接

           θ为 = 符号的连接运算称为等值连接。
           它是从关系R与S的广义笛卡尔积中选取A , B 属性值相等的那些元组。
    
  • 自然连接

           自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是同名属性组,并且在结果中把重复的属性列去掉。
    
           等值连接和自然连接的区别是,自然连接是去除了重复的属性列的。
    
  • 除法运算 division

           设关系R除以关系S的结果为关系T,则T包含全部在R但不在S的属性和值,且T的元组与S的元组的全部组合都在R中。
    

除法的结果可以用计算象集的方法解决,以一道题为例说明如何求除法。

2.1 除法步骤

1 因为R÷S所得到的属性值 是包含于R,但是S不包含的属性, 所以R➗S得到的属性列有(A,B),S在(C,D)属性上的投影为{(c1,d1),(c2,d2)}

2 关系R中,AB属性可以取值为={(a1,b1),(a2,b2),(a3,b3)}

3 求象集

    (a1,b1)={(c1,d1),(c2,d2),(c3,d3)}
    (a2,b2)={(c2,d2)}
    (a3,b3)={(c1,d1),(c2,d2)}

4 : 从第三步中可以发现,有象集(a1,b1)和(a3,b3)包含了S在(C,D)属性上的投影,所以R÷S={(a1,b1),(a3,b3)}

2.2 示例: 投影和除的例子

投影运算的含义简单点就是:从表中选择需要的属性列。

列是属性,行是元组…

而且作投影之后可能会出现重复项,比如:

 A B C  
a1 b1 c1  
a1 b2 c2  
a2 b2 c3  

作A的投影就是a1, a2; 减少了一行
设R表为:

		R:
	A  B   C
	a1   b1   c2
	a2   b3   c7
	a3   b4   c6
	a1   b2   c3
	a4   b6   c6
	a2   b2   c3
	a1   b2   c1

设S表为:

	    S
	B    C     D
	b1   c2    d1
	b2   c1    d1
	b2   c3    d2

那么 R ➗ S

A
a1

(1) 找S与R的共同属性,其元组看做整体 k
(2)选择R中包含k的 非S与R相同属性的 属性 即为R÷S

2.2.1 解答过程如下:

在关系R中,A可以取四个值{a1,a2,a3,a4},其中:

a1的象集为:{(b1,c2),(b2,c3),(b2,c1)}就是a1 对应bc属性上的值
a2的象集为:{(b3,c7),(b2,c3)}
a3的象集为:{(b4,c6)}
a4的象集为:{(b6,c6)}

S在(B,C)上的投影为{(b1,c2),(b2,c3),(b2,c1)}。

只取BC两列显然只有a1的象集(B,C)a1包含S在(B,C)属性组上的投影,全部包含,所以R÷S={a1}。

3 小结

总结:

    并:属性不变,元组可能增加(集合相等时不增加) 
    交:属性不变,元组可能减少(集合相等时不减少) 
    投影:属性可能减少(全投影时不减少),元组可能减少(投影后无重复项时不减少) 
    笛卡尔积:属性增加,元组可能增加(只有1个元组时不增加)

数据库 笛卡尔积,选择,投影,除操作中,应该是笛卡尔积最耗费资源和时间,因为属性增加了,计算量也随之而增加。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。