数据库系统概论试题及答案 版 下载本文

三、简答题

1. 关系的三类完整性约束条件是?

答:

① 实体完整性:规定主属性不能为空

② 参照完整性:规定参照关系中的外码的取值范围 ③ 用户自定义的完整性

四、应用题

设有如下所示的关系:S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)、SC(S#,C#,GRADE) 试用关系代数表达式表示下列查询语句:

(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。

∏C#,CNAME(σTEACHER=‘程军’(C))

(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。

∏S#,SNAME(σAGE>21∧SEX=‘男’(S))

(3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。 ∏SNAME{s?? [∏S#,C#(sc)÷∏C#(σTEACHER=‘程军’(C))]} (4)检索”李强”同学不学课程的课程号(C#)。

∏C#(C)- ∏C#(σSNAME=‘李强’(S) ?? SC) (5)检索至少选修两门课程的学生学号(S#)。

∏S#(σ[1]=[4]∧[2]≠[5] (SC × SC))

(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。

∏C#,CNAME(C?? (∏S#,C#(sc)÷∏S#(S)))

(7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。 ∏S#(SC?? ∏C#(σTEACHER=‘程军’(C))) (8)检索选修课程号为k1和k5的学生学号(S#)。

∏S#,C#(sc)÷∏C#(σC#=’k1’∨ C#=’k5’(C)) (9)检索选修全部课程的学生姓名(SNAME)。 ∏SNAME{s?? [∏S#,C#(sc)÷∏C#(C)]}

(10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。

∏S#,C#(sc)÷∏C#(σS#=’2’(SC))

关系R和S如下图所示,试计算R÷S。 R A B C D a b c d a b e f a b h k b d e f b d d l c k c d c k e f R÷S A B a b c k b d S C D c d e f 第三章 关系数据库标准语言SQL

一、选择题

1. SQL语言是 B 的语言,易学习。

A.过程化

B.非过程化

C.格式化

D.导航式

2. SQL语言是 C 语言。

A.层次数据库 B.网络数据库 3. SQL语言具有 B 的功能。

A.关系规范化、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 纵

4. SQL语言具有两种使用方式,分别称为交互式SQL和 C 。 A.提示式SQL SQL

5. 假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学

生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系 D 。 A.S

B.SC,C

C.S,SC

D.S,C,SC

B.多用户SQL

C.嵌入式SQL

D.解释式

B.数据定义、数据操纵、数据控制 D.数据定义、关系规范化、数据操C.关系数据库

D.非数据库

6. 如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,

SQL操作 不能执行 B 。 职工表

职工号 职工名 部门号 工资 001 李红 01 580 005 刘军 01 670 025 王芳 03 720 038 张强 02 650 部门表

部门号 部门名 主任 01 人事处 高平 02 财务处 蒋华 03 教务处 许红

04 学生处 杜琼

A.从职工表中删除行(‘025’,‘王芳’,‘03’,720) B.将行(‘005’,‘乔兴’,‘04’,750)插入到职工表中 C.将职工号为‘001’的工资改为700

D.将职工号为‘038’的部门号改为‘03’ 7. 若用如下的SQL语句创建一个student表:

CREATE TABLE student(

NO C(4) NOT NULL,

NAME C(8) NOT NULL, SEX C(2), AGE N(2))

可以插入到student表中的是 B 。 A. (‘1031’,‘曾华’,男,23) B. (‘1031’,‘曾华’,NULL,NULL) C. (NULL,‘曾华’,‘男’,‘23’) D. (‘1031’,NULL,‘男’,23)

第8到第11题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:

S(S#,SN,SEX,AGE,DEPT) C(C#,CN) SC(S#,C#,GRADE)

其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。

8. 检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是 A 。A.SELECT SN,AGE,SEX FROM S C.SELECT SN,AGE,SEX FROM S

>(SELECT AGE FROM S WHERE AGE>(SELECT AGE “王华”) WHERE SN=“王华”)

.SELECT SN,AGE,SEX FROM S D.SELECT SN,AGE,SEX FROM S =“王华”

WHERE

AGE

AGE

WHERE AGE WHERE SN= B WHERE SN