最新SQL Server复习题.docx
《最新SQL Server复习题.docx》由会员分享,可在线阅读,更多相关《最新SQL Server复习题.docx(16页珍藏版)》请在冰豆网上搜索。
最新SQLServer复习题
SQLServer复习题
SQLServer复习题
填空:
(1)实体之间的联系类型有、和联系。
答案:
1对1联系,1对多联系,多对多联系
(2)数据库管理系统的主要功能包括、和。
答案:
数据定义功能,数据操纵功能,数据库运行控制功能
(3)在关系模型中,关系的一个属性对应表中的,也称为一个。
答案:
一列,字段
(4)在SQLServer中使用的SQL语言叫做。
答案:
Transact-SQL
(5)SQLServer2005提供了和两种身份验证模式。
答案:
Windows身份验证、混合验证
(6)在SQLServer2005系统中,系统数据库用来保存系统级信息。
答案:
master
(7)SQLServer2005系统管理两种类型的文件,分别是和。
答案:
数据文件、日志文件
(8)在SQLServer2005中,近似数字数据类型包括和两种。
答案:
float(p),real
(9)在SQLServer2005的字符数据类型中,凡是用于存放Unicode编码字符的数据类型的名称均以字符开头。
答案:
n
(10)能够产生一个GUID的函数是。
答案:
NEWID()
(11)在SELECT语句的6个基本子句中,最先被执行的是子句,最后被执行的是子句。
答案:
FROM,ORDERBY
(12)在对数据行分组以后,可以使用子句对组进行筛选。
答案:
HAVING
(1)如果要防止用户通过视图有意无意地对不属于视图范围内的基本表数据进行操作,则在视图定义时要加上选项。
答案:
WITHCHECKOPTION
(3)定义视图时,如果希望加密定义视图的文本,则应该使用选项。
答案:
WITHENCRYPTION
(1)在SQLServer2005中,索引分为两大类,分别是、。
答案:
聚集索引、非聚集索引
(2)在一个表中可以定义个聚集索引,个非聚集索引。
答案:
一、多
(3)索引确保索引键不包含重复的值。
答案:
唯一
(4)系统访问数据中数据时,可以采用两种方法,分别是和。
答案:
表扫描、索引查找
(1)按约束的应用范围不同,约束可分为列级约束和。
答案:
表级约束
(2)主键约束可以实现完整性。
答案:
实体
(1)固定服务器角色拥有服务器范围内的最高权限。
答案:
sysadmin
(2)安装SQLServer2005以后,系统自动创建一个SQLServer登录账户,他用户所有的用户数据库和系统数据库。
答案:
sa
选择:
(1)在关系模型中,与元组相对应的概念是哪一个。
A.记录
B.域
C.关键字
D.列
答案:
A
(2)在关系模型中,能够起到联系多个表的作用的是哪一项。
A.属性
B.行
C.元组
D.外关键字
答案:
D
(3)对关系数据库中的关系的最低要求是满足哪个范式。
A.1NF
B.2NF
C.3NF
D.没有要求
答案:
A
(4)以下说法中错误的是哪一项。
A.SQL语言是一种非过程化的高级语言。
B.标准SQL语言提供编程功能。
C.SQL语言可以被嵌入到其它高级语言中使用。
D.Transact-SQL完全兼容标准SQL语言并进行了必要的补充。
答案:
B
(5)在一个SQLServer服务器上可以安装多少个默认实例。
A.1个
B.2个
C.3个
D.无限制
答案:
A
(6)在创建数据库时,自动将哪个系统数据库中的数据库对象复制到新的数据库中。
A.master
B.msdb
C.model
D.tempdb
答案:
C
(7)关于文件和文件组的叙述中正确的是哪一项。
A.一个文件组中可以管理多个数据文件,一个数据文件也可以包含在多个文件组中。
B.主数据文件保存在主文件组中。
C.主文件组中不能包含次数据文件。
D.日志文件包含在主文件组中。
答案:
B
(8)SQLServer2005中的货币数据类型money默认保留的小数位数是几位。
A.2
B.4
C.6
D.8
答案:
B
(9)如果将某个列定义成标识列,这列的数据类型不能是以下哪一种。
A.int
B.tinyint
C.decimal
D.float
答案:
D
(10)创建表的时候,如果没有指定文件组中,则表自动保存在哪个文件组中。
A.主文件组
B.用户自定义的文件组
C.默认文件组
D.由系统随机指定
答案:
C
(11)下列哪种数据类型既可以存储高达2G字节的文本数据,而且还能够使用标准的函数和运算符操纵它。
A.text
B.varbinary(max)
C.varchar(max)
D.varchar
答案:
C
(12)下面关于TRUNCATETABLE语句的叙述中错误的是哪一个。
A.使用TRUNCATETABLE语句清空表的时候,系统不会在日志中记录删除每一条记录的操作。
B.相对于DELETE语句,使用TRUNCATETABLE语句删除表中所有数据的执行速度快。
C.作为父表的表不能使用TRUNCATETABLE语句来清空。
D.TRUNCATETABLE和DELETE都是数据操纵语言中的语句。
答案:
D
(13)下列关于插入操作的叙述中错误的是哪一个。
A.如果没有向标识列中插入数据,则系统会自动为该列生成一个值。
B.定义了默认值的列可以不插入数据,系统自动为该列填充默认值。
C.定义为uniqueidentifier类型的列中可以不插入数据,系统自动为该列生成一个GUID值。
D.作为主键的列中不能插入重复的值。
答案:
C
(2)在附录A的表Books中执行下列哪个查询可以显示类别代号为CO01的图书的书名和销售报价,结果如图6-40所示。
A.
SELECTtitleAS图书,'销售价:
'+CONVERT(nchar(6),unitPrice*0.5)AS报价
FROMBooks
WHEREcategoryCode='CO01'
GO
B.
SELECTtitleAS图书,'销售价:
'+CONVERT(nchar(6),unitPrice*0.5)AS报价
FROMBooks
GO
C.
SELECTtitleAS图书,'销售价:
'+unitPrice*0.5AS报价
FROMBooks
WHEREcategoryCode='CO01'
GO
D.
SELECTtitleAS图书,'销售价:
',CONVERT(nchar(6),unitPrice*0.5)AS报价
FROMBooks
WHEREcategoryCode='CO01'
GO
答案:
A
(3)下述哪个查询语句可以显示单价低于平均单价的图书的书名和ISBN。
A.
SELECTtitle,ISBN
FROMBooks
WHEREunitPriceGO
B.
SELECTtitle,ISBN
FROMBooks
WHEREunitPriceGO
C.
SELECTtitle,ISBN
FROMBooks
WHEREunitPrice<(SELECTAVG(unitPrice)
FROMBooks)
GO
D.
SELECTtitle,ISBN
FROMBooks
WHEREunitPrice<(AVG(unitPrice)
FROMBooks)
GO
答案:
C
(1)下面哪个语句是用来创建视图的语句。
A.CREATEVIEW
B.CREATETABLE
C.ALTERVIEW
D.ALTERTABLE
答案:
A
(3)下列说法中正确的是哪一项。
A.只能通过视图查询数据,不能通过视图修改数据。
B.可以创建基于多个基本表的视图。
C.如果要修改一个视图的定义,则必须先删除该视图然后再重建一个同名视图。
D.由于视图具有很多明显的优势,所以数据库管理员可以创建尽可能多的视图。
答案:
B
(4)下列说法中错误的是哪一项。
A.不能修改视图中通过计算列得到的列中的数据。
B.如果定义视图的SELECT语句中包含GROUPBY子句,则不能通过该视图修改数据。
C.如果定义视图的SELECT语句中包含DISTINCT关键词,则不能通过该视图修改数据。
D.通过视图修改表中数据时,不必考虑表的完整性约束问题。
答案:
D
(2)下列不适合建立索引的选项是哪一个。
A.用作查询条件的列
B.频繁搜索的列
C.取值范围很少的列
D.连接中频繁使用的列
答案:
C
(3)执行下列语句时,系统自动建立几个索引。
CREATETABLETEST(
C1intprimarykey,
C2char(4)unique,
C3bitdefault1,
C4char(4)foreignkeyreferencestest1(C1)
)
A.1个
B.2个
C.3个
D.多个
答案:
B
(3)下列不能实现域完整性的是哪一个。
A.唯一性约束
B.检查约束
C.规则对象
D.默认
答案:
A
(4)下列哪个语句是在表T1的C1列上定义了一个主键约束PK_T1_C1。
A.CREATEPRIMARYKEYT1(C1)
B.CREATECONSTRAINTPK_T1_C1PRIMARYKEYT1(C1)
C.ALTERTABLET1ADDCONSTRAINTPK_T1_C1PRIMARYKEY(C1)
D.ALTERTABLET1ADDPRIMARYKEY(C1)
答案:
C
(1)下列哪一个是可能的Windows登录账户名。
A.[abc/Win1]
B.Win1
C.[abc\Win1]
D.abc\Win1
答案:
C
(2)创建一个SQLServer登录帐户以后,如果希望用户第一次登录时必须修改密码,那么应该使用哪个选项。
A.MUST_CHANGE
B.DEFAULT_DATABASE
C.CHECK_EXPIRATION
D.CHECK_POLICY
答案:
A
(5)如果希望所有的数据库用户都拥有某个权限,则应该将该权限授予哪个数据库用户或角色。
A.public
B.sysadmin
C.dbo
D.guest
答案:
A
判断:
(1)在关系数据库中,并不是规范化程度越高的关系模式就越好。
答案:
√
(2)关系中的NULL,对于数值型数据可以理解为0,对于字符型数据可以理解为空字符串。
(3)SQLServer2005所有版本的安装都需要至少512MB内存空间。
答案:
×
(4)SQLServer2005的开发人员版的功能与企业版的功能相同,只是不能用在生产场合。
答案:
√
(5)系统数据库tempdb中存储的是临时信息,当数据库连接断开以后,这些临时信息将丢失。
答案:
√
(6)一个SQLServer2005数据库中至少包含一个主数据文件、一个次数据文件和一个日志文件。
答案:
×
(7)在同一时刻只能有一个文件组是默认文件组。
答案:
√
(8)将主文件组配置成默认文件组是最优配置,这样数据库对象就可以自动保存在主文件组中。
答案:
×
(9)在SQLServer2005中,表的外键所在列不能设计成允许有空值。
答案:
×
(10)如果表中定义了varchar(max)、varbinary(max)等大类型的数据,则在创建表的时候可以将这些数据存储到指定的文件组中。
答案:
√
(11)使用DELETE语句删除表中的所有数据以后,表中的标识列将被重置为种子的值。
答案:
×
(12)使用INSERT语句向父表中插入数据时不会产生违反外键约束的问题。
答案:
√
(2)在指定排序所依据的列时,该列可以是没有出现在SELECT子句中的列。
答案:
√
(3)如果按照多个列排序查询结果,那么应该在SELECT语句中写多个ORDERBY子句。
答案:
×
(1)创建主键约束时系统自动创建聚集索引。
答案:
√
(2)系统自动创建的索引可以手工删除。
答案:
×
(3)一个表可以创建若干个聚集索引。
答案:
×
(4)一个表可以创建若干个非聚集索引。
答案:
√
(2)一个表中最多只能有一个唯一性约束。
答案:
×
(3)唯一性约束和主键约束的区别在于,定义唯一性约束的列允许空值,但定义主键约束的列不允许空值
答案:
√
(1)sa登录账户映射为所有数据库中的guest用户。
答案:
×
(3)创建一个数据库角色以后,可以将数据库中的操作权限授予该角色,但不能将固定数据库角色分配给该角色。
答案:
×
(4)新创建的数据库角色不拥有任何权限。
答案:
√
简答:
(1)简述实现数据库收缩的三种方法及其特点。
答案:
可以将数据库设置为自动收缩,这样数据库引擎会定期检查每个数据库的空间使用情况并执行数据库收缩操作。
使用这种方式不能将数据库收缩得小于创建时的大小。
可以在指定的时间手动收缩数据库,这种方式比自动收缩操作更灵活。
使用这种方式不能将数据库收缩得小于创建时的大小。
可以在指定的时间手动收缩数据库文件,从而实现数据库的收缩。
使用这种方式收缩数据库更灵活,而且可以实现将数据库文件收缩得比创建时更小,从而使数据库收缩得比创建时更小。
(2)请简述如何使用标识列?
答案:
定义标识列的格式为IDENTITY(seed,increment),其中种子和增量的默认值都是1。
一个表中只能有一个标识列,标识列不能设置为允许空值,而且只有具有整数性质的列才可以定义成标识列。
标识列中的值是系统自动生成的,在向表中插入数据时,无须向标识列中插入值,系统会自动维护标识列中的值。
如果要向标识列中插入特点的值,则必须将IDENTITY_INSERT显示定义成ON。
(3)引入索引的主要目的是什么?
答案:
使用索引的主要目的是提高SQLServer系统的性能,加快数据的查词速度和减少系统的响应时间。
索引通过记录表中的关键值指向表中的记录,这样数据库引擎就不用扫描整个表而定位到相关的记录。
索引还可以加速表与表之间的连接,在实现数据的参照完整性时,可以将表的外键制作成索引,这样可以使表和表之间的连接速度加快。
(4)简述数据库备份和差异数据库备份的区别
答案:
数据库备份会备份所有的数据和足够的日志,但由于是完全备份,所以备份速度比较慢,而且占用大量的磁盘空间,此备份会安排在数据事物操作较少的晚上进行。
而差异数据库只记录自上次数据库备份后发生更改的数据,是一种增量备份,相比数据库备份,差异数据库占用磁盘空间小,备份速度快,可经常备份,以降低丢失数据的危险。
差异数据库比较适合上次备份后数据库只有较少的数据发生变化的情形
操作题
五个小题
(1)数据查询(第6章)
步骤二:
Selects.stdID,s.stdName,r.courseName,t.tchName,d.dptName
FromStudyingyjoinstudentssony.stdID=s.stdID
Joincoursesrony.courseID=r.courseID
JoinTeacherstony.tchID=t.tchID
JoinDepartmentsdont.dptcode=d.dptcode
Wherey.markisnullory.mark<60
Go
步骤三:
(2)视图的创建(第7章)
Createview,viewMark
As
Selects.stdID,s.stdName,count(t.courseID),avg(t.mark)
Fromstudentssleftjoinstudingtons.stdID=t.stdID
Wheresemester=‘2008-2009-02’
Groupbys.stdID,s.stdName
go
(3)索引的创建(第8章)
创建唯一索引:
UNIQUE
创建聚集索引:
CLUSTERED创建非聚集索引:
NONCLUSTERED
(4)登陆账户的创建(第11章)
一:
createloginTUser1withpassword=’123456’must_change
go
三:
createuserTUser1fromloginTUser1
WithDefault_schema=sale
go
(5)存储过程的创建和执行(第13章)