关系代数

04-数据库设计基础 飞快学 323浏览

考点 “关系代数” 为重点掌握理解内容,读者应理解关系模型的基本操作以及关系代数的几种运算。

误区警示:当对关系模型进行查询运算,涉及到多种运算时,应当注意它们之间的先后顺序,因为有可能进行投影运算时,把符合条件的记录过滤,产生错误的结果。

1.关系模型的基本操作

关系模型的基本操作:插入、删除、修改和查询。

其中查询包含如下运算:

①投影运算。从R中选择出若干属性列组成新的关系。

②选择运算。选择运算是一个一元运算,关系R通过选择运算(并由该运算给出所选择的逻辑条件)后仍为一个关系。设关系的逻辑条件为F,则R满足F的选择运算可写成:σF(R)

③笛卡尔积运算。设有n元关系R及m元关系S,它们分别有p、q个元组,则关系R与S经笛卡尔积记为R×S,该关系是一个n+m元关系,元组个数是p×q,由R与S的有序组组合而成。

小提示:当关系模式进行笛卡尔积运算时,读者应该注意运算后的结果是n+m元关系,元组个数是p×q,这是经常混淆的。

2.关系代数中的扩充运算

(1)交运算:关系R与S经交运算后所得到的关系是由那些既在R内又在S内的有序组所组成,记为R∩S。

(2)除运算

如果将笛卡尔积运算看作乘运算的话,除运算就是它的逆运算。当关系T=R×S时,则可将除运算写成:T÷R=S或T/R=S

S称为T除以R的商。除法运算不是基本运算,它可以由基本运算推导而出。

(3)连接与自然连接运算

连接运算又可称为θ运算,这是一种二元运算,通过它可以将两个关系合并成一个大关系。设有关系R、S以及比较式iθj,其中i为R中的域,j为S中的域,θ含义同前。则可以将R、S在域i,j上的θ连接记为:

R |×| S

iθj

在θ连接中如果θ为”=”,就称此连接为等值连接,否则称为不等值连接;如θ为”<“时称为小于连接;如θ为”>”时称为大于连接。

自然连接(natural join)是一种特殊的等值连接,它满足下面的条件:

①两关系间有公共域;

②通过公共域的等值进行连接。

设有关系R、S,R有域A1,A2,…,An,S有域B1,B2,…,Bm,并且,Ai1,Ai2,…,Aij,与B1,B2,…,Bj分别为相同域,此时它们自然连接可记为:

R|×|S

自然连接的含义可用下式表示:

R|×|S=πA1,A2,……An,Bj+1,……Bm(σAi1=B1^Ai2=B2^…^Aij=,Bj (R×S))

疑难解答:连接与自然连接的不同之处在什么?

一般的连接操作是从行的角度进行运算,但自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。