《数据库原理与应用》课后习题答案

第二章

2.1 试述关系模型的3个组成部分

答:关系模型由关系数据结构、关系操作和关系完整性约束三部分组成。 2.2 一个关系模式能否没有关键字?为什么?

答:不可以没有关键字,因为关键字是元组的唯一标志,如果没有关键字则无法唯一标识一个元组。

2.3 试述关系模型的完整性规则。在参照完整性中,为什么外部关键字属性的值也可以为空?什么情况下才可以为空? 答:(1)实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。

(2)参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。即属性F本身不是主属性,则可以取空值,否则不能取空值。

当外部关键字F对应的主键Ks值为空值时,说明F暂时没有赋值,此时F值必须取空值。

2.4一个n行、m列的二维表(其中没有两行或两列全同),将行或列交换后,能导出多少个不同的表? 答:1个 2.5 答:

(1) 最小个数为:取m,n中的大者;最大个数为:m+n (2) 最小个数为:0;最大个数为:取m,n中的小者 (3) 最小个数为:0;最大个数为:m*n (4) 最小个数为:0;最大个数为:n 2.6 答:

R?S= {(3,6,7), (2,5,7), (7,2,3), (4,4,3), (3,4,5)} R-S= {(3,6,7), (2,5,7), (4,4,3) } R?S= {(7,2,3)}

R×S= {(3,6,7,3,4,5), (3,6,7,7,2,3), (2,5,7,3,4,5), (2,5,7,7,2,3), (7,2,3,7,2,3), (7,2,3,3,4,5), (4,4,3,3,4,5), (4,4,3,7,2,3) } ?3,2(s)= {(5,4),(3,2)}

?B<‘5’(R)= {(7,2,3),( 4,4,3)} 2.7

答:该表达式的意思是:从关系R中选择元组,该元组满足:第1分量值或第2分量值至少有一个不等于其他某元组,即选择与其他元组不完全相同的元组。由于关系模型的性质要求,关系中不能够有重复的元组,因此上述条件一定满足,所以,这个表达式结果就是R。 2.8

(1)从R和S的笛卡尔积中选择满足下列条件的元组: 第2分量与第4分量相等,或第3分量和第4分量相等,并取第1分量和第5分量构成新的关系。

(2)元组表达式

(3)域表达式 2.9 (1)汉语表达式:选择R关系中元组第2分量值不等于S关系中某元组第1分量值的元组。 (2)关系代数表达式: (3)域表达式: 2.10

(1)汉语表达式:选择R中元组第1分量值与第2分量值互换后仍存在于R中的元组。 (2)关系代数表达式: (3)域表达式: 2.11 (1) (2) (3) (4) 2.12

设有关系:S(SNO,SNAME,AGE,SEX,CDEPT); SC(SNO,CNO,GRADE);

C(CNO,CNAME,CDEPT,TNAME); 用关系代数表示 (1) 刘老师所教授课程的课程号、课程名 ∏CNO,CNAME(σTNAME=‘刘’(C))

(2) 检索年龄大于23的男学生的学号和姓名 ∏SNO,SNAME(σAGE>23∩SEX=‘男’ (S) )

(3) 检索学号为‘090111’学生所学课程的课程名与任课教师名 ∏CNAME,TNAME(C ∞σSNO=‘090111’SC )

(4) 检索至少选修刘老师所教授课程中一门课的女学生姓名 ∏SNAME(σTNAME=‘刘’(C) ∞ SC∞σSEX=‘女’(S)) (5) 检索‘王一宁’同学不学课程的课程号

∏CNO(C) - ∏CNO(σSNAME=‘王一宁’(S)∞ SC) (6) 检索至少选了两门课的学生学号 ∏SNO(σ[1]=[4] ∩ [2]<>[5]( SC × SC))

(7) 检索全部学生都选修的课程的课程号和课程名 ∏CNO,CNAME(C ∞(∏SNO,CNO(SC)÷∏SNO(S)))

(8) 检索选修课程包括刘老师所教授课程的学生姓名 ∏SNAME(SC∞σTNAME=‘刘’(C)) 2.13

(1)刘老师所教授课程的课程号、课程名

{t|(u)(C(u)t[1]=u[1] t[2]=u[2] C[3]=‘刘’)} (2)检索年龄大于23的男学生的学号和姓名

{t|(u)(S(u)t[1]=u[1] t[2]=u[2] u[3]> 23 u[4]= (3)检索学号为‘090111’学生所学课程的课程名与任课教师名 {t|(u)(v)(C(v)SC(u)v[1]=u[2]t[1]=v[2] ‘090111’)}

(4)检索至少选修刘老师所教授课程中一门课的女学生姓名

)} t[2]=v[3]v[1]= ‘男’{t|(u)(v)(w)(S(u)SC(v)C(w) u[4]= ‘女’v[1]=u[1] v[2]=w[1] w[3]=‘刘’t[1]=u[2])}

(5)检索‘王一宁’同学不学课程的课程号 (6)检索至少选了两门课的学生学号

(7)检索全部学生都选修的课程的课程号和课程名

(8)检索选修课程包括刘老师所教授课程的学生姓名 2.15

(1)πCNO,TNAME (σSDEPT=‘计算机’ (S) ∞SC∞σCDEPT=‘自动化’ (C) ) (2) πCNO,TNAME (σSDEPT=‘计算机’ ∧ σCDEPT=‘自动化’ ∧ S.SNO=SC.SNO∧SC.CNO=C.CNO (S× SC × C)) (3)

ΠCNO,TNAME σSDEPT=‘计算机’∧ σCDEPT=‘自动化’ ∧S.SNO=SC.SNO∧SC.CNO=C.CNO × × SC C S

ΠCNO,TNAME σSC.CNO=C.CNO × σS.SNO=SC.SNO × SDEPT=‘计算机’ SC S CDEPT=‘自动化’ C σ σ

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4