SQL复习题及答案.docx
《SQL复习题及答案.docx》由会员分享,可在线阅读,更多相关《SQL复习题及答案.docx(30页珍藏版)》请在冰豆网上搜索。
SQL复习题及答案
《SQLSERVER数据库应用》复习资料
一、考试题型及分数比例
1、单项选择题(每空2分,共40分)
2、填空题(每空1分,共20分)
3、简答题(每题5分,共10分)
4、综合应用题(每题10分,共30分)
二、复习题
下面按章给出第1章—第10章的复习题。
第1章数据库基础概述
一、单项选择题
1.数据库系统管理阶段的主要优点表现在______。
(A)数据共享性高(B)数据冗余度低
(C)数据与程序的独立性高(D)以上全对
答案:
A
2.SQLServer是一种基于______的数据库管理系统软件。
(A)层次模型(B)网状模型(C)关系模型(D)数据模型
答案:
C
3.数据操纵语言(DML)提供用户对数据库进行数据的查询和处理操作,在SQLServer中,通常不包括________语句。
(A)Insert(B)Update(C)Delete(D)Create
答案:
D
4.________的主要任务是决定数据库的内容,对数据库进行修改和维护,对数据库的运行状态进行监督,并且管理用户帐号、备份和恢复数据库以及提高数据库的运行效率。
(A)系统管理员(B)数据库管理员(C)应用程序员(D)操作员
答案:
B
5.,一个表的主键(PrimaryKey)是由一个或多个字段组成,其值具有唯一性,而且不允许为空(NULL),其主要作用是________。
(A)唯一地标识表中的每条记录(B)自动生成标识数据
(C)快速实现记录定位(D)以上都不对
答案:
A
6.一个数据库可能包含多个表,一般通过______使这些表之间关联起来。
(A)热键(B)快速键(C)外键(D)快捷键
答案:
C
7.在关系数据库系统中,设计表时可对表中的一个字段或多个字段的组合设置约束条件,让DBMS检查数据是否符合约束条件,约束一般可以分为________。
(A)表级约束和字段级约束(B)主键约束和外键约束
(C)唯一性约束和检查约束(D)缺省约束和空值约束
答案:
A
8.主键约束(PrimaryKey)和唯一性约束(UNIQUE)都可以保证表中记录不重复,二者主要区别是________。
(A)主键约束不允许空值,唯一性约束允许出现一次空值
(B)主键约束允许出现一次空值,唯一性约束不允许空值
(C)二者都允许一次空值(D)二者都不允许出现空值
答案:
A
9.在学生数据库中,一般学生实体与课程实体之间的关联关系是______。
(A)一对一(B)一对多(C)多对多(D)无关联关系
答案:
C
10.关系型数据库的设计,E-R图通常是由______三种基本要素组成。
(A)实体、属性和联系(B)对象、事件和方法
(C)实体、对象和事件(D)实体、类和属性
答案:
A
11.数据库的设计一般都需要经历需求分析、概念设计、实现设计和物理设计几个阶段,______实现E-R模型向某一特定DBMS能够接受的逻辑模型的转换,对关系型数据库而言,主要完成表结构和表关联的设计。
(A)需要分析(B)概念设计(C)实现设计(D)物理设计
答案:
12.E.F.Codd提出的关系规范化理论通常用于指导关系型数据库的设计,它包括1NF、2NF、3NF三条规则,通常称为三范式。
若表中每个字段都不可再分,且它的每个非主键字段完全依赖于主键,则称该数据库表属于______。
(A)1NF(B)2NF(C)3NF(D)4NF
答案:
B
二、填空题
1.随着计算机技术的发展,数据管理的方法也在发展,大体上可以将其划分为________、________和________三个阶段。
答案:
人工管理阶段、文件管理阶段、数据库系统管理
2.一个完整的数据库系统一般由________、________和________三个部分组成。
答案:
数据库、数据库管理系统和用户
3.在数据库领域中最常用的数据模型包括:
________、________和________三种。
答案:
概念数据模型、逻辑数据模型和物理数据模型
4.数据库管理系统是一种在操作系统支持下的系统软件,主要帮助用户建立、使用和管理数据库,通常包括:
________、________以及管理和控制程序三部分。
答案:
数据定义、数据操作
5.数据库用户是数据库系统的重要组成部分,通常分为系统管理员、________、________和________。
答案:
数据库管理员、应用程序员、操作员。
6.在关系数据库系统中,表间的关联关系一般通过建立外键约束来实现,表间的关系方式按记录对应关系分为________、________和________三种。
答案:
一对一、一对多、多对多
三、简答题
1.什么是数据库?
答:
数据库是存储在计算机系统内的有结构的数据的集合,通俗地讲,这些数据是被数据库管理系统按一定的组织形式存放在各个数据库文件中,可以被多个用户所共享,具有数据的共享性高、冗余度低、独立性高等特点。
2.简述数据库管理系统及组成
答:
数据库管理系统是一种在操作系统支持下的系统软件,主要帮助用户建立、使用和管理数据库,通常包括:
数据描述语言(DDL)、数据操纵语言(DML)以及管理和控制程序(DCL)三部分。
3.什么是关系型数据库?
答:
关系型数据库是指一些相关的表和其他数据库对象(如:
索引、视图、存储过程和触发器等)构成的集合,在关系型数据库中,信息存放在二维表格结构的表中,一个关系型数据库包含多个相互关联的数据表,每个表由若个行(记录)和若干列(字段)构成。
4.简述数据完整性及数据完整性的类型
答:
数据完整性是用于保证关系型数据库中数据的正确性和可靠性的一种机制。
数据库完整性分为:
实体完整性、域完整性、参照完整性和用户自定义完整性。
第二章SQLServer2000简介
一、单项选择题
1.SQLServer2000提供了很多实用的管理工具,使用最多的管理工具主要包括______。
(A)企业管理器(B)查询分析器(C)事件探查器(D)A和B
答案:
D
2.______是SQLServer2000用于管理服务器、数据库以及数据表、视图、存储过程、触发器、索引等数据库对象的管理工具。
(A)企业管理器(B)查询分析器(C)事件探查器(D)A和B
答案:
A
3.______是SQLServer2000用于执行Transact-SQL命令等脚本程序,以查看、分析和处理数据库中数据的管理工具,对其操作的熟练程度是衡量SQLServer用户水平的重要标准。
(A)企业管理器(B)查询分析器(C)事件探查器(D)A和B
答案:
B
二、填空题
1.SQLServer2000______主要负责服务器的配置和客户端的连接,它是一个图形化的界面,用于启动、暂停和停止SQLServer服务、SQLServerAgent服务和DTC服务。
答案:
服务器组件
第3章SQLServer数据库管理
一、单项选择题
1.一个数据库包含多个不同的数据库对象,______不是SQLServer2000中的数据库对象。
(A)表(B)视图(C)查询(D)存储过程
答案:
C
2.在安装SQLServer2000后,系统自动建立了4个系统数据库和两个样本数据库,______不是系统自动创建的系统数据库。
(A)master(B)tempdb(C)model(D)student
答案:
D
3.在SQLServer2000中创建数据库的Transact-SQL命令是______。
(A)CREATEDATA(B)CREATEDATABASE
(C)DEFINEDATA(D)DEFINEDATABASE
答案:
B
4.在SQLServer2000中修改数据库的Transact-SQL命令是______。
(A)ALTERDATABASE(B)ALTERDATA
(C)UPDATEDATA(D)UPDATEDATABASE
答案:
A
5.在SQLServer2000中,删除数据库“student”的Transact-SQL命令是______。
(A)DELETEDATABASESTUDENT(B)DELETEDATASTUDENT
(C)DROPDATABASESTUDENT(D)DROPDATASTUDENT
答案:
C
二、填空题
1.,数据库分为________和________两种类型。
答案:
关系数据库、层次数据库
2.在SQLServer2000中,一个数据库由________和________两部分组成。
答案:
主数据文件、日志文件
3.,一个数据库至少包含一个数据库文件和一个事务日志文件,主数据库文件的扩展名为________,事务日志文件的扩展名为________。
答案:
.mdf.ldf
三、综合应用题
1.试用Transact-SQL命令建立一个数据库“student”,数据库文件的文件名为“student_data.MDF”,初始容量为1MB,最大容量为10MB,事务日志文件的文件名为“student_log.LDF”,初始容量为1MB,最大容量为5MB。
文件存放在“E:
\DATABASE”文件夹中。
答案:
createdatabasestudent
on(name='student_data',filename='e:
\database\student_data.mdf',
size=1MB,maxsize=10MB)
logon(name='student_log',filename='e:
\database\student_log.ldf',
size=1MB,maxsize=5MB)
第四章表与视图
一、单项选择题
1.在SQLServer2000中,创建表的Transact-SQL命令是______。
(A)CREATETABLE(B)DEFINETABLE
(C)ALTERTABLE(D)DESCRIBETABLE
答案:
A
2.在SQLServer2000中,使用ALTERTABLE命令修改表结构,其中ADD短语的作用是______。
(A)删除一个字段(B)修改一个字段
(C)增加一个新字段(D)增加一条新记录
答案:
C
3.在SQLServer2000中,______是删除Student_info数据表中Address字段的正确的Transact-SQL命令。
(A)ALTERTABLEStudent_InfoDROPCOLUMNAddress
(B)ALTERTABLEStudent_InfoDELETECOLUMNAddress
(C)UPDATETABLEStudent_InfoDROPCOLUMNAddress
(D)UPDATETABLEStudent_InfoDELETECOLUMNAddress
答案:
A
4.在SQLServer2000的INSERT命令中,如果省略表名后的字段名列表,表明表中的所有列都要插入数据,则对VALUES短语中给出的字段值列表要求______。
(A)必须给出表中所有字段的字段值,但值顺序可以与表中字段顺序不一致
(B)必须给出表中所有字段的字段值,且值顺序必须与表中字段顺序相一致
(C)不一定给出所有字段值,未给出的值取空值
(D)不一定给出所有字段值,未给出的值取默认值
答案:
B
5.将Student_Info数据表中“陈白露”同学的Student_Sex字段值改为男性,______是正确的Transact-SQL命令。
(A)ALTERStudent_InfoSETStudent_Sex=‘男’WhereStudent_Name=‘陈白露’
(B)ALTERStudent_InfoSETStudent_Sex=‘男’WhereStudent_Name=“陈白露”
(C)UPDATEStudent_InfoSETStudent_Sex=‘男’WhereStudent_Name=‘陈白露’
(D)UPDATEStudent_InfoSETStudent_Sex=‘男’WhereStudent_Name=“陈白露”
答案:
C
6.将Student_Info数据表中出生日期(Born_Date,DateTime类型)是1980年出生的学生记录删除,______是正确的Transact-SQL命令。
(A)DELETEFROMStudent_InfoWhereBorn_Date=1980
(B)DELETEFROMStudent_InfoWhereYEAR(Born_Date)=1980
(C)DROPFROMStudent_InfoWhereBorn_Date=1980
(D)DROPFROMStudent_InfoWhereYEAR(Born_Date)=1980
答案:
B
7.删除数据表Student_Info的正确的Transact-SQL命令是______。
(A)DELETETABLEStudent_Info(B)DELETEFROMStudent_Info
(C)DROPTABLEStudent_Info(D)DROPFROMStudent_Info
答案:
C
二、填空题
1.在SQLServer2000中,字符型包括Char和Varchar两种类型,其中Char又称为________,Varchar又称________,字符型数据最多包含的字符数目是________。
答案:
固定长度字符型、可变长度字符型、8000
三、简答题
1.简述视图基本概念及使用视图的好处?
答:
视图是一种常见的数据库对象,它提供了另外一种查看和存放数据的方法,类似于表对象,采用二维表格的形式显示数据,但视图是虚拟表,它的数据来源于一个或多个表甚至是视图。
使用视图的好处表现为:
①.限制用户检索表中的数据:
视图相当于一个“窗口”,可以只显示用户需要的数据。
②.方便数据的操作:
视图可以将几个表中的数据集中到一起,方便用户操作和使用。
③.提高数据库操作的安全性。
2.简述DELETEFROMtable_name命令与DROPTABLEtable_name命令的区别。
答:
DELETEFROMtable_name命令的作用是删除指定表中满足条件的数据记录,删除对象是表中的数据记录。
DROPTABLEtable_name命令的作用是删除指定的数据表,包括表结构和表数据记录,删除对象是表。
四、综合应用题
1.使用CREATETABLE命令创建数据表Student_Info,表结构如下表所示。
字段名
字段类型
字段含义
备注
Student_ID
Int
学号
主键
Student_Name
Char(10)
姓名
非空
Student_Sex
Char
(2)
性别
非空
Born_Date
DateTime
出生日期
可空
Department
Char(20)
院系
可空
Address
Varchar(30)
家庭住址
可空
Tele_Number
Char(8)
电话
可空
答案:
CREATETABLEStudent_Info
(Student_IDIntNotNULLPrimaryKey,
Student_NameChar(10)NotNULL,
Student_SexChar
(2)NotNULL,
Born_DateDateTime,
Departmentchar(20),
AddressVarchar(30),
Tele_NumberChar(8))
2.在Student_Info数据表中有Born_Date字段(出生日期,DateTime类型),试用Transact-SQL命令创建一个视图Student_View,列出80年代出生的学生全部信息。
答案:
CREATEVIEWStudent_View
AS
SELECT*
FROMStudent_Info
WHEREYEAR(Born_Date)>=1980ANDYEAR(Born_Date)<=1989
第五章SQL(结构化查询语言)
假设学生数据库(Student)中包括如下三个数据表,它们的表结构定义如下:
(1)、学生信息表(Student_Info)
字段名
字段类型
字段含义
备注
Student_ID
Int
学号
主键
Student_Name
Char(10)
姓名
非空
Student_Sex
Char
(2)
性别
非空
Born_Date
DateTime
出生日期
可空
Department
Char(20)
院系
可空
Address
Varchar(30)
家庭住址
可空
Tele_Number
Char(8)
电话
可空
(2)、课程信息表(Course_Info)
字段名
字段类型
字段含义
备注
Course_ID
Int
课程号
主键
Course_Name
Char(30)
课程名
非空
Course_Type
Char(10)
课程类别
非空
Course_Credit
Int
课程学分
非空
(3)、成绩信息表(Score_Info)
字段名
字段类型
字段含义
备注
Student_ID
Int
学号
非空,与Course_ID合为主键
Course_ID
Int
课程号
非空,与Student_ID合为主键
Score
Int
分数
非空
一、单项选择题
1.SQLServer的DDL功能包括定义数据库、表、视图和索引等数据库对象,______不是DDL提供的命令。
(A)CREATEDATABASE(B)CREATETABLE
(C)CREATEVIEW(D)SELECT
答案:
D
2.SQLServer的DML主要提供对数据库中的数据进行查询、插入、修改和删除等操作,______不是DML提供的命令。
(A)SELECT(B)DROP(C)DELETE(D)INSERT
答案:
B
3.在SQLServer的SELECT查询语句中,FROM子句的作用是______。
(A)指定查询的表或视图(B)指定查询满足的条件
(C)指定查询的结果表(D)指定查询的连接条件
答案:
A
4.在SQLServer的SELECT查询语句中,WHERE子句的作用是______。
(A)指定查询的表或视图(B)指定查询满足的条件
(C)指定查询的结果表(D)指定查询的连接条件
答案:
B
5.SQLServer2000提供了许多的聚合函数用于统计工作,________聚合函数用于统计满足条件的记录个数。
(A)COUNT(B)COUNTA(C)CNT(D)SUM
答案:
A
6.下列SELECT语句的作用是从学生信息表(Student_Info)中统计出家住北京市的男生和女生各自的总人数和平均年龄,阅读程序并选择正确的答案。
SELECTStudent_SexAS性别,___(14)_____AS总人数,
AVG(year(getdate())-yeay(Born_Date))AS平均年龄
FROMStudent_Info
WHERESubstring(Address,1,3)=‘北京市’
___(15)_____Student_Sex
(A)COUNT(*)(B)COUNTA(*)(C)SUM(*)(D)SUMIF(*)
(E)HAVING(F)ORDERBY(G)GROUPBY
答案:
AG
7.下列的SELECT语句使用子查询,列出“王小强”同学选修的全部课程的课程号和成绩,并按学号字段(Student_ID)的降序方式排序,阅读程序并选择正确的答案。
SELECTCourse_ID,ScoreFROM________
WHEREStudent_ID=
(SELECT________
FROMStudent_Info
WHEREStudent_Name=‘王小强’)
ORDERBYStudent_IDDESC
(A)Score_Info(B)Student_Info(C)Course_Info
(D)Course_ID(E)Student_ID(F)Student_Name
答案:
AE
8.下列的SELECT语句使用子查询,列出选修了“数据库原理”课程的学生名单,并按学号字段(Student_ID)的降序方式排序,阅读程序并选择正确的答案。
SELECTStudent_ID,Student_Name
FROM________
WHEREStudent_ID________
(SELECTStudent_ID
FROMScore_Info
WHERECourse_ID=
(SELECTCourse_ID
FROMCourse_Info
WHERE________=‘数据库原理’))
ORDERBYStudent_IDDESC
(A)Score_Info(B)Student_Info(C)Course_Info(D)=
(E)IN(F)Course_Name(G)Course_ID(H)LIKE
答案:
BEF
9.下列的SELECT语句使用子查询,列出“计算机学院”学生选修的所有课程清单,并按课程号字段(Course_ID)的降序方式排序,阅读程序并选择正确的答案。
SELECTCourse_ID,Course_Name
FROM________
WHERECourse_IDIN
(SELECTCourse_ID
FROMScore_Info
WHEREStudent_IDIN
(SELECTStudent_ID
FROMStudent_Info
WHERE________=‘计算机学院’))
________Course_IDDESC
(A)Score_Info(B)Course_Info(C)GROUPBY(D)Department
(E)Student_ID(F)Course_Name(G)Course_ID(H)ORDERBY
答案:
BDH
二、填空题
1.由IBM公司开发的适用于________的数据库语言,它是一种非过程化的语言,按照用途可划分为数据定义语言、数据操纵语言和数据控制语言三种类型。
答案:
关系型
2.在Transact-SQL的SELECT查询语句中,ORDE