首页 > 编程知识 正文

数据库关系代数符号,数据库关系代数运算题

时间:2023-05-03 06:44:50 阅读:162844 作者:304

文章目录简单.关系代数.传统集合运算.并Union .差Difference .交Intersection .广义直积Extended Cartesian Product .专业关系运算. Selection .投影Projection.

简单地叙述。

关系模型常用的关系操作包括查询操作和http://www.Sina.com/(3358 www.Sina.com/)两大部分。 从计算机语言的角度看,后者在前者的基础上运行,前者比后者复杂,而前者由于有理论基础,成为主要研究对象,也是关系操作中最主要的部分。

关系操作采用集合操作方式,操作对象和结果都是集合,采用Set-at-a-time (一次一个集合)的操作方式。

初始的关系操作通常用代数方式或逻辑方式表示,分别称为关系代数和关系运算。 前者用对关系的运算表示查询请求,后者用谓词表示查询请求。 关系运算可以根据谓语自变量的基本对象是元组变量还是域变量分为元组关系运算和域关系运算。 三种运算语言在表达能力方面是等效的。

关系代数.关系代数的运算对象是关系,运算结果也是关系。 另一方面,因为说关系是笛卡儿积集合的部分集合,所以上述的Set-at-a-time的操作方法也得到印证。 代数中使用的运算符主要有以下类型:

其中,后两种类型的运算符(算术比较和逻辑运算符)用于辅助操作专用关系运算符。 因此,根据运算符可以将关系代数的运算分为以下两类:

【传统集合运算】将关系视为元组的集合,以元组为元素进行运算。 该运算是从关系的“水平”方向、即【行】的角度进行的,包括并行、交叉、差分及笛卡儿积运算。 【专业关系运算】为数据库应用而引入的一种特殊运算,它不仅涉及行运算,还涉及列运算,其中包括选择、投影、连接、除法运算。 从关系代数的完备性出发,可以将操作分为基本操作和非基本操作:

【基本操作】并、差、积、选择和投影,关系代数构成了完备的操作集。 【非基本操作】以上5个基本操作可以合成的其他所有操作。 的传统集合运算.对两种关系进行传统集合运算时,这两种关系需要满足一定的条件,描述如下。

除笛卡儿积运算外,其他集合运算参与运算的关系必须满足上述互换性限制。 两个关系的基本运算是和与差,是其他运算无法表达的运算。

然后,Union. R和s并行运算的结果是,r和s的所有元组被合并,重复的元组只出现一次,构成新的n元关系。 对于关系数据库,插入和添加记录可以通过并行运算来实现。 然后,书写如下。

删除差Difference. R和s的差运算的结果,属于r而不是s的所有组组成的集合,即r到s中包含的部分,建立新的n元关系。 对于关系数据库,记录的删除可以通过差分运算实现。 差运算表示:

Intersection. R和s交叉运算的结果由同时属于r和s的元组(即r和s的相同元组)构成新的n元关系。 运算表示:

广义直积Extended Cartesian Product元和m元的关系r和s即2个广义直积是(n-m )列的组的集合。 组的前n列是关系r的组,最后的m列是关系s的组。 如果r有x个元组,s有y个元组,则r和s的广义直积有xy个元组,并记住:

的广义笛卡儿积可用于两关系的连接操作。

最后,通过实际例子结束传统的集合运算。 下图显示了两个兼容的关系r和s,以及这两个关系的各种传统集合运算结果。

的关系运算。 传统的集合运算只从行的角度进行,为了灵活地实现关系数据库的各种查询操作,需要引入专用的关系运算。 在介绍专业关系运算之前,为了便于描述,引入一些概念:

r(a1_1,a2_2,an_n ) ),r表示其中一个关系,tR表示一组其中t为r,且t[A i _i i ]表示关于属性a的组t

i _i i​的一个分量;给定一个关系R(X,Z),X和Z为属性组,定义当t[X]=x时,x在R中的像集Image Set为Z x _x x​={t[Z]|t∈R,t[X]=x},它表示的是R中属性组X上值为x的那些元组在Z分量上的集合。 选取Selection.

选取运算是单目运算,它根据一定的条件从关系R中选择若干个元组,组成一个新的关系。选取操作记作:

其中σ为选取运算符,F是选取的条件。F是由运算对象(属性名、常数、简单函数)、算术比较运算符(>、≥、<、=、≠)和逻辑运算符(与、或、非)连接起来的逻辑表达式,其结果是逻辑值True或False,所以我们对于选取运算进行总结:它从关系R中选取那些使得逻辑表达式F为真的元组,是从行的角度进行的运算。以下面的关系为例,我们给出实际的选取运算:

投影Projection.

投影运算也是单目运算,关系R上的投影是从R中选择出若干属性列,组成新的关系,即对关系R在垂直方向上进行运算,从左到右按照指定的若干属性及顺序(意味着我们可以改变属性列的顺序,实际上关系中的属性列是可以交换位置的)取出相应列,并且要删除重复的元组。投影运算记作:

从其定义可以看出,投影运算是从列的角度进行的运算,这也是投影运算和选取运算最大的区别所在。以下面的关系为例,我们给出实际的投影运算:


θ连接θJoin.

θ连接运算是一个二元运算,其效果是从两个关系R和S的笛卡尔积中选取满足连接条件的元组,而后组成新的关系。设两个关系R和S,它们的属性列数分别为n和m,其中R中的属性可以进一步分解为属性集Z和X,即R=(Z,X),关系S可以进一步分解为属性集W和Y,即S=(W,Y)。如果我们认定X和Y是连接属性(需要X和Y的属性列数相等),那么关系R和S在连接属性X和Y上的θ连接,就是在R和S的笛卡尔积中选择那些X属性集上的分量与Y属性集上的分量满足θ比较条件的那些元组。新关系的列数为(n+m),即两个关系的列数和,记作:

其中θ代表的是一个算术比较运算符,称为θ连接。XθY是连接条件:

θ为"="时,称为等值连接;θ为"<"时,称为小于连接;θ为">"时,称为大于连接

前面我们说过五种基本的操作,包括并、差、积、选取、投影,其中并没有连接运算。从连接运算的定义中,我们也不难发现,可以使用选取操作和广义笛卡尔积运算来表示:

除此之外,还有一种常用的连接称为自然连接,它是在等值连接的情况下,当连接属性X和Y有着相同的属性列时,去掉连接结果中那些相同的属性列。总结来说,自然连接是在广义笛卡尔积R×S中选出同名属性上符合相等条件的元组,再进行投影,去掉重复的同名属性,组成新的关系。

以下面的关系为例,我们给出实际的连接运算:





关于选取、投影、连接运算的复杂操作:

除法Division.

除法运算是二目运算,设有关系R(X,Y)和关系S(Y,Z),其中X、Y、Z是属性集合,并且R.Y和S.Y可以有不同的属性名,但对应属性必须出自相同的域。关系R除以关系S所得的商是一个新的关系P(X),P是R中满足下列条件的元组在属性集X上的投影:

元组在X上的分量值x的像集Y x _x x​包含了S在Y上的投影集合。

形式化的表示如下:



版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。