一、选择题
1 等值连接与自然连接是 ( )。
A.相同的
B.不同的,自然连接是两表普通连接
C. 不同的,自然连接连接条件无等值要求
D.不同的,自然连接连接条件有等值要求
D
2 关系数据库管理系统应能实现的专门关系运算包括 。
A.排序、索引、统计
B.选择、投影、连接
C.关联、更新、排序
D.显示、打印、制表
B
3 关系运算中花费时间能最长的运算是( ) 。
A.不可再分
B.选择
C.笛卡尔积
D. 除
C
4 设有关系R,按条件f对关系R进行选择,正确的是 ( ) 。
A.R×R
B.R-R
C. δf (R)
D. ∏f (R)
C
5 欲从已知关系中按某条件取出两列,则应采取关系代数的( )运算
A.选择
B.投影
C.连接
B
6 在关系代数运算中,五种基本运算为 ( ) 。
A.并、差、选择、投影、自然连接
B.并、差、交、选择、投影
C.并、差、选择、投影、乘积
D.并、差、交、选择、乘积
C
7 自然连接是构成新的有效方法。一情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的 ( )。
A.元组 B.行
C.记录 D.属性
D
8 从关系中挑选出指定的属性组成新关系的运算称为( )。
A.“选取”运算 B. “投影”运算
C.“连接“运算 D.“交”运算
B
9 关系数据库管理系统应能实现的专门关系运算包括( )。
A. 排序、索引、统计 B. 选择、投影、连接
C. 关联、更新、排序 D. 显示、打印、制表
B
10 逻辑表达式运算的结果是( )。
A.数值型 B. 字符型
C.逻辑型 C. 日期型
C
11 设域 D1={a1,a2,a3},D2={1,2},D3={计算机 打印机 扫描仪}。则D1、D2 和D3 的笛卡儿积的基数为( )。
A.2 B. 3
C. 8 D. 18
D
12 下列哪种运算不属于关系代数的基本运算( )。
A. 连接 B. 笛卡儿积
C. 相减 D. 投影
A
13 有两个关系 R和S ,分别包含15个和10个元组,则在R ∪ S,R - S,R ∩S 中不可能出现的元组数目情况是( )。
A.15,5,10 B.18,
7,7
C.21,11,4 D.25,15,0
B
14 在关系模型中,实现关系中不允许出现相同的元组的约束是通过( )实现的。
A. 候选键 B. 主键
C. 外键 D. 超健
B
15 如图所示,两个关系R1和R2,它们进行( )运算后得到R3.
R1 R2 R3
A B C D E M A B C E M
a 1 x 1 m i a 1 x m i
c 2 y 2 n j d 1 y m i
d 1 y 5 m k c 2 y n j
A.交
B.交
C.笛卡尔积
D.连接
D
二、填空题
1 传统的集合"并、交、差"运算施加于两个关系时,这两个( ) 必须相等
,( ) 必须取自同一个域。
关系结构
相应字段
2 从指定的关系中选择指定的若干属性组成一个新关系的运算称为( )运算
投影
3 关系操作的特点是( )操作。
结果仍为关系
4 关系代数是用对关系的运算来表达查询的,而关系演算是用( ) 查询的,它又分为( ) 演算和( ) 演算两种。
谓词
元组
域
5 关系代数运算中,传统的集合运算有 ( ) 、 ( ) 、 ( )和 ( )。
并
交
差
笛卡尔积
6 关系代数运算中,基本的运算是 ( ) 、 ( ) 、 ( ) 、 ( )和 ( )。
并
差
选择
投影
笛卡尔积
7 关系代数运算中,专门的关系运算有 ( ) 、 ( )、 ( )和 ( ) 。
选择
投影
连接
除法
8 关系代数中,从两个关系中找出相同元组的运算称为 ( ) 运算。
交
9 关系数据库中基于数学上两类运算是 ( ) 和 ( ) 。
关系代数
关系演算
10 关系代数是用( )来表达查询要求的方法。
关系运算
11 关系运算包括两类:一类是传统的( )运算,另一类是专门的( )运算。
集合、关系
12 在选择运算所得到的结果关系中,所含的元组数不会( )原关系中的元组数。
多于
13 关系数据库的关系演算语言是以( )为基础的DML语言。
谓词演算
14 设关系 R和关系 S具有相同的元素,且对应的属性取自相同的域。集合 {t|t∈R∧t∈S} 表示的是( )。
A.R∪S B.R-S C.R × S D.R ∩ S
D
15 在关系代数的传统集合运算中,假定有关
系R和S,运算结果为W。如果W中的元组属于R,或者属于S,则W为( )运算的结果。如果W中的元组属于R而不属于S,则W为( )运算的结果。如果W中的元组既属于R又属于S,则W为( )运算的结果。
A.笛卡尔积
B.并
C.差
D.交
B
C
D
16 在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为( );从表中选出满足某种条件的元组的操作称为( );将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为( )。
A.选择
B.投影
C.连接
D.扫描
B
A
C
三、简答题
1 写出自然联接用基本关系代数运算的表示形式,并举例验证之。
设关系R与S有共同元素A
R|×|s=δR.A=S.A (R×s)
2 设有两个关系E1和E2,其中E2是从E1中经过关系运算所形成的结果,试给出该运算表达式。
E1 E2
A | B | C E | F
1 | 2 | 3 5 | 6
4 | 5 | 6 8 | 9
7 | 8 | 9
δA>1(∏B,C (E1))
3 设有如下关系R1和R2,试求出它们的并、交、差运算结果。
R1 R2
A | B | C A | B | C
─┴─┴─ ─┴─┴─
a | b | c a | b | c
d | f | e d | e | f
g | h | i g | h | i
并
A B C
a b c
d f e
g h i
d e f
交
A B C
a b c
g h i
差(R1-R2)
A B C
d f e
4 关系操作的表示方式有哪些?
答 关系操作的表示方式有代数方式、逻辑方式以及结合两者特点的方式。
5 关系代数运算与关系演算运算有什么区别?
答 关系代数运算是以关系为对象,由并、差、笛卡儿积、投影、选择5个基本操作进行有限次的复合运算。
关系演算是以元组或域为运算对象,由数理逻辑的谓词(∧、∨、Θ、Э、?)进行有限次的演算。
关系代数运算是安全的,而关系演算就不一定是安全的,因为它可能出现无限关系和无穷验证过程。
6 什么是笛卡儿积
笛卡儿积:给定一组域 D1,D2,…Dn ,且他们可以相同。这组域的笛卡儿积定义为:
D1×D2×…×Dn={(d1,d2,…,dn)aaaadi∈Di,i=1,2,…,n},其中的每一个元素 (d1,d2,
…,dn)叫做一个 n元组(n-tuple)或简称元组,元素中每个di 叫做第i 个分量。
7 关系代数的概念和作用是什么?
以关系为计算单元的运算,与关系查询及关系集合运算对应,可以帮助我们对实际查询问题进行分析与处理,是关系查询的理论基础
8 关系代数的运算按运算符的不同主要分为哪几类?
传统关系运算(集合运算)(并、交、差、笛卡尔积)与专门关系运算(关系查询)(选择、投影、连接、除法)
9 关系数据库的数据查询,按照表达式查询的方式可分为哪两大类?其中一种按谓词变元的基本对象又可分为什么?
关系代数
关系演算(元组、域)
10 简述在关系代数中修改、插入、删除操作的步骤。
修改:首先做选择、投影操作,再修改相关数据
插入:首先在同结构表中填入数据,再求并集
删除:首先做选择得到新表,再求差
11 解释下列术语:集合,选择运算,投影运算,除法运算,连接。
选择:根据某条件筛选记录。例:δ班级="0411" (学生)
投影:根据要求求所需要的列。例:∏姓名,电话号码 (学生)
连接:根据某条件将二个表联接成一个表,其字段等于原二个表字段的集合。例: 学生 |×| 成绩
12 投影是一种什么关系?
原关系的列向子集
13 什么叫自然连接?什么叫无损连接?
自然连接:二表通过相同字段名字段进行等值连接并去掉重复字段
无损连接:一表分解为二表后能通过自然连接还原为原表
四、应用题
1 关于学生有关系:学生(学号、姓名、年龄、性别),每个学生可有多项特长,逐一填写进数据库:特长(学号、特长)试用关系代数表示:
①所有学生姓名、年龄、性别、特长
②所有既喜欢"唱歌"又爱好"足球"的学生姓名
∏姓名,年龄,性别,特长 (学生 |×| 特长)
∏姓名 (δ特长="唱歌" ∧特长="足球" (学生 |×| 特长))
2 两个关系集如下表
R S
┌──┬──┬──┐ ┌──┬──┬──┐
│ A │ B │ C │ │ A │ B │ C │
├──┼──┼──┤ ├──┼──┼──┤
│ a1 │ b1 │ c1 │ │ a1 │ b2 │ c2 │
├──┼──┼──┤ ├──┼──┼──┤
│ a1 │ b2 │ c2 │ │ a1 │ b3 │ c2 │
├──┼──┼──┤ ├──┼──┼──┤
│ a2 │ b2 │ c1 │ │ a2 │ b2 │ c1 │
└──┴──┴──┘ └──┴──┴──┘
①求R∪S
②求R∩S
③求R-S
④求∏A,B(δB=b2(R))
① R∪S
┌──┬──┬──┐
│ A │ B │ C │
├──┼──┼──┤
│ a1 │ b1 │ c1 │
├──┼──┼──┤
│ a1 │ b2 │ c2 │
├──┼──┼──┤
│ a1 │ b3 │ c2 │
├──┼──┼──┤
│ a2 │ b2 │ c1 │
└──┴──┴──┘
② R∩S
┌──┬──┬──┐
│ A │ B │ C │
├──┼──┼──┤
│ a1 │ b2 │ c2 │
├──┼──┼──┤
│ a2 │ b2 │ c1 │
└──┴──┴──┘
③求R-S
┌──┬──┬──┐
│ A │ B │ C │
├──┼──┼──┤
│ a1 │ b1 │ c1 │
└──┴──┴──┘
④求∏A,B(δB=b2(R))
┌──┬──┐
│ A │ B │
├──┼──┤
│ a1 │ b2 │
├──┼──┤
│ a2 │ b2 │
└──┴──┘
3 设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:
S
S# SNAME AGE SEX
1 李强 23 男
2 刘丽 22 女
3 张友 22 男
C
C# CNAME TEACHER
K1 C语言 王华
K5 数据库原理 程军
K8 编译原理 程军
SC
S# C# NO
1 K1 83
2 K1 85
3 K1 92
2 K5 90
3 K5 84
3 K8 80
(1)检索"程军"老师所授课程的课程号(C#)和课程名(CNAME)。
∏C#, CNAME (δTEACHER ="程军" (C))
(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
∏S#, SNAME (δAGE >21 (S))
(3)检索至少选修"程军"老师所授全部课程的学生姓名(SNAME)
∏SNAME (δTEACHER ="程军" (S |×| SC |×| C))
(4)检索"李强"同学不学课程的课程号(C#)。
∏C#(C)-∏C# (δSNAME ="李强" (S |×| SC)
(5)检索选修课程包含"程军"老师所授课程之一的学生学号(S#)
∏S# (δTEACHER ="程军" (C |×| SC)
(6)检索选修课程包含学号为2的学生所修课程的学生学号(S#)
(∏S#, C#(SC))÷∏C#( δS#=2 (SC))
(7)检索选修课程号为k1和k5的学生学号(S#)。
(∏S#, C#(SC))÷∏C#
( δC#=’ k1’∨C#=’ k2’(SC))
(8)检索选修全部课程的学生姓名(SNAME)。
∏SNAME(S |×| (∏S#, C#(SC))÷∏C#(SC))
(9)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
∏CNAME(C |×| (∏S#, C#(SC))÷∏S#(SC))
4 有关系R如图所示求∏[1][3]( δ[2]='3'(R))
┌─┬─┬─┬──┬─┐
│A │ B│ C│ C │D │
│a1│ 3 │ 7│ c1 │ 5 │
│a2│ 2│ 5│ c2 │ 8 │
│a3│ 2│ 9│ c3 │ 9 │
└─┴─┴─┴──┴─┘
求∏[1][3]( δ[2]='3'(R))
┌─┬─┐
│A │ C│
│a1│ 7 │
└─┴─┘
5 有关系S1、S2如图示:
┌─┬─┬─┐ ┌─┬─┐
S1 │A │B │C │ S2│C │D │
├─┼─┼─┤ ├─┼─┤
│ 1│2 │3 │ │3 │5 │
│ 4│5 │4 │ │4 │7 │
│ 7│2 │3 │ │ │ │
└─┴─┴─┘ └─┴─┘
①求∏[2][3](δB=2(S1))
┌─┬─┐
S1 │B │C │
├─┼─┤
│2 │3 │
└─┴─┘
②求∏[1][2][4](δA=1(S1 × S2))
┌─┬─┬─┬─┐
S1 │A │B │ C│D │
├─┼─┼─┼─┤
│1 │2 │3 │5 │
└─┴─┴─┴─┘
③用关系代数表示查询
若D='5',A=?
∏A(δD='5' (S1 × S2))
6 设 R和S 分别是三元和二元关系,试把关系代数表达式 ∏1,5(δ2=4∨3=4 ( R × S)) 转换成等价的:①汉语描述的查询要求; ②元组关系演算表达式 ;③域关系演算表达式。
①以上关系代数表达式的查询要求是:在关系R 和 S的笛卡儿积中,选择第2列与第4列相等或第3列与第4列相等的元组,再在第1和第5列上进行投影。
②元组关系演算表达式
{t[1]aaaa(u)(v)(R(u)∧S(v) ∧(u[2]=v[4]∨u[3]=v[4]) ∧t[1]=u[1] ∧t[2]=v[2])}
③设R的属性列为a,b,c,S的属性列为x,y,则其域关系演算表达式为{taaaaR(t) ∧( u)(S(u) ∧u[1] ≠t[2])}