数据库 第四讲(含习题)

什么是关系代数

  1. (1)并、差、笛卡儿积、选择、投影、更名
    (2)交、连接、关系除
  2. 关系代数操作以一个多多个关系为输入,输出结果也是关系
  3. 关系代数操作的分类:
    (1)集合操作:并、交、差、笛卡尔积
    (2)纯关系操作:投影、选择、连接、关系除

并相容性

某些关系代数操作,如并、差、交等,需要满足并相容性

  1. 并相容性:
    (1)R和S属性数目相同
    (2)对应的第 i 个属性域相同

并操作

数据库 第四讲(含习题)

差操作

广义笛卡尔积

  1. RS=SR

选择操作

  1. 选择满足某些条件的行,结果仍为关系

数据库 第四讲(含习题)

  1. 选择操作时运算符的优先级:
    括号、比较符号、非、交、或
    数据库 第四讲(含习题)
  2. 查询操作的一般书写顺序:先写关系名(R),再写查询号,再写条件

投影操作

  1. 从关系R中选择包含在A中的属性的构成,结果仍为关系
  2. 选择操作选,投影操作选
  3. 投影后若有重复的元组,应该消除掉

交操作

  1. 交运算可以通过差运算实现
    数据库 第四讲(含习题)

theta-连接(条件连接)操作及更名操作

  1. 在连接操作的基础上做选择操作
    数据库 第四讲(含习题)

数据库 第四讲(含习题)
更名操作:连接两个相同的表时需要更名

  1. 等值连接操作:特殊的theta连接操作
    数据库 第四讲(含习题)

自然连接

  1. R和S 属性名相同,属性值相等
  2. 自然连接后需去除重复的属性,而其他操作不需要

关系代数操作组合训练

数据库 第四讲(含习题)

除操作

  1. 用于查询全部…类

外连接

数据库 第四讲(含习题)
数据库 第四讲(含习题)

习题

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你选对了