关系代数是一门抽象的查询语言,它用对关系的运算来表达查询。
运算对象、运算符、运算结果是运算的三大要素。关系代数的运算对象是关系,运算结果也是关系。
设R和S是n元关系,而且两者各对应属性的数据类型也相同。R和S的并 *** 作定义为:
条件:① 等目、同元,即他们的属性数目必须相同 ② 对任意i,r的第i个属性域和s的第i个属性域相同
如:Πname(instructor)∪Πname(student)
简单来说就是: R和S所有关系都组合在一起, 重复的就不写
p是选择 *** 作,p用的是逻辑连接词,如∧、∨、┐
注:执行选择时,选择条件必须是针对同一元组中的相应属性值代入进行比较
简单来说就是: 把符合元组的拿出来
a1,a2等是属性名,r是关系名。其结果为保留此k列的值,并删除重复的行
条件:①等目、同元,即他们的属性数目必须相同 ②对任意i,r的第i个属性域和s的第i个属性域相同(和并运算一样的条件)
简单来说就是:因为是R-S, 找R在S关系中没有的
假设R的属性和S的属性没有交集就如图一,如果R和S的属性有交集,那么必须重命名这些有交集的属性
返回表达式E的结果,并赋给它名字X,同时将属性重命名为A1,A2An
例一:找出贷款额大于1200的元组
例二:找出贷款大于1200的贷款号
例三:找出有贷款或有账户两者兼有的所有客户姓名
例四:找出至少有一个贷款及一个账户的客户姓名
例五:找出Perryridge分支机构有贷款的顾客姓名
这个查询运用了两个关系,这个时候就要运用笛卡尔积
为什么要做“σ borrowloan-number = loanloan-number”的判断?因为这里面的组合很多,而我们要去除掉没有意义的组合
查询二要比查询一更好一点,因为borrower x loan的数据有可能是很庞大的,降低了查询效率,而查询二先做了选择再进行笛卡尔积运算,数据量相较小一点。
例六:找出在Perryridge分支机构有贷款,但在其他分支机构没有账号的顾客姓名
例七:找出银行中最大的账户余额
包括投影、连接。
关系的基本运算有两种:传统的集合运算(并、差、交等)和专门的关系运算(选择、投影、自然连接、除法、外连接)。有些查询需要几个基本 *** 作的组合,并且需要几个步骤才能完成。
在关系数据库管理系统中,数据库中的所有数据及其相互连接被组织成关系,即二维表。关系数据库系统提供完整的高级关系 *** 作来支持数据库上的各种 *** 作。关系模型具有严格的数学理论,使数据库的研究建立在坚实的数学基础上。
扩展资料:
数据库中的专门关系 *** 作:
1.选择:
所选逻辑表达式的基本形式是xy,其中表示比较运算符,可以是比较运算符。X和Y是属性名、常量或简单函数。它是从行的角度来看的一个 *** 作。
2.投影:
关系R上的投影是从关系R中选择几个属性列,形成新的关系。从列的角度来看,这是一个 *** 作。因为投影取消了某些列之后可能重复的行,所以应该取消这些相同的行。
3.自然连接:
自然连接是一种特殊的等效连接,它要求要比较的两个关系的组件必须是一组具有相同名称的属性,并且从结果中删除重复属性列。一般从连接角度看,自然连接需要取消重复的,所以是从行和列的角度来看。
4.部门:
如果关系R除以关系S的结果是关系T,那么关系T包含了R中所有的属性及其值,但不包含在S中,并且T的元组和S的元组的所有组合都在R中。
5.外部联系:
当R和S进行自然连接时,它们在公共属性中选择两个具有相同值的元组来形成新的关系。
此时,关系R和S可能具有公共属性中不相等的元组,这将导致R或S中放弃元组。这些被放弃的元组称为挂起元组。
如果悬空元组也保留在结果关系中,并且在其他属性上填充值,则该连接称为外部连接。
传统的数学集合的关系运算和数据库专有的关系运算
数据库本身是一个二维的表,就相当于是一个数学的集合。
有的时候需要两个表进行运算,比如,找到两个表中相同的部分,这个的运算机制就是传统的集合运算中的“交”。
有的时候需要表本身进行计算,比如,只需要显示表中某一列的数值,这个就是关系的专门运算“投影”。
其余的运算你可以自己找找,基本原理都很简单的,一看就能明白。
投影(projection)
关系R的投影运算是从R中选择某些属性的所有值组成的新关系。换言之,投影运算的结果是一个表的垂直方向的子集。关系R的投影运算记为:πA(R)。其中,A为R的一组属性列。投影的结果将消除重复的元组。
选择(selection)
关系R的选择运算是从关系R中选择满足指定条件(用F表示)的元组构成的新关系。换言之,选择运算的结果是一个表的水平方向的子集。关系R的选择运算记为:σF(R)。
其中,F是包括属性名的逻辑表达式,运算符有算术比较运算符:<,≤,>,≥,=,≠,和逻辑运算符:¬¬┐,∨,∧(非、或、与)。
连接(join)
连接运算是关系的二目运算。关系R与关系S的连接运算是从两个关系的广义笛卡尔积中选取属性间满足一定条件(称为连接条件,记为AθB)的元组形成一个新关系。
除(divide)
设关系R的属性可以分成互不相交的两组,用X、Y表示(X∩Y为空集,X∪Y为R的全部属性),则关系R可以表示为:R(X,Y)。
以上就是关于数据库——关系代数运算全部的内容,包括:数据库——关系代数运算、关系数据库管理系统能实现的专门关系运算包括哪些、数据库关系运算等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)