数据库系统原理试题答案
———————————————————————————————— 作者: ———————————————————————————————— 日期:
2
《数据库系统原理》期中试题答案 一.选择题(每小题2分,共40分)
1.下列模型中数据抽象级别最高的是( ) A.概念模型B.逻辑模型C.外部模型 D.物理模型 2.设有关系R(A,B,C)和S(B,C,D),下列各关系代数表达式不成立的是( ) ...A.ПA(R) ПD(S) B.R S C.R∪S D.ПB(R)∩ПB(S) 3.根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:(___) A.只存在一对多的实体关系,以图形方式来表示。
B.以二维表格结构来保存数据,在关系表中不允许有重复行存在。 C.能体现一对多、多对多的关系,但不能体现一对一的关系。 D.关系模型数据库是数据库发展的最初阶段。 4.下列说法错误的是( )
A.一个基本表可以跨一个或多个存储文件B.一个存储文件可以跨一个或多个基本表
C.每个存储文件与外部存储器上一个物理文件对应D.每个基本表与外部存储器上一个物理文件对应 5.在SQL语言中,数值函数COUNT(列名)用于( ) A.计算元组个数 B.计算属性的个数 C.对一列中的非空值计算个数 D.对一列中的非空值和空值计算个数 6.将弱实体转换成关系时,弱实体的主码( ) A.由自身的候选关键字组成 B.由父表的主码组成 C.由父表的主码和自身的候选关键字组成 D.不确定
7.从一个数据库文件中取出满足某个条件的所有记录的操作是( ) A.选择B.连接C.投影 D.复制 8.下面关于自然连接与等值连接的各个叙述中,不正确的是( ) ...A.自然连接是一种特殊的等值连接B.自然连接要求两个关系中具有相同的属性组,而等值连接不必 C.两种连接都可以只用笛卡尔积和选择运算导出
D.自然连接要在结果中去掉重复的属性,而等值连接则不必 9.SQL语言是关系数据库的标准语言,它是( ) A.过程化的B.非过程化的C.格式化的 D.导航式的 10.设有关系表R(如下表所示),该关系的主码是( )
R
a 1 1 1 2 3 1 b 1 2 3 1 2 4 c 2 1 2 1 1 2 A.a B.(a,b) C.(b,c) D.(a,c)
11.在下面的数据库表中,若学生表的主码是学号,系别表的主码是系别号,用SQL语言 不能执行的下面操作是:( ) ..
学生表 学号 姓名 年龄 系别号 系别表 系别号 001 李红 19 01 01 王明 005 20 01 02 006 王芳 18 02 03 张强 010 20 03 A.从学生表中删除行(′005′,′王明′,20,′01′) B.将行(′005′,′王山′,19,′04′)插入到学生表中
C.将学号为′001′的年龄改为18D.将学号为′010′的系别号改为′04′ 12.已知关系R和S如下表所示: 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 系别名称 数学系 中文系 计算机系 第 4 页 共 5 页
试对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 167 231
教师姓名 吴亚利 张小明 刘朋
学号 99321 99322 99323 99324 姓名 梁山 李双双 王 萍 张 杰 教师编号 231 125 231 125 A.行数为12,列数为5 C.行数为4,列数为4
15.SQL语言的一次查询的结果是一个( ) A.数据项 C.元组
16.若将如下E-R模型转换成关系模型,正确的是( )
B.行数为12,列数为4 D.行数为4,列数为5 B.记录 D.表
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
第 5 页 共 5 页
(select * from 选课
where 学生.学生号=选课.学生号 )
上述SQL查询语句的功能为:查询选修课程数目少于2门的学生信息,与其对应的关系代数表 达式:学生?学生?(?学生号(?A.课程号<>B.课程号(?(选课)AA.学生号=B.学生号?。(10分) ?(选课))))B2.设有三个关系分别为:
A(Anum, Aname, Wqty, City) 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语句相应的关系代数描述为:
?A1,A2...An(R?S)。(本小题6分)
SELECT A1……An FROM R WHERE EXISTS
(SELECT * FROM S
WHERE R.A1=S.A1 AND R.A2=S.A2 AND…… R.An=S.An) 4.设有关系模式SCT(S#,C#,Tn),其中,S#表示学生学号,C#表示课程编号,而Tn表示教师姓名。
SCT中有以下语义:
每个教师仅上一门课程。
学生与课程的关系确定之后,教师即唯一确定。
根据上述完成下面(1)--(4)小题(20分)
(1)则关系模式的基本函数依赖为:S#,C#?Tn;Tn?C# ,关键码(候选键)为:S#,C#或者S#,Tn。
(2)关系模式SCT最高可以达到的范式级别为:3NF,说明理由:Tn不是超键-。
(3)如果该关系不是3NF,将其分解成3NF:_____________________________该分解___无损分解(是或
不是),___保持函数依赖(是或不是) (如果是3NF,则该题目不必作答) (4)如果该关系不是BCNF,将其分解成BCNF:(S#,Tn) (C#,Tn)该分解是无损分解(是或不是),
不是保持函数依赖(是或不是) (如果是BCNF,则该题目不必作答)
数据库系统原理试题标准答案



