(3)R3=σB=D(R⨯S)
R
A
B
C
3
6
7
4
5
7
7
2
3
4
4
3
S
C
D
E
3
4
5
7
2
3
解:
各小题计算结果如下表所示。
R1
A
B
C
D
E
3
6
7
2
3
4
5
7
2
3
7
2
3
4
5
4
4
3
4
5
R2
A
C
E
C
D
E
7
2
3
7
2
3
R3
A
C
E
C
D
E
7
2
3
7
2
3
4
4
3
3
4
5
4设有如下表所示的关系R、W和D,计算:
(1)R1=ΠY,T(R)
(2)R2=σ(P>5∧T=’e’)(R)
(3)R3=R
W
(4)R4=Π1,2,6(σ3=5(R⨯D))
(5)R5=R÷D
R
P
Q
T
Y
2
b
c
d
9
a
e
f
2
b
e
f
9
a
d
e
7
g
e
f
7
g
c
d
W
T
Y
B
c
d
m
c
d
n
d
f
n
D
T
Y
c
d
e
f
解:
各小题计算结果如下表所示。
R1
Y
T
d
c
f
e
e
d
R2
P
Q
T
Y
9
a
e
f
7
g
e
f
R3
P
Q
T
Y
B
2
b
c
d
m
2
b
c
d
n
7
g
c
d
m
7
g
c
d
n
R4
P
Q
Y
2
b
d
9
a
f
2
b
f
7
g
f
7
g
d
R5
P
Q
2
b
7
g
5设有如下表所示的关系R和S,计算:
(1)R1={t│(∃u)(S(u)∧R(t)∧t[1]>u[2]∧t[2]≠8)}
(2)R2={xyz│((S((xyz)∨R((xyz))∧y=2∧z≠1))
S
A
B
C
4
5
6
3
2
3
7
8
9
R
A
B
C
1
2
3
4
5
6
7
8
9
3
2
1
1
2
1
解:
本题的计算结果下表所示。
R1
A
B
C
4
5
6
3
2
1
R2
A
B
C
3
2
3
1
2
3
6设有如下表所示的关系R和S,写出下列元组演算表达式表示的关系。
R
A1
A2
A3
1
a
1
3
a
5
4
c
4
2
b
0
S
A1
A2
A3
1
a
1
7
f
8
9
e
9
0
c
5
(l)R1={t│R(t)∧S(t)}
(2)R2={t│R(t)∧t[2]=a}
(3)R3={t│(∃u)(R(t)∧S(u)∧t[1]
(4)R4=t│(∃u)(R(u)∧t[1]=u[3]∧t[2]=u[1])}
解:
各元组演算表达式表示的关系如下表所示。
(l)R1
A1
A2
A3
3
a
5
4
c
4
2
b
0
(2)R2
A1
A2
A3
1
a
1
3
a
5
(3)R3
A1
A2
A3
1
a
1
3
a
5
4
c
4
(4)R4
A3
A1
1
1
5
3
4
4
0
2
7将关系代数中的五种基本运算用元组关系演算表达式表示。
解:
(1)R⋃S={t│R(t)∨S(t)}
(2)R-S={t│R(t)∧⌝S(t)}
(3)R⨯S={t│(∃u)(∃v)(R(u)∧S(v)∧t[1]=u[1]∧⋯∧t[k1]=u[k1]∧t[k1+1]=v[1]∧⋯∧t[k1+k2]=v[k2])}
(假设R为k1元关系,S为k2元关系)
(4)Πil,i2,…,ik(R)={t│(∃u)(R(u)∧t[1]=u[il]∧t[2]=u[i2]∧⋯∧t[k]=u[ik])}
(5)σF(R)={t│R(t)∧F’}
(其中,F’是与F等价的公式)
8设有如下表所示的关系R、S和W,写出下列域演算表达式的结果。
R
A
B
C
5
b
1
4
a
6
1
c
8
S
A
B
C
5
b
6
5
d
3
2
c
4
W
D
E
F
2
a
d
5
b
e
4
c
f
(1)R1={xyz│R(xyz)∧(z>5∨y=a)}
(2)R2={xyz│R(xyz)∨S(xyz)∧x=5∧z≠6}
(3)R3={vyx│(∃z)(∃u)(R(xyz)∧W(uvt)∧z>u)}
解:
各域演算表达式的结果如下表所示。
R1
A
B
C
4
a
6
1
c
8
R2
A
B
C
5
b
1
4
a
6
1
c
8
5
d
3
R3
E
B
A
a
a
4
b
a
4
c
a
4
a
c
1
b
c
1
c
c
1
9将关系代数中的五种基本运算用域关系演算表达式表示(假设R和S都为属性名相同的二元关系)。
解:
(1)R⋃S={xy│R(xy)∨S(xy)}
(2)R-S={xy│R(xy)∧⌝S(xy)}
(3)R⨯S={wxyz│(∃w)(∃y)(R(wx)∧S(yz))}
(4)Π2(R)={y│R(xy)}
(5)σF(R)={xy│R(xy)∧F’}(其中F’是与F等价的公式)
10设有如下表所示的两个关系E1和E2,其中E2是从E1中经过关系演算所形成的结果,试给出该运算表达式。
E1
A
B
C
1
2
3
4
5
6
7
8
9
E2
B
C
5
6
8
9
解:
从E1生成E2经过关系演算是Π2,3(σB>2(E1))。
11设有如下表所示的三个关系S、C和SC。
将下列关系代数表达式用汉语表示出来,并求其结果。
S
学号
姓名
年龄
性别
籍贯
98601
王晓燕
20
女
北京
98602
李波
23
男
上海
98603
陈志坚
21
男
长沙
98604
张兵
20
男
上海
98605
张兵
22
女
武汉
C
课程号
课程名
教师姓名
办公室
C601
高等数学
周振兴
416
C602
数据结构
刘建平
415
C603
操作系统
刘建平
415
C604
编译原理
王志伟
415
SC
学号
课程号
成绩
98601
C601
90
98601
C602
90
98601
C603
85
98601
C604
87
98602
C601
90
98603
C601
75
98603
C602
70
98603
C604
56
98604
C601
90
98604
C604
85
98605
C601
95
98605
C603
80
(1)Π2,6,7(σ籍贯=’上海’(S
SC)
(2)Π2,9,8(S
SC
σ课程名=’操作系统’))
(3)Π2,3(S
(Π1,2(SC)÷Π1(C))
解:
(1)检索籍贯为上海的学生的姓名、学号和选修的课程号,其结果为下图中的R1。
(2)检索选修操作系统的学生姓名、课程号和成绩,其结果为下图中的R2。
(3)检索选修了全部课程的学生姓名和年龄,其结果为下图中的R3。
R1
姓名
学号
课程号
李波
98602
C601
张兵
98604
C601
张兵
98604
C604
R2
姓名
课程号
成绩
王晓燕
C603
85
张兵
C603
80
R3
姓名
年龄
王晓燕
20
1216.设有如下表所示的三个关系S、C和SC。
试用关系代数表达式表示下列查询语句:
S
S#
SNAME
AGE
SEX
1
李强
23
男
2
刘丽
22
女
5
张友
22
男
C
C#
CNAME
TEACHER
k1
C语言
王华
k5
数据库原理
程军
k8
编译原理
程军
SC
S#
C#
GRADE
1
k1
83
2
k1
85
5
k1
92
2
k5
90
5
k5
84
5
k8
80
(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。
(2)检索年龄大于21岁男学生的学号(S#)和姓名(SNAME)。
(3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。
(4)检索“李强”同学不学课程的课程号(C#)。
(5)检索至少选修两门课程的学生学号(S#)。
(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
(7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。
(8)检索选修课程号为k1和k5的学生学号(S#)。
(9)检索选修全部课程的学生姓名(SNAME)。
(10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。
(11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。
解:
本题各个查询语句对应的关系代数表达式表示如下:
(l)ΠC#,CNAME(σTEACHER=’程军’(C))
(2)ΠS#,CNAME(σAGE>21∧SEX=’男’(S))
(3)ΠSNAME(S
(ΠS#,C#(SC)÷ΠC#(σTEACHER=’程军’(C))))
(4)ΠC#(C)-ΠC#(σNAME=’李强’(S)
SC)
(5)ΠS#(σ[1]=[4]∧[2]≠[s](SC⨯SC))
(6)ΠC#,CNAME(C
(ΠS#,C#(SC)÷ΠS#(S)))
(7)ΠS#(SC
ΠC#(σTEACHER=’程军’(C)))
(8)ΠS#,C#(SC)÷ΠC#(σC#=’k1’∨C#=’k5’(C))-σC#≠’k1’∨C#≠’k5’(ΠS#,C#(SC)÷ΠC#(σC#=’k1’∨C#=’k5’(C)))
(9)ΠSNAME(S
(ΠS#,C#(SC)÷ΠC#(C)))
(10)ΠS#,C#(SC)÷ΠC#(σC#=2(SC))
(11)ΠS#,SNAME(S
ΠS#(SC
(σCNAME=’C语言’(C))))
13对于上题的关系S、C和SC,试用元组演算表达式表示下列查询语句。
(1)检索选修课程号为“k5”的学生学号和成绩。
(2)检索选修课程号为“k8”的学生学号和姓名。
(3)检索选修课程名为“C语言”的学生学号和姓名。
(4)检索选修课程号为“k1”或“k5”的学生学号。
(5)检索选修课程号为“k1”和“k5”的学生学号。
(6)检索不选修“k8”课程的学生姓名和年龄。
(7)检索选修全部课程的学生姓名。
(8)检索所选修课程包含“1”号学生所选课程的学生学号。
解:
本题各个查询语句对应的元组演算表达式表示如下:
(1)R⋃S={t│R(t)∨S(t)}
(2)R-S={t│R(t)∧⌝S(t)}
(3)R⨯S={t│(∃u)(∃v)(R(u)∧S(v)∧t[1]=u[1]∧⋯∧t[k1]=u[k1]∧t[k1+1]=v[1]∧⋯∧t[k1+k2]=v[k2])}
(1)R1={t(1,2)│(∃u)(SC(u)∧u[2]=‘k5’∧t[1]=u[1]∧t[2]=u[3])}
(2)R2={t(1,2)│(∃u)(∃v)(S(u)∧SC(v)∧v[2]=‘k8’∧u[1]=v[1]∧t[1]=u[1]∧t[2]=u[2])}
(3)R3={t│(∃u)(∃v)(∃w)(S(u)∧SC(v)∧C(w)∧u[1]=v[1]∧v[2]=w[1]∧w[2]=‘C语言’∧t[1]=u[1]∧t[2]=u[2])}
(4)R4={t│(∃u)(SC(u)∧(u[2]=‘k1’∨u[2]=‘k5’)∧t[1]=u[1])}
(5)R5={t│(∃u)(∃v)(SC(u)∧SC(v)∧u[2]=‘k1’∧v[2]=‘k5’∧u[1]=v[1]∧t[1]=u[1])}
(6)R6={t│(∃u)(∀v)(S(u)∧SC(v)∧(u[1]≠v[1]∨v[2]≠‘k8’)∧t[1]=u[2]∧t[2]=u[3])}
(7)R7={t│(∃u)(∀