关系数据库中关系代数的基本运算有哪些

关系数据库中关系代数的基本运算有哪些,第1张

五种基本 *** 作:并,差,积,选择,投影;构成关系代数完备的 *** 作集。其他非基本 *** 作:可以用以上五种基本 *** 作合成的所有 *** 作。并(U)、交(⌒)、投影(π)选择(σ)和笛卡儿积(×)。

传统的集合运算:

1、并(UNION)设有两个关系R和S,它们具有相同的结构。R和S的并是由属于R或属于S的元组组成的集合,运算符为∪。记为T=R∪S。

2、差(DIFFERENCE)R和S的差是由属于R但不属于S的元组组成的集合,运算符为-。记为T=R-S。

3、交(INTERSCTION)R和S的交是由既属于R又属于S的元组组成的集合,运算符为∩。记为T=R∩S。R∩S=R-(R-S)。

扩展资料:

在数据库世界里,后关系数据库仍旧泰然自若,保持其本色。

在现代IT界,SQL和XML已经成为数据库的非常重要组成部分,这二者成为数据库系统结构组成部分的历史也很长久了,至于开始的时间我也很难记得了。

在60年代末和70年代初,出现了具备灵活字段长度、嵌套表格、松散数据类型选择的数据库构架,这样的数据库系统不仅受市场欢迎,也得到大家的青睐。这些早期的数据库系统虽然缺乏像XML一样的标记功能,但是它们在实际工作中却表现出和XML极为类似的功能。

描述这些数据库系统的术语是“后关系”或者“多值”,它们没有SQL关系数据库知名,是因为这些数据库系统缺乏许多新闻的宣传度,我们很容易把它认为是一个实验而已,然后这些实验在人们的印象中就会半途而废了,最终慢慢的消失。

参考资料来源:百度百科-关系数据库

关系代数是一门抽象的查询语言,它用对关系的运算来表达查询。

运算对象、运算符、运算结果是运算的三大要素。关系代数的运算对象是关系,运算结果也是关系。

设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,A2....An

例一:找出贷款额大于1200的元组

例二:找出贷款大于1200的贷款号

例三:找出有贷款或有账户两者兼有的所有客户姓名

例四:找出至少有一个贷款及一个账户的客户姓名

例五:找出Perryridge分支机构有贷款的顾客姓名

这个查询运用了两个关系,这个时候就要运用笛卡尔积

为什么要做“σ borrow.loan-number = loan.loan-number”的判断?因为这里面的组合很多,而我们要去除掉没有意义的组合

查询二要比查询一更好一点,因为borrower x loan的数据有可能是很庞大的,降低了查询效率,而查询二先做了选择再进行笛卡尔积运算,数据量相较小一点。

例六:找出在Perryridge分支机构有贷款,但在其他分支机构没有账号的顾客姓名

例七:找出银行中最大的账户余额

五种基本关系代数运算是并、差、投影、交、选择、投影。

1、并:设有两个关系R和S,它们具有相同的结构。R和S的并是由属于R或属于S的元组组成的集合,运算符为∪。记为T=R∪S。

2、差:R和S的差是由属于R但不属于S的元组组成的集合,运算符为- [1]  。记为T=R-S。

3、交:R和S的交是由既属于R又属于S的元组组成的集合,运算符为∩ [1]  。记为T=R∩S。R∩S=R-(R-S)。

4、选择:从关系中找出满足给定条件的那些元组。其中的条件是以逻辑表达式给出的,值为真的元组将被选取。这种运算是从水平方向抽取元组。

5、投影:从关系模式中挑选若干属性组成新的关系。这是从列的角度进行的运算,相当于对关系进行垂直分解。

扩展资料:

数据库中的全部数据及其相互联系都被组织成关系,即二维表的形式。关系数据库系统提供一种完备的高级关系运算,支持对数据库的各种 *** 作。关系模型有严格的数学理论,使数据库的研究建立在比较坚实的数学基础上。

选择和投影运算都是属于一目运算,它们的 *** 作对象只是一个关系。连接运算是二目运算,需要两个关系作为 *** 作对象。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6769163.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存