码迷,mamicode.com
首页 > 其他好文 > 详细

【软考】(六)关系代数

时间:2014-06-11 08:44:11      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   http   ext   width   

关系代数的由来


    首先从宏观上来认识一下关系演算这个概念,换句话讲也就是什么是关系代数,这也是我在接触一些东西的首要工作。大家都知道对于关系型数据库的数据库操作语言分为查询和更新两类。而查询语言这块,又分为关系代数语言与关系演算语言。这里讲的就是关系代数。所以能够这样定义,关系代数就是为数据库操作语言进行查询的集合操作。


关系代数中的操作可分为两类


(1)传统的集合操作:并、差、交、笛卡儿积、除法。

(2)扩充的关系操作:投影、选择、连接、。

 

 常见符号

bubuko.com,布布扣

 

五种主要的关系代数


1、并

设关系R和S具有同样的关系模式,R和S的并是由属于R或属于S的元组构成的集合,记为RS。形式定义例如以下:

RS{t | t tS}t是元组变量,RS的元数相


bubuko.com,布布扣


2、差(Difference)


设关系R和S具有同样的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为R-S。形式定义例如以下:

R-S{ t | t tS}RS的元数同样。


bubuko.com,布布扣


3、笛卡儿积(Cartesian Product


设关系R和S的元数分别为r和s,定义R和S的笛卡儿积是一个(r+s)元的元组集合,每一个元组的前r个分量(属性值)来自R的一个元组,后s个分量来自S的一个元组,记为R×S


bubuko.com,布布扣


4、投影(Projection)


这个操作是对一个关系进行垂直切割,消去某些列,并又一次安排列的顺序。

表示符号π


bubuko.com,布布扣

 

5、连接


这个操作是依据某些条件,对既定的集合进行条件选择。

 

σ为选择运算符


bubuko.com,布布扣


对于主要的关系代数操作,能够发现。之前的三种针对的都是两个或者两个至上的集合操作,而后两种操作的都为一个集合。 

 

 

扩充的代数操作

这个操作就是从两个集合内找出既属于R有属于S集合的元素的集合。符号:

如图


bubuko.com,布布扣


图中两个集合同样的部分为第一行元素。

除的操作要求进行操作的两个关系集合须要有重叠的属性。


实例图表


bubuko.com,布布扣

 

结果


bubuko.com,布布扣

连接

全部的连接操作都是在进行笛卡尔积的基础上进行一些对应的条件操作。所以依据条件不同,分为等值连接、自然连接、θ连接。

 

 

θ连接

bubuko.com,布布扣


表示从RS中分别选取R的第i列和S的第j列进行连接操作。

等值连接

等值连接就是当θ的值为等于号时的连接。

自然连接

自然连接是一种比較特殊的连接,要求两个连接的关系中必需要有同样的属性。如


bubuko.com,布布扣


如图,两个集合存在同样的属性Sno这样将这两个不同集合中同样属性的一行连接,得到结果。



    如上就是关系代数的一些基本操作和扩展操作,很多其它的须要从实际的样例来理解定义这样会便于理解。对于主要的操作,并、差、笛卡尔积针对的都是两个不同的集合的操作;而投影和连接针对既定集合的操作。扩展中的运算主要是连接,连接依据θ的值的不同来区分究竟是自然连接和等值连接;等值连接和自然连接都是θ值在不同情况下的特殊状态。

【软考】(六)关系代数,布布扣,bubuko.com

【软考】(六)关系代数

标签:style   class   blog   http   ext   width   

原文地址:http://www.cnblogs.com/mengfanrong/p/3773169.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!