软考考点之数据库关系运算符含义的理解

如:2018上半年

第70题:给定关系 R (A,B,C,D,E)与S(B,C,F,G),那么与表达式π 2,4,6,7 ( σ 2 < 7(R??S))等价的SQL语句
如下:
SELECT( 69 ) FROM R, S WHERE ( 70 );
69/A.R.B,D,F,G
B.R.B,E,S.C,F,G
C.R.B,R.D,S.C,F
D.R.B,R.C,S.C,F


70/A. R.B=S.B OR R.C=S.C OR R.B <S.G
B. R.B=S.B OR R.C=S.C OR R.B <S.C
C. R.B=S.B AND R.C=S.C AND R.B <S.G
D. R.B=S.B AND R.C=S.C AND R.B <S.C

解答此题,先要明白关系表达式要表达的涵义,看来是忘记的了。。。

1.σ选择操作符
定义方式:软考考点之数据库关系运算符含义的理解p指的是选择条件,括号中R表示表示选择操作对象是表格R。选择条件中常常包含着与或非的运算。

例子:从下面表格中选择出年龄小于20岁的记录
软考考点之数据库关系运算符含义的理解
表达式:软考考点之数据库关系运算符含义的理解软考考点之数据库关系运算符含义的理解“4”表示的是第四列(sage)

结果:
软考考点之数据库关系运算符含义的理解

 

2.软考考点之数据库关系运算符含义的理解投影操作符
定义方式:软考考点之数据库关系运算符含义的理解
右下角表示的是域(也就是每一张表中每一列的表头)
例子:软考考点之数据库关系运算符含义的理解
操作:软考考点之数据库关系运算符含义的理解
查询结果
软考考点之数据库关系运算符含义的理解

通过以上的分析就可以解题了, π 2,4,6,7 其实对应的就是选择r.B,D,FG选A;σ 2 < 7对应的就是选择条件,第2列小于第7列的属性值选C

扩展: 

软考考点之数据库关系运算符含义的理解

 

集合运算符

运算符 含义 英文
Union属于 R 或者属于 S 的元组构成的集合
Difference属于 R 但不属于 S 的元组构成的集合
Intersection属于 R 同时双属于 S 的元组构成的集合
× 笛卡尔积 Cartesian Product笛卡尔积的基数是每个集合的元组相乘

 

专门的关系运算符

运算符 含义 英文
σ 选择 Selection从关系的水平方向进行运算,是从关系 R 中选择满足给定条件的元组
π 投影 Projection从关系的垂直方向进行运算,在关系 R 中选出若干属性列 A 组成新的关系
链接

θ

Join从 R 与 S的笛卡尔积中选取属性间满足一定条件的元组
÷ Division

 

逻辑运算符

运算符 含义
¬

 

链接(Join)

注:下面的 θ 链接应该记作:软考考点之数据库关系运算符含义的理解

θ 链接

从 R 与 S的笛卡尔积中选取属性间满足一定条件的元组,可由基本的关系运算笛卡尔积和选取运算导出,表示为:

R⋈XθYS=σXθY(R×S)R⋈XθYS=σXθY(R×S)

XθY 为链接的条件,θ 是比较运算符,X 和 Y 分别为 R 和 S 上度数相等且可比的属性组

例如:求 R⋈R.A<S.BSR⋈R.A<S.BS,如果为:

软考考点之数据库关系运算符含义的理解

等值链接

当 θ 为「=」时,称之为等值链接,记为: R⋈X=YSR⋈X=YS

自然链接

自然链接是一种特殊的等值链接,它要求两个关系中进行比较的分量必须是 相同的属性组,并且在结果集中将 重复的属性列 去掉

例如:设有关系 R、S 如图所示,求 R⋈SR⋈S

软考考点之数据库关系运算符含义的理解

先求出笛卡尔积 R×SR×S,找出比较分量(有相同属性组),即: R.A/S.A 与 R.C/S.C

软考考点之数据库关系运算符含义的理解

取等值链接 R.A=S.AR.A=S.A 且 R.C=S.CR.C=S.C

软考考点之数据库关系运算符含义的理解

结果集中去掉重复属性列,注意无论去掉 R.A 或者 S.A 效果都一样,因为他们的值相等,结果集中只会有属性 A、B、C、D

软考考点之数据库关系运算符含义的理解

最终得出结果

软考考点之数据库关系运算符含义的理解