三级数据库技术辅导第二讲:1.2关系运算

文章作者 100test 发表时间 2007:03:10 18:31:38
来源 100Test.Com百考试题网


1.2 关系运算

在关系模型中,实体以及实体间的联系采用了单一数据结构----关系来表示。对数据的操作就是对关系的运算。关系运算的形式可分为两大类:

(1)关系代数:把关系看作集合,以关系为运算对象的关系运算。
(2)关系演算:使用数理逻辑谓词演算概念的关系运算。

1.2.1 并(Union)

设R和S为同类关系,即具有相同的度和相应属性在相同的域中取值,但并不要求属性名一致,则关系R和S的并由属于R或属于S的所有元组构成,记作RÈ.S。

例:

SQL语句: Select * from R Union Select * from S

1.2.2 交(Intersection)

设R和S为同类关系,则关系R和S的交由属于R同时属于S的所有元组构成,记作RÇ.S。

例:

SQL语句: Select R.A,R.B,R.C from R,S where R.A=S.A and R.B=S.B and R.C=S.C

1.2.3 差(Difference)

设R和S为同类关系,则关系R和S的差由属于R但不属于S的所有元组构成,记作R-S

 

例:

1.2.4 笛卡尔积(Cartesian Product)

设R为k1元关系,S为k2元关系,则关系R和S的笛卡尔积是一个(k1 k2)元的关系,其中每个元组的前k1个分量取自R中的一个元组,后k2个分量取自S中的一个元组,记作R´.S

例:

SQL语句: Select * from R,S

1.2.5 投影(Projection)

设R为k元关系,Ai1,Ai2,...,Aim分别是它的第i1,i2,...,im个属性,则关系R在Ai1,Ai2,...,Aim上的投影是一个m元关系,其属性为Ai1,Ai2,...,Aim,记作

pi1,i2,…,im(R)

投影的基本思想是从一个关系中选择我们需要的属性成分,并按要求排列组成一个新的关系,新的关系的各属性值来自原来关系中相应的属性值,并去掉重复元组。

例:对关系R,做投影 p3,1(R),得

SQL语句: Select Distinct C, A from R

1.2.6 选择(Selection)

设F是一个命名公式,则在关系R上的F选择是在R中挑选满足F的所有元组,组成一个新的关系,这个新的关系是R的一个子集,记为:sF(R)

其中F由下列三部分组成:运算对象、算术比较符、逻辑运算符。

例:对关系R,做选择 s[1]=a V [3]=f(R),得

SQL语句: Select * into R1 from R where A=a or C=f

1.2.7 连接(Join)

连接运算把两个关系的共同的域按某种条件约束结合在一起形成新的关系。设R为k1元关系,S为k2元关系,算术比较符是q。则关系R的第i列和关系S的第j列的连接定义为:

从定义可以看出,连接运算是从两个关系的笛卡尔积中选取满足一定连接条件的元组的集合,连接的结果是一个(k1 k2)元的关系。也称为一般连接。

例:

SQL语句:(c)Select * from R, S where R.A < S.D

(d)Select * from R, S where R.C = S.C

1.2.8 自然连接(Natural Join)

当两个关系R和S的某些列具有相同的属性名时,可利用这些同名属性列总的相同值作为连接条件将两个关系连接起来,构成自然连接。在连接后的关系中,不仅含有R与S不同的属性列,而且含有相同的属性列,其元组的数目由相同属性列中的相同值决定。

设R是属性名组为(A1,A2,...,Am,...,Ak1)的k1元关系,S是属性名组为(A1,A2,...,Am,Bm 1,...,Bk2)的k2元关系,其中A1,A2,...,Am是同名属性列,则R和S的自然连接定义为...。

进行自然连接的步骤如下:(1)计算R´.S;(2)选择Ai·R=Ai·S的所有元组;(3)去掉重复属性。

可以看出,如果两个关系没有公共属性,自然连接就是笛卡尔积。

例:

SQL语句: Select Distinct R.A, R.B, R.C, S.D from R,S where R.B=S.B and R.C=S.C

1.2.9 除(Division)

除运算是指用一个(m n)度的关系R除以一个n度关系S,运算结果生成一个m元的新关系。这里R的第(m i)个属性和S的第i个属性(i=1,...,n)必须是在相同的域上定义。当把R的前m个属性看作一个组合属性x,后n个属性看成一个组合属性y,则S也可类似地看成一个组合属性y。


相关文章


三级数据库技术辅导:1.5用户对数据库系统的访问过程
三级数据库技术辅导第二讲:1.2关系运算
2002年全国计算机等级考试四级考试笔试题参考答案
四级考试-大纲(2004年)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛