关系代数的由来首先是关系运算这个概念,换言之从宏观上认识什么是关系代数也是我接触东西的首要工作。 已知对关系数据库的数据库操作语言分为查询和更新两类。 查询语言分为关系代数语言和关系运算语言。 我在这里说的是
关系代数的由来
首先从宏观上认识关系运算这个概念,换言之什么是关系代数,也是我接触东西的首要工作。 已知对关系数据库的数据库操作语言分为查询和更新两类。 查询语言分为关系代数语言和关系运算语言。 这里谈谈关系代数。 因此,关系代数可以定义为数据库操作语言查询的集合操作。
关系代数中的操作可以分为两类
(1)以往的集合操作)并、差、交、gjddt积、除法。
(2)扩展的关系操作)投影、选择、连接、
常见符号
五个基本关系代数
1、并
关系r和s具有相同的关系模型,r和s的排列是由属于r或s的组构成的集合,表示为RS。 格式定义如下。 3358 www.2c to.com/KF/ware/VC/' target=' _ blank ' class=' key link ' vcd4kphauqhiu 6h ue3 qg ' t (r (s ) )
2、差)。
关系r和s具有相同的关系模型,r和s的差是由属于r但不属于s的元组构成的集合,表示为R-S。 格式定义如下。
R-S{ t ' tR tS},r和s的原数相同。
3、gjddt乘积(Cartesian Product ) )。
设关系r和s的元数分别为r和s,则定义r和s的gjddt乘积是一个(r-s )元组的集合,各组的前r个分量)属性值)来自r组,下一个s个分量来自s组,被表示为RS。
4、投影(Projection )
该操作是垂直分割一个关系、删除某列、重新排列的顺序。
表示符号
5、连接
该操作根据一定条件,对既定集合进行条件选择。
是选择运算符
关于基本的关系代数操作,可以看到: 前面的3个都是以2个或者2个至上的集合操作为对象的,后面的2个操作都是1个集合。
扩展代数操作
交给
该操作是从2个集合内,找出既属于r也属于s的要素的集合。 符号:
如图所示
图中2个集合的相同部分是第1行的要素。
除外
的操作中需要操作的两个关系的集合需要重复的属性。
实例图表
结果
连接
所有的连接操作在进行笛卡儿积的基础上,进行相应的条件操作。 因此,根据条件可分为等值连接、自然连接、连接。
连杆
表示从RS中分别选择r的第I列和s的第j列进行连接操作。
等效链接
等值连接是指值为等号时的连接。
与自然相连
自然连接是一种相对特殊的连接,两个连接之间的关系必须具有相同的属性。 例如
如图所示,如果连接两个不同集合中相同属性的一行,就可以得到结果,因为两个集合中存在相同的属性Sno。
以上是关系代数的基本操作和扩展操作,从实际例子来理解定义往往会变得容易理解。 对于基本操作,并、差、直积都是以两个不同集合的操作为对象的; 投影并连接对默认集合的操作。 扩展中的运算主要是合并,合并通过值来区分自然合并和等值合并; 等值连接和自然连接都是值不同时的特殊状态。
本文原创发布了php中文网。 转载请注明出处。 谢谢您的尊重。