《SQL数据库管理与开发教程与实训》试题(J卷)
一、选择题(每题1分,共20分)
1.3NF同时又是( )
A、2NF B、1NF C、BCNF D、1NF,2NF
2.DBS是采用了数据库技术的计算机系统。DBS是一个集合体,包含数据库、计算机硬件、软
件和( )
A、系统分析员 B、程序员 C、数据库管理员 D、操作员
3.SQL Server支持在线备份,但在备份过程中,不允许执行的操作是( )
(1)、创建或删除数据库文件(2)、创建索引
(3)、执行非日志操作(4)、自动或手工缩小数据库或数据库文件大小A、(1)B、(1)(2)
C、(1)(2) (3)D、(1)(2)(3)(4)
4.MS SQL Server是( )
A、数据库 B、数据库系统
C、数据处理系统 D、数据库管理系统
5.现有关系:学生(学号,姓名,课程号,系号,系名,成绩),为消除数据冗余,至少需要
分解为( )
A、1个表 B、2个表 C、3个表 D、4个表
6.数据库中存放两个关系:教师(教师编号,姓名)和课程(课程号,课程名,教师编号),为
快速查出某位教师所讲授的课程,应该( )
A、在教师表上按教师编号建索引 B、在课程表上按课程号建索引 C、在课程表上按教师编号建索引 D、在教师表上按姓名建索引
7.如果要修改表的结构,应该使用SQL语言的命令( )
A、UPDATE TABLE B、MODIFY TABLE C、ALTER TABLE D、CHANGE TABLE
8.已知员工和员工亲属两个关系,当员工调出时,应该从员工关系中删除该员工的元组,同
时在员工亲属关系中删除对应的亲属元组。在SQL语言中定义这个完整性约束的短语是( )
A、INSTEAD OF DELETE B、INSTEAD OF DROP C、AFTER DELETE D、AFTER UPDATE
9.安装MS SQL Server时,系统自动建立几个数据库,其中有一个数据库被删除后,不影响
系统的正常运行,这个数据库是( )
A、master数据库 B、 model数据库 C、tempdb数据库 D、 pubs数据库
10.对于数据库的管理,SQL Server的授权系统将用户分成四类,其中权限最大的用户是 ( )
A、一般用户 B、系统管理员
C、数据库拥有者 D、数据库对象拥有者
11.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,
从职员到部门的联系类型是( )
A、多对多 B、一对一 C、多对一 D、一对多
12.数据库的并发操作可能带来的问题包括( )
A、丢失更新 B、.数据性会提高 C、非法用户的使用 D、增加数据冗余度
13.SQL语言中,删除一个表的命令是( )
A、DELETE B、DROP C、CLEAR D、REMORE
14.下列四项中说法不正确的是( )
A.数据库减少了数据冗余 B.数据库中的数据可以共享
C.数据库避免了一切数据的重复 D.数据库具有较高的数据性
15.当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的操作是( )
A、左外联接 B、右外联接C、内联接 D、外联接
16.下列聚合函数中正确的是( )
A、SUM (*) B、MAX (*) C、COUNT (*) D、AVG (*)
17.SQL中,下列涉及空值的操作,不正确的是( )
A、age IS NULL B、age IS NOT NULL C、age = NULL D、NOT (age IS NULL)
18.MS SQL Server在WINDOWS 2000操作系统平台上被定义为一项( )
A、任务 B、服务C、应用程序 D、事务
19.脚本文件是在( )中执行的。
A、企业管理器 B、查询分析器C、服务管理器 D、事件探查器
20.每个数据库有且只有一个( )
A、主要数据文件 B、次要数据文件C、日志文件 D、索引文件
二、名词解释(每小题每题4分,共20分)
1、视图2、索引3、存储过程4、游标5、作业 三、填空题(每题1分,共10分)
1.MS SQL Server提供多个图形化工具,其中用来启动、停止和暂停SQL Serve服务的图形
化工具称为_________________。
2.数据库操作语句就是指________、_________、_________和select语句。
3.在安装MS SQL Server时,必须选择一种安全类型。如果在登录时,不需要记录用户名和
登录ID,则该安全模式是_____________________。
4.如果表的某一列被指定具有NOT NULL属性,则表示________________________________________。
5.已知有学生关系S(SNO,SNAME,AGE,DNO),各属性含义依次为学号,姓名、年龄和所在
系号;学生选课关系SC(SNO,CNO,SCORE),各属性含义依次为学号、课程号和成绩。分析以下SQL语句: SELECT SNO FROM SC
WHERE SCORE = (SELECT MAX(SCORE) FROM SC WHERE CNO=’002’) 简述上述语句完成了的查
询操作是___________________________________。
6.SQL Server复制有快照复制、________复制和________复制3种类型。
7.语句 select day('2004-4-6'), len('我们快放假了.') 的执行结果是:_________和
_________。
四、设计题(共50分)
1. 已知有如下4个表:
供应商表S(SNO,SNAME,CITY)
零件表J(JNO,JNAME,COLOR,WEIGHT) 工程表P(PNO,PNAME,CITY)
供应情况表SPJ(SNO,PNO,JNO,QTY)
其中,SNO、SNAME、CITY分别表示供应商代码、供应商姓名、供应商所在城市,JNO、JNAME、COLOR、WEIGHT分别表示零件代码、零件名、颜色和重量,PNO、PNAME、CITY分别表示工程代码、工程名、工程所在城市,QTY表示某供应商供应某工程某种零件的数量。
分别写出SQL语句,完成如下功能:(每小题5分,共20分) (1)查询出重量大于30或颜色为\"red\"的零件名; (2)查询出每个供应商为每个工程供应零件的数量
(3)查询出给\"北京\"的工程供应\"齿轮\"零件的供应商名; (4)建一个视图,定义为所有\"green\"颜色的零件。 2. 图书出版管理数据库中有两个基本表:
图书 (书号,书名,作者编号,出版社,出版日期)
作者 (作者编号,作者名,年龄,地址)
试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名、书名和出版社。(10分) 3. 现有关系数据库如下:
学生(学号,姓名,性别,专业、奖学金) 课程(课程号,名称,学分) 学习(学号,课程号,分数) 用SQL实现:(每小题5分,共20分) (1)查询没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业;
(2)查询没有任何一门课程成绩在80分以下的所有学生的信息,包括学号、姓名和专业; (3)对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为 1000元;
(4)定义学生成绩得过满分(100分)的课程视图AAA,包括课程号、名称和学分;
《SQL数据库管理与开发教程与实训》试题(J卷)答案
一、选择题(每题1分,共20分) 1 2 3 4 5 D C D D C 11 12 13 14 15 C A B C D 二、名词解释(每小题每题4分,共20分) 6 C 16 C 7 C 17 C 8 C 18 B 9 D 19 B 10 B 20 A 1、视图是由一个或多个数据表(基本表)或视图导出的虚拟表或查询表。 2、索引就是表中数据和相应存储位置的列表。
3、存储过程是存储在服务器上的一组预编译的Transact-SQL语句。
4、游标是允许用户能够从select语句查询的结果集中,逐条逐行地访问记录,可以按照自己
的意愿逐行地显示、修改或删除这些记录的数据访问处理机制。
5、作业是由 SQL Server 代理程序按顺序执行的一系列指定的操作。作业的操作是通过
Transact-SQL语句、操作系统命令和脚本语言来编写,作业可以手工执行、自动执行和定期执行,作业调度管理是实现管理任务自动化的一种重要方式。
三、填空题(每题2分,共10分)
1 服务管理器 2 insert、update、delete 3 Windows 认证模式 4 不允许在没有指定列缺省值的情况下插入省略该列值的数据行 5 检索有与课程号为“002”的课程的最高成绩相等的同学的学号 5 事务、合并 7 6、7 三、设计题(共50分)
1、(1)select JNAME
from J
where (WEIGHT>30) or (COLOR=’red’)
(2) select sum(QTY)
from SPJ
group by SNO,PNO
(3) select SNAME from S where SNO in (select SNO
from SPJ,P,J
where (CITY=’北京’) and (SPJ.PNO=P.PNO) and (JNAME=’齿轮’) and (SPJ.JNO=J.JNO))
(4)
create view greenj as
select * from J where COLOR=’green’
2、
select 作者名,书名,出版社 from 图书,作者
where (图书.作者编号=作者.作者编号) and (年龄<(select avg(年龄) form 作者))
3、(1)
select distinct学生.学号,姓名,专业 from 学生,学习
where (奖学金 is null) and (学生.学号=学习.学号) and (分数>95) (2)
select distinct学生.学号,姓名,专业 from 学生,学习
where (学生.学号=学习.学号) and(学习.学号 not in
(select distinct学号 from 学习 where 分数<80)) (3)
update 学生
set 奖学金=’1000’
where 学号 in(select distinct学习.学号 from 学生,学习
where (奖学金 is null) and (学生.学号=学习.学号) and(分数=100)) (4)
create view AAA as
select distinct 课程号,名称,学分 from 课程,学习
where (课程.课程号=学习.课程号) and(分数=100)