如: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
最终得出结果