《数据库系统原理》期中试题答案警示 考试形式: 闭 卷 考试时间:1小时 《中山大学授予学士学位工作细则》第六条 考 试 作 弊 不 授 予 学 士 学 位
专业: 计算机应用 班级:______________学号:_____________姓名:______________
一.选择题(每小题2分,共40分)
1.下列模型中数据抽象级别最高的是( ) A.概念模型 C.外部模型
B.逻辑模型 D.物理模型
2.设有关系R(A,B,C)和S(B,C,D),下列各关系代数表达式不成立的是( ) A.ПA(R) ПD(S) C.R∪S
B.R S
D.ПB(R)∩ПB(S)
3.根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:(___) A.只存在一对多的实体关系,以图形方式来表示。
B.以二维表格结构来保存数据,在关系表中不允许有重复行存在。 C.能体现一对多、多对多的关系,但不能体现一对一的关系。 D.关系模型数据库是数据库发展的最初阶段。 4.下列说法错误的是( )
A.一个基本表可以跨一个或多个存储文件 B.一个存储文件可以跨一个或多个基本表 C.每个存储文件与外部存储器上一个物理文件对应 D.每个基本表与外部存储器上一个物理文件对应
5.在SQL语言中,数值函数COUNT(列名)用于( ) A.计算元组个数
C.对一列中的非空值计算个数
B.计算属性的个数
D.对一列中的非空值和空值计算个数
6.将弱实体转换成关系时,弱实体的主码( ) A.由自身的候选关键字组成
C.由父表的主码和自身的候选关键字组成
B.由父表的主码组成 D.不确定
7.从一个数据库文件中取出满足某个条件的所有记录的操作是( ) A.选择 C.投影
B.连接 D.复制
8.下面关于自然连接与等值连接的各个叙述中,不正确的是( ) A.自然连接是一种特殊的等值连接
B.自然连接要求两个关系中具有相同的属性组,而等值连接不必 C.两种连接都可以只用笛卡尔积和选择运算导出
D.自然连接要在结果中去掉重复的属性,而等值连接则不必 9.SQL语言是关系数据库的标准语言,它是( ) A.过程化的 C.格式化的
B.非过程化的 D.导航式的
10.设有关系表R(如下表所示),该关系的主码是( )
R
a 1 1 1 2 3 1 A.a C.(b,c)
b 1 2 3 1 2 4 c 2 1 2 1 1 2 B.(a,b) D.(a,c)
11.在下面的数据库表中,若学生表的主码是学号,系别表的主码是系别号,用SQL语言 不能执行的下面操作是:( ) 学生表
A.从学生表中删除行(′005′,′王明′,20,′01′) B.将行(′005′,′王山′,19,′04′)插入到学生表中 C.将学号为′001′的年龄改为18 D.将学号为′010′的系别号改为′04′ 12.已知关系R和S如下表所示:
学号 001 005 006 010 姓名 李红 王明 王芳 张强 年龄 19 20 18 20 系别号 01 01 02 03 系别表
系别号 01 02 03 系别名称 数学系 中文系 计算机系
R A B C S A B C a1 b2 c1 a2 f g a2 b2 c2 a2 b2 c2
a3 b1 c1
a3 f g
试对R和S进行交运算,其结果的元组数应是( )
A.0 B.1 C.4
D.6
13.现要查找缺少学习成绩(G)的学生学号(Sno)和课程号(Cno),相应的SQL语句
SELECT Sno,Cno FROM SC WHERE
中WHERE后正确的条件表达式是( ) A.G=0 B.G<=0 C.G=NULL
D.G IS NULL
14.设有教师表Rl和学生表R2,如下表所示,则R1??R2的行数和列数分别为( Rl R2 教师编号 教师姓名 学号 姓名 教师编号 125 吴亚利 99321 梁山 231 167 张小明
99322 李双双 125 231 刘朋 99323 王 萍 231
99324 张 杰 125 A.行数为12,列数为5 B.行数为12,列数为4 C.行数为4,列数为4
D.行数为4,列数为5
15.SQL语言的一次查询的结果是一个( ) A.数据项 B.记录 C.元组
D.表
16.若将如下E-R模型转换成关系模型,正确的是( )
A.转换成一个职工关系,将亲属的所有属性放入职工关系 B.转换成一个亲属关系,将职工的所有属性放入亲属关系 C.转换成两个关系,职工关系的主码包括亲属关系的主码
)
D.转换成两个关系,亲属关系的主码包括职工关系的主码.
17.在Transact-SQL语法中,SELECT语句的完整语法较复杂,但至少包括的部分(1),使用关键字(2)可以把重复行屏蔽,将多个查询结果返回一个结果集合的运算符是(3),如果在SELECT语句中使用集合函数时,一定在后面使用(4)。 ⑴ A.SELECT,INTO B.SELECT,FROM C.SELECT,GROUP D.仅SELECT ⑵ A.DISTINCT B.UNION C.ALL D.TOP ⑶ A.JOIN B.UNION C.INTO D.LIKE ⑷ A.GROUP BY B.COMPUTE BY C.HAVING D.COMPUTE(错题) 二.填空(共60分)
1. 在名称为教学库的数据库中包含有学生、课程和选课三个表,它们的定义分别为: 学生(学生号 char(7),姓名 char(6),性别 char(2),出生日期 datetime, 专业 char(10),年级 int)
课程(课程号 char(4),课程名 char(10),课程学分 int 选课(学生号 char(7),课程号 char(4),成绩 int) SQL语句为: select * from 学生
where 学生号 in
(select 学生号 from 选课
group by 学生号 having count(*)<2 ) or not exists (select * from 选课
where 学生.学生号=选课.学生号 )
上述SQL查询语句的功能为:查询选修课程数目少于2门的学生信息,与其对应的关系代数表 达式:学生?学生?(?学生号(?A.课程号<>B.课程号(?(选课)A2.设有三个关系分别为:
A(Anum, Aname, Wqty, City)
A.学生号=B.学生号?。(10分) ?(选课))))B B(Bnum, Bname, Price)
AB(Anum, Bnum, Qty)
其中Anum为商场编号,Aname为商场名称,Wqty为商场人数,City为商场所在城市,Bnum为商品号,Bname为商品名称,Price为价格,Qty为销售商品数量。 基于以上关系回答下面(1)--(4)题。(每小题6分,共24分)
(1)用SQL语句创建基于A、B、AB三个表的视图,其中包含在上海的商场名称以及销售的商品名称和价格。
Create view ShangHai_store&product As Select Bname,price From A,B,C
Where city=’shanghai’ and A.Anum=AB.Anum and B.Bnum=AB.Bnum
(2)查询所有商品的名称及销售总额的SQL语句 Select Bname ,sum(price*Qty) From B,AB
Where B.Bnum=Ab.Bnum Group by bnum,bname (3)分析下面SQL语句: SELECT Bname FROM B WHERE Bnum IN (SELECT Bnum
FROM AB
WHERE Anum=′001′); 其相应的关系代数表达式为:
?Bname(B??Anum?'001'(AB))。
(4)查询总共有多少家商场销售“西门子洗衣机”的SQL语句: Select count(distinct Anum) From A,B,C
Where A.Anum=AB.Anum and B.Bnum=AB.Bnum and Bname=’ 西门子洗衣机’
3.已知关系R和关系S,关系R具有列A1,A2,……,An,B1,B2,……Bn,关系S具有A1,A2,……,An,C1,C2,……Cn, 则下列SQL语句相应的关系代数描述为: