关系运算习题答案及作业要求教学文稿
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库系统原理关系运算习题答案
1、笛卡尔积、等值联接、自然联接三者之间有什么区别?笛卡尔积对两个关系R和S进行乘操作,产生的关系中元组个数为两个关系中元组个数之积。
等值联接则是在笛卡尔积的结果上再进行选择操作,从关系R和S的笛卡儿积中选择对应属性值相等的元组;
自然连接则是在等值联接(以所有公共属性值相等为条件)的基础上再行投影操作,并去掉重复的公共属性列。当两个关系没有公共属性时,自然连接就转化我笛卡尔积。
2、设有关系R和S (如下:)
R A B C苦-A
67345
57723
23
43
计算:
R 冈汶 ABC
7 2
3
3、 设有关系R 和S (如下:)
S:
计算:
RUS, R-S, RdS , RXS,
RUS ABC
尺一£ A
3
6 7 J 2
5 7 2 7 2 3
Q
4
4 3
3
4
5 RXS R ・A ItB R.C S.A S.B S.C
3 6 7
5
3 6 7
3
2 5 7
2 5 T
7 2 3
B
C
RAS A
B
C
6 7
5 7
7 2
3
4
3
71
3,2
a
B< ・犷(R)
JL
E C
C E A
7 2 3
5 4
3
2
g
4 3
RM S Z<2 R.A
Rf S.A S.B
S C 7 2
3
3 4
5
7 2
3 ^23
4 4
3 3
4
5 4 4
3
7 2
2<2
R 恩E A R.B s.& C
a b b 0 a b
b d
c b b c e b
b d
□ U (RX S) A 巳呂 S.B C
a b e a c b b c d
e
b
d
4、如果R 是二元关系,那么下列元组表达式的结果是什么 ? {t|(三 u)(R(t) A R(u) A (t[1]工 u[1] V t[2]工 u[2]))}
这个表达式的意思是:从关系 R 中选择元组,该元组满足:第1分量值或 第2
分量值至少有一个不等于其他某元组。
由于R 是二元关系,只有两个分量,
由于没有重复元组,上述条件显然满足。 所以,这个表达式结果就是关系 Ro 5、 假设R 和S 分别是三元和二元关系,试把表达式 n 1,5( (T 2=4V 3=4(R X S))转换成
等价的:(1)汉语查询句子;(2)元组表达式;(3)域表达式。
(1) 汉语表达式:
从R XS 关系中选择满足下列条件的元组:
第2分量(R 中第2分量)与第4分量(S 中第1分量)值相等,或第3分量(R 中第3分量)与第4分量(S 中第1分量)值相等;并取第1列与第5列组成的 新关系。 (2) 元组表达式:
{t|(三 u)(三v)(R(u) A S(v) A (u[2]=v[1] V u[3]=v[1]) A t[1]=u[1] A t[2]=v[2])} ⑶ 域表达式:{xv|(匚y)(三 z)(日 u)(R(xyz) A S(uv) A (y=u V z=u))} 6
假设R 和S 都是二元关系,试把元组表达式
{t|R(t) A ( u)(S(u) A u[1]工t[2])}转换成等价的: ⑴ 汉语查询句子;⑵ 域
表达式:(3)关系代数表达式。
(1)汉语表达式:选择R 关系中元组第2分量值不等于S 关系中某元组第1分量值 的元组。
⑵ 域表达式:{xy|(三 u)(三 v)(R(xy) A S(uv) A (u 丰y))} ⑶ 关系代数表达式:n 1,2((T 2^(R X S))
R EE A B C
a D Q a
b d
c b c c b
d d
e a
7、设有两个关系R(A, B, C)和S(D, E, F),试把下列关系代数表达式转换成等价的元组表达式:
(1) n A(R);(2) (T B='17' (R);⑶ R x S;⑷n A,F (T C=d(R X S))
8、设有三个关系:
S(S#,SNAME,AGE,SEX)
SC(S#,C#GRADE) C(C#,CNAME,TEACHER)
试用关系代数表达式、兀组表达式表示下列查询语句。
(1) 检索LIU老师所授课程的课程号、课程名。
n C#,CNAM E( T TEACHER='LIU' (C))
{t|(三u)(C(u) A C[3]='LIU' A t[1]=u[1] A t[2]=u[2])}
(2) 检索年龄大于23岁的男学生的学号与姓名。
n S#,SNAM E( T AGE>'23' A SEX^ '(S))
{t|(三u)(S(u) A u[3] > '23' A u[4]='男'A t[1]=u[1] A t[2]=u[2])}
(3) 检索学号为S3学生所学课程的课程名与任课教师名。
n CNAME,TEAC H ER T S#='S3' (SC;TC))
{t|(三u)(三v)(SC(u) A C(v) A u[1]='S3' A v[1]=u[2] A t[1]=v[2] A t[2]=v[3])}
(4) 检索至少选修LIU老师所授课程中一门课程的女学生的姓名。
n SNA M E T SEX='女'A TEACHER='LIU' (SH1SCV1C))
{t|(三u)(三v)(三w)(S(u) A SC(v) A C(w)A u[4]='女'A v[1]=u[1] A v[2]=w[1] A w[3]='LIU' A t[1]=u[2])}
(5) 检索WAN銅学不学的课程号。
n C#(C)- n C#(T SNAME='WAN<(S: 或者, n C#(SC)- n C#(T SNAME='WAN G'S【:":1SC))(全部课程号减去WANGO学所学的课程号) {t|(三u)( Tv)(C(u) A SC(v) A (u[1]=v[2]=>( 三w)(s(w) A w[1]=v[1] A W[2]工'wang')) A t[1]=u[1 ])} (从C中选择满足条件的元组:SC中的所有元组,如果学号与C中所选元组相同的话,其在S中对 应的姓名肯定不是'wang'。) Notice: "p1= >p2"的含义是:如果pl为真,则p2为真。 (6) 检索至少选修两门课程的学生学号。 n S#( (T 1=4八2工5 (SC X SC))