《数据库原理与应用》(孟凡荣-闫秋艳)课后习题答案 联系客服

D 应用程序与数据库中数据的逻辑结构相互独立

⑾数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指( )。

A 同一应用中的多个程序共享一个数据集合 B 多个用户、同一种语言共享数据 C 多个用户共享一个数据文件

D 多种应用、多种语言、多个用户相互覆盖地使用数据集合

⑿在数据库技术中,为提高数据库的逻辑独立性和物理独立性,数据库的结构被划分成用户级、( )和存储级三个层次

A 管理员级 B 外部级 C 概念级 D 内部级 ⒀在数据库中,产生数据不一致的根本原因是( )。

A 数据存储量太大 B 没有严格保护数据 C未对数据进行完整性控制 D 数据冗余 ⒁数据库具有①、最小的②和较高的程序与数据③。

① A 程序结构化 B 数据结构化 C 程序标准化 D 数据模块化 ② A 冗余度 B 存储量 C 完整性 D 有效性 ③ A 可靠性 B 完整性 C 独立性 D 一致性

⒂在数据库的三级模式结构中,描述数据库中全体数据的逻辑结构和特征的是( )。

A 外模式 B 内模式 C 存储模式 D 模式

1-5:A, C, C, A, C 6-10:A, B, A, C, C 11-15:D,C, D,BAC,D

1.5 对于工程硕士的管理需要掌握的信息有:学生现在的工作单位、职务、简历情况,其中简历情况包括开始时间、终止时间、单位、担任职务、证明人;学生目前在校情况,包括学生的学号、所在学院、所学专业、入学时间、导师;学生在校所学的课程号、课程名、学时、授课教师及成绩;学院包括学院代号、学院名称、院长;导师包括导师职工编号、姓名、出生日期、职称、研究方向。

要求:

⑴确定实体及实体型属性; ⑵找出实体间的联系; ⑶画出E-R图。

(1) 学生:学号,姓名,专业,学院,入学时间,工作单位,导师号,建立号,职务 简历:简历号,开始时间,结束时间,证明人,单位,担任职务 课程:课程号,学时,课程名,授课教师 学院:学院代号,学院名称,院长

导师:导师号,姓名,出生日期,研究方向 (2) 学生-简历:1:n 学生-学院:n:1 学生-导师:n:1 学生-课程:n:m 导师-学院:n:1 (3)

姓名学号入学时间学生工作单位导师号简历号职务学院专业图1 学生实体及其属性

图2 简历实体及其属性

图3 课程实体及其属性

图4 学院实体及其属性

图5 导师实体及其属性

简历n拥有1导师1指导n学生n学习m课程成绩n属于

1学院图6 实体联系图

第二章

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] ?t[2]=v[3]?v[1]= ‘090111’)} (4)检索至少选修刘老师所教授课程中一门课的女学生姓名

{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))

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