数据库——关系代数运算

数据库——关系代数运算,第1张

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

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

设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分支机构有贷款,但在其他分支机构没有账号的顾客姓名

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

221 关系代数的五个基本 *** 作

考核要求:达到“简单应用”

层次知识点:五个基本 *** 作的含义和运算应用

(1)并(∪):两个关系需有相同的关系模式,并的对象是元组,由两个关系所有元组构成。

RUS≡{t| t∈R ∨t∈S}

(2) 差(-):同样,两个关系有相同的模式,R和S的差是由属于R但不属于S的元组构成的集合。

R-S≡{t| t∈R ∧t 不属于S}

(3)笛卡尔积(×):对两个关系R和S进行 *** 作,产生的关系中元组个数为两个关系中元组个数之积。

R×S≡{t| t= tr,ts>∧tr∈R∧ts ∈S}

(4) 投影(σ):对关系进行垂直分割,消去某些列,并重新安排列的顺序。

(5) 选择(π):根据某些条件关系作水平分割,即选择符合条件的元组。

222 关系代数的四个组合 *** 作

考核要求:达到“简单应用”

层次知识点:四个组合 *** 作的含义和运算应用

(1)交(∩):R和S的交是由既属于R又属于S的元组构成的集合。

(2)联接:包括θ(算术比较符)联接和F(公式)联接。

选择R×S中满足iθ(r+j)或F条件的元组构成的集合;

概念上比较难理解,关键理解运算实例等值联接(θ为等号“=”的联接)。

(3)自然联接(RS):在R×S中,选择R和S公共属性值均相等的元组,并去掉R×S中重复的公共属性列。 如果两个关系没有公共属性,则自然联接就转化为笛卡尔积。

(4)除法(÷):首先除法的结果中元数为两个元数的差, R÷S的 *** 作思路如下——把S看作一个块,如果R中相同属性集中的元组有相同的块, 且除去此块后留下的相应元组均相同,那么可以得到一条元组, 所有这些元组的集合就是除法的结果

对于上述的五个基本 *** 作和四个组合 *** 作,应当从实际运算方面进行理解和运用。

应用举例

223 关系代数表达式及应用

考核要求:达到“简单应用”

层次知识点:关系代数表达式的应用

本节的内容是有关实际应用,应该多看例题,多做习题,必须达到以下要求: 能够根据给出的关系代数表达式计算关系值,也能够根据相应查询要求列出关系表达式。

(1)在列关系表达式时,通常有以下形式:

π……(σ……(R×S))或者π……(σ……(RS))

首先把查询涉及到的关系取来,执行笛卡尔积或自然联接 *** 作得到一张大的表格,然后对大表格执行水平分割(选择)和垂直分割(投影) *** 作。

(2)当查询涉及到否定或全部的逻辑时,往往要用到差或除法 *** 作。

关系代数表达式举例

224 扩充的关系代数 *** 作

考核要求:达到“识记”

层次知识点:了解“外联接”和“外部并”的含义

注意:(1)“外联接”、“左外联接”、“右外联接”和“自然连接”的差异。

(2)“外部并”和“并”的差异

∏ sno,pno,jno(spj)÷∏ sno,pno(σ sno='s1'(spj))

∏ sno,pno,jno(spj)从表spj中选出sno,pno,jno字段构成新表(集合A),

∏ sno,pno(σ sno='s1'(spj)) 先从表spj中筛选出sno=s1的记录,然后选出sno,pno字段构成新表(集合B),

÷你知道是什么意思吧,上面的÷就是由sno,pno,jno字段构成的集合A排除掉A中没有集合B的部分,留下有集合B的部分,所以你做对了

还有,你现在是在学ACCESS还是SQL SERVER啊,这是我以前做过的

U 并集

n交集

倒E是属于

逻辑运算符:

∧=的意思是and、并

v = 的意思or 、或

还有一个┐是非的意思

我 就知道这么多,是要自考吗,数据库系统原理中关系代数关系元组演算中可以参考

关系代数的选择 *** 作符,1=5,1=2应该是表示选择的条件,其中数字表示对应位置的属性,比如

R×S结果中的属性为(A,B,C,B,C,D),分别用1-6表示,因此,对于R⋈S,应该是σ2=4(R×S),即其中的B属性连接,你的选项没有一个对的

以上就是关于数据库——关系代数运算全部的内容,包括:数据库——关系代数运算、《数据库原理》知识点之关系代数运算、高手赐教!数据库的关系代数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存