数据库 第四讲(含习题)
什么是关系代数
- (1)并、差、笛卡儿积、选择、投影、更名
(2)交、连接、关系除 - 关系代数操作以一个多多个关系为输入,输出结果也是关系
- 关系代数操作的分类:
(1)集合操作:并、交、差、笛卡尔积
(2)纯关系操作:投影、选择、连接、关系除
并相容性
某些关系代数操作,如并、差、交等,需要满足并相容性
- 并相容性:
(1)R和S属性数目相同
(2)对应的第 i 个属性域相同
并操作
差操作
广义笛卡尔积
- RS=SR
选择操作
- 选择满足某些条件的行,结果仍为关系
- 选择操作时运算符的优先级:
括号、比较符号、非、交、或 - 查询操作的一般书写顺序:先写关系名(R),再写查询号,再写条件
投影操作
- 从关系R中选择包含在A中的属性的构成,结果仍为关系
- 选择操作选行,投影操作选列
- 投影后若有重复的元组,应该消除掉
交操作
- 交运算可以通过差运算实现
theta-连接(条件连接)操作及更名操作
- 在连接操作的基础上做选择操作
更名操作:连接两个相同的表时需要更名
- 等值连接操作:特殊的theta连接操作
自然连接
- R和S 属性名相同,属性值相等
- 自然连接后需去除重复的属性,而其他操作不需要
关系代数操作组合训练
除操作
- 用于查询全部…类
外连接
习题
1
如下列表所示,两个关系R1和R2,它们进行______运算后可以得到R3。
关系R1
关系R2
关系R3
A
B
C
B
E
M
A
B
C
E
M
1
1
x
1
m
i
1
1
x
m
i
C
2
y
2
n
j
c
2
y
n
J
D
3
y
1
m
k
1
1
x
m
K
A.
R1⋈R2
B.
R1∩R2
C.
R1∪R2
D.
R1 ´ R2
正确答案:A你选对了
2
在关系代数运算中,五种基本运算为______
A.
并、差、选择、投影、乘积
B.
并、差、选择、投影、自然连接
C.
并、差、交、选择、投影
D.
并、差、交、选择、乘积
正确答案:A你选对了
3
自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的_______
A.
属性
B.
元组
C.
行
D.
域
正确答案:A你选对了
4
根据上述关系,求表R⋈W的结果_______
A.
B.
C.
D.
没有正确答案
正确答案:A你选对了
5
系如下图所示,查询既学习课程号为001课程又学习课程号为002号课程的学生的学号,正确的是_______
A.
B.
C.
D.
正确答案:A你选对了
6
关系如下图所示。
的含义为_________
A.
查询没有学习过课程号为002号课程的学生姓名和年龄
B.
查询不仅仅学习课程号为002号课程的学生姓名和年龄
C.
查询学习课程号为002号课程的学生姓名和年龄
D.
其他全不对
正确答案:A你选对了
7
关系R与关系S只有一个公共属性,T1是R与S做θ连接的结果,T2是R与S自然连接的结果,则下列说法正确的是_______
A.
T1的属性个数大于T2的属性个数
B.
T1 的属性个数等于T2
C.
T1的属性个数小于T2
D.
T1的属性个数大于或等于T2的属性个数
正确答案:A你选对了
8
已知关系课程表C,用关系代数查询“程军”老师所授课程的课程号(C#)和课程名(Cname),正确的是__________。
课程表C
C#
Cname
Cteacher
K1
C语言
王华
K5
数据库原理
程军
K8
编译原理
程军
A.
B.
C.
D.
正确答案:A你选对了
9
学生表如图所示,用关系代数查询所有在3系就读的且年龄小于21的学生的学号和姓名。表达正确的是________。
R(学生表)
A.
B.
C.
D.
正确答案:A你选对了
10
学生表如下图所示,用关系代数查询不在(年龄大于20的3系同学)要求之内的所有其他同学的信息,正确的是_________
R(学生表)
A.
B.
C.
D.
正确答案:A你选对了
11
对于如下运算,结果正确的是_________。
A.
B.
C.
D.
正确答案:A你选对了
12
已知关系S(S#,Sname,Sage,Sclass), SC(S#,C#,Score)。如下所示关系代数表达式的含义是________。
A.
其他全不对
B.
查询没有学习过课程号为002号课程的学生姓名和年龄
C.
查询不仅仅学习课程号为002号课程的学生姓名和年龄
D.
查询学习课程号为002号课程的学生姓名和年龄
正确答案:A你选对了
13
现有关系数据库如下: 学生(学号,姓名,性别,专业),课程(课程号,课程名,学分),选课(学号,课程号,分数)。检索“‘数据库’课程不及格学生的学号、姓名和分数”。其正确的关系代数表达式是________。
A.
B.
C.
D.
正确答案:A你选对了
14
已知关系:学生(学号,姓名,性别,年龄), 课程(课程号,课程名,学分),选课(课程号,学号,成绩)。表达“查询年龄未满20岁的学生姓名及年龄”的关系代数表达式是_______
A.
B.
C.
D.
正确答案:A你选对了
15
已知关系:学生(学号,姓名,性别,年龄), 课程(课程号,课程名,学分),选课(课程号,学号,成绩)。表示“查询没有选修数据库课程的学生姓名”的关系代数操作是________。
A.
B.
C.
D.
正确答案:A你选对了
16
已知关系:学生(学号,姓名,性别,年龄),课程(课程号,课程名,教师,学分),选课(学号,课程号,成绩)。表达查询“选修了教师01所教全部课程的学生的姓名”的关系代数操作是_________。
A.
B.
C.
D.
正确答案:A你选对了
17
表达“从一个关系的所有行中提取出满足某些条件的行”,“从一个关系的所有列中提取出某些列”“提取出属于一个关系但不属于另一关系的所有元组”“将两个关系必须按照某种条件串接成一个较大的关系”的操作依次是__________。
1、并 2、交 3、积 4、选择 5、投影 6、差 7、连接
A.
4567
B.
4537
C.
3567
D.
4561
正确答案:A你选对了
18
下列说法正确的是__________。
A.
R ´ S与 S ´ R运算的结果是同一个关系
B.
R∪S与 S∪R运算的结果不是同一个关系
C.
R - S与 S - R运算的结果是同一个关系
D.
其余说法都不对
正确答案:A你选对了
19
设关系R、S、W各有10个元组,那么这三个关系的笛卡尔积的元组个数是_________。
A.
1000
B.
10
C.
30
D.
不确定
正确答案:A你选对了
20
设关系R和S的元组个数分别为100和300,关系T是R与S的笛卡尔积,则T的元组个数是________。
A.
30000
B.
400
C.
10000
D.
90000
正确答案:A你选对了
21
设关系R与关系S具有相同的目数(或称度数),且相对应属性的值取自同一个域,则R-(R-S)等于_________。
A.
R∩S
B.
R∪S
C.
S - R
D.
S
正确答案:A你选对了
22
假定学生关系是S(S#,Sname,Ssex,Sage),课程关系是C(C#,Cname,Cteacher),学生选课关系是SC(S#,C#,Score), 要查找“选修‘COMPUTER’课程的女学生的姓名”,其正确的关系代数表达式是________。
A.
其他都不对
B.
C.
D.
正确答案:A你选对了
23
设关系R和S的属性个数分别为n和m,那么R×S操作结果的属性个数为________。
A.
n+m
B.
n-m
C.
n×m
D.
max(n,m)
正确答案:A你选对了
24
设f1,f2是条件表达式,σf1(σf2®)等价于_______。
A.
σf1∧f2®
B.
σf1Úf2®
C.
σf2®
D.
σf1®
正确答案:A你选对了