热门关键字:  项目经理  分析师  中间件  CEO  报名费





专门的关系运算

来源: 作者: 时间:2008-03-11 点击:

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

选择(Selection)

选择又称为限制(Restriction)。它是在关系R中选择满足给定条件的诸元组,记作:
σF (R) = {t|t∈R ∧ F(t)='真'}

其中F表示选择条件,它是一个逻辑表达式,取逻辑值‘真’或‘假’。

逻辑表达式F的基本形式为:
X1 θ Y1 [ φ X2 θ Y2 ]

θ表示比较运算符,它可以是>、≥、<、≤、=或≠。X1、Y1等是属性名或常量或简单函数。属性名也可以用它的序号来代替。φ表示逻辑运算符,它可以是フ、∧或∨。[ ]表示任选项,即[ ]中的部分可以要也可以不要,...表示上述格式可以重复下去。
因此
选择运算实际上是从关系R中选取使逻辑表达式F为真的元组。这是从行的角度进行的运算。

举例

投影(Projection)   

关系R上的投影是从R中选择出若干属性列组成新的关系。记作:
ΠA(R) = { t[A] | t∈R }

其中A为R中的属性列。
 

举例

例3 查询学生关系Student在学生姓名和所在系两个属性上的投影
ΠSname,Sdept(Student)

Π2,5(Student)
结果如图2-7(a)。
投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列后,就可能出现重复行,应取消这些完全相同的行。

例4 查询学生关系Student中都有哪些系,即查询学生关系Student在所在系属性上的投影
ΠSdept(Student)

连接(Join)

连接也称为θ连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作:
242插图1.GIF (667 bytes)
其中A和B分别为R和S上度数相等且可比的属性组。θ是比较运算符。连接运算从R和S的笛卡尔积R×S中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系θ的元组。

连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join),另一种是自然连接(Natural join)。
θ为“=”的连接运算称为等值连接。它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。即等值连接为:
242插图2.GIF (653 bytes)
自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。即若R和S具有相同的属性组B,则自然连接可记作:
242插图3.GIF (602 bytes)
一般的连接操作是从行的角度进行运算。但自然连接还需要取消了重复列,所以是同时从行和列的角度进行运算。

4.

除(Division) 

给定关系R(X,Y)和S(Y,Z),其中X, Y, Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。记作:
R÷S = {t[X]|t∈R ∧ YxΠY(S) }

其中Yx为x在R中的象集,x=t[X]。

举例

例6 设关系R, S分别为图2-7中的(a)和(b),R÷S的结果为图2-7(c)
在关系R中,A可以取四个值{a1, a2, a3, a4}。其中:
a1的象集为{(b1,c2), (b2,c3), (b2,c1)}
a2的象集为{(b3,c7), (b2,c3)}
a3的象集为{(b4,c6)}
a4的象集为{(b6,c6)}
S在(B,C)上的投影为{(b1,c2), (b2,c3), (b2,c1)}

显然只有a1的象集(B,C)a1包含S在(B,C)属性组上的投影,所以R÷S={a1}

R

 

S

 

R÷S

A

B

C

B

C

D

A

a1

b1

c2

b1

c2

d1

a1

a2

b3

c7

b2

c1

d1

 

a3

b4

c6

b2

c1

d1

 

a1

b2

c3

b2

c3

d2

 

a4

b6

c6

 

 

 

 

a2

b2

c3

 

 

 

 

a1

b2

c1

 

 

 

 

(a)

(b)

(c)





最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
企业电子商务

赞助商