关系运算习题答案及作业要求教学文稿

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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))

相关文档
最新文档