您的位置:首页 > 数据库

2-1关系代数

2016-06-30 13:11 225 查看

2-1关系代数

tags:数据库

关系代数是一种抽象的查询语言,它用对关系的云南算来表达查询。任何一种运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。所以运算对象、运算符、运算结果是运算的三大要素。关系代数的运算对象是关系,运算结果亦为关系。

传统集合运算

传统的集合运算是二目运算,包括并、差、交、笛卡尔积四种运算。

专门的关系运算

专门的关系运算包括选择、投影、链接、除运算等。

关系运算的基本概念

基本概念:

1. 设关系模式为R(A1,A2…An),它的一个关系设为R。t属于R表示t是R的一个元组。t[Ai]则表示元组t中相应于属性Ai的一个分量。

2. 若A={Ai1,Ai2,Ai3,Ai4…}其中Aik是A1,A2..中的一部分,则称A为属性列或者属性组。t[A]表示元组t在属性列A上分量集合,非A表示{A1..An}去掉A生于属性组。

3. R为n目关系,S为m目关系,Tr属于R,Ts输入S,TrTsˆ成为元组的连接或者元组的串接,它是一个n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。

4. 给定一个关系R(X,Z),X和Z为属性组。当x[X]=x时,x在R中的象集定义为Zx={t[Z]|t∈R,t[X]=x}它表示R中属性组X上值值为x的诸组元素在Z上分量的集合。

选择

选择又成为限制,它是在关系R中选择满足给定条件的诸元组,记作

σF(R)={t|t∈R∩F(t)=true}

其中F表示选择条件,为一个逻辑表达式,取逻辑值真或者假。选择运算实际是从关系R中选取使逻辑表达式F为真的元组。这是从行的角度进行的运算

投影

关系R上的投影是从R中选择出若干属性列组成新的关系。记作

∏A(R)={t[A]|t∈R}

投影操作是从列的角度进行的运算。应该注意的是:投影之后不仅仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列之后,就可能出现重复航,应该取消在这些完全相同的行

连接

连接也称为θ 连接。它是从两个关系的笛卡尔积中选取属性之间满足一个条件的元组。公式很难用md写出就不再赘述。具体可见《数据库系统概论》(第五版)其中A和B分别为R和S上列数相等且可比的属性组。θ是比较运算符。连接运算从R和S的笛卡尔积RxS中选取R关系在A属性组上的值域S关系在B属性组上的值满足比较关系θ的元组。

等值连接

θ为=的连接运算成为等值连接。

自然连接

自然连接是一种特殊的等值连接。它要求两个关系进行比较的分量必须是同名的属性组,并且在连接后把重复的属性列去掉。

悬浮元组

在自然连接过程中,被舍弃的元组称为悬浮元组。

外连接

把悬浮元组也保存在结果关系中,而在其他属性上填空值,那么这种连接就叫做外连接。

左外连接

只保留左边关系R中的悬浮元组。

右外连接

只保留右边关系S中的悬浮元组。

除运算

设关系R除以关系S的结果为关系T,则T包含所有在R但是不在S中的属性及其值,且T的元组域S的元组的所有的组合都在R中。

除操作是同时从行和列角度进行运算。

以上定义较为晦涩,如果使用象集来定义:

给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。

R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yr包含S在Y上投影的集合。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 关系代数