西南石油SQL复习题.docx
- 文档编号:30050981
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:23
- 大小:38.79KB
西南石油SQL复习题.docx
《西南石油SQL复习题.docx》由会员分享,可在线阅读,更多相关《西南石油SQL复习题.docx(23页珍藏版)》请在冰豆网上搜索。
西南石油SQL复习题
(1)实体之间的联系类型有1对1联系、1对多联系和多对多联系联系。
(2)数据库管理系统的主要功能包括数据定义功能,数据操纵功能,数据库运行控制功能
(3)在关系模型中,关系的一个属性对应表中的一列,也称为一个字段。
(4)在SQLServer中使用的SQL语言叫做Transact-SQL
(1)在关系模型中,与元组相对应的概念是哪一个。
A.记录
(2)在关系模型中,能够起到联系多个表的作用的是哪一项。
D.外关键字
(3)对关系数据库中的关系的最低要求是满足哪个范式。
A.1NF
(4)以下说法中错误的是哪一项。
B.标准SQL语言提供编程功能。
(1)在关系数据库中,并不是规范化程度越高的关系模式就越好。
√
(2)关系中的NULL,对于数值型数据可以理解为0,对于字符型数据可以理解为空字符串。
×
(3)目前的数据管理领域中,已经完全使用数据库系统,不需要使用文件系统。
×
(4)在实体联系模型中,可以使用椭圆形表示实体的属性。
√
数据库引擎是SQLServer2005系统的核心服务,负责完成数据的存储、处理和安全管理。
(2)SQLServer2005提供了Windows身份验证、混合验证两种身份验证模式。
(1)作为一名数据库开发人员,需要创建一个可以从Internet下载的应用程序。
应用程序需要使用一个数据库来存储数据,该应用程序应该使用哪个SQLServer版本,使应用程序用户不用购买SQLServer2005许可。
A.SQLServerExpress版本
(2)在一个SQLServer服务器上可以安装多少个默认实例。
A.1个
(3)如果在Windows2000Server操作系统上安装SQLServer2005,则需要哪个级别的ServicePack。
D.SP4
(4)哪种身份验证模式同时允许使用SQLServer登录和Windows登录。
C.混合身份验证
(1)SQLServer2005所有版本的安装都需要至少512MB内存空间。
×
(2)如果系统中存在一个应用程序,在访问SQLServer数据库时通过用户名和密码连接到服务器,这时安装SQLServer2005时选择的身份验证模式应该是混合模式。
√
(3)SQLServer2005的开发人员版的功能与企业版的功能相同,只是不能用在生产场√
(4)SQLServer2005的默认安装过程可以安装示例数据库AdventureWorks。
×
(1)请简述为什么要注册服务器?
在SQLServer管理平台中注册服务器可以存储服务器的连接信息,以供将来连接该服务器时使用。
(2)请简述安装SQLServer2005对联网软件的要求。
MicrosoftInternetExplorer6.0SP1或更高版本。
如果只是安装客户端组件且不需要连接到要求加密的服务器,组InternetExplorer4.01SP2也可以满足要求;MicrosoftSQLServer2005ReportingServices需要IIS5.0或更高版本以及ASP.NET2.0。
测验
填空题
(1)在SQLServer2005系统中,系统数据库master用来保存系统级信息。
(2)SQLServer2005系统管理两种类型的文件,分别是数据文件、日志文件
(3)如果数据库的名字是MyDB,那么默认情况下主数据文件和日志文件的逻辑文件名分别是MyDB、MyDB_log
(4)数据库选项AUTO_SHRINK用于设置数据库自动收缩。
(1)在创建数据库时,自动将哪个系统数据库中的数据库对象复制到新的数据库中。
C.model
(2)关于文件和文件组的叙述中正确的是哪一项。
B.主数据文件保存在主文件组中。
(3)可以通过哪个系统目录视图查看指定数据库的基本信息。
D.sys.database
(4)哪一个命令可以用来删除文件组。
A.ALTERDATABASEDatabaseNameREMOVEFILEGROUPGroupName
(1)系统数据库tempdb中存储的是临时信息,当数据库连接断开以后,这些临时信息将丢失。
√
(2)一个SQLServer2005数据库中至少包含一个主数据文件、一个次数据文件和一个日志文件。
×
(3)在同一时刻只能有一个文件组是默认文件组。
√
(4)将主文件组配置成默认文件组是最优配置,这样数据库对象就可以自动保存在主文件组中。
×
(1)为了提高磁盘的访问效率,如何配置数据库文件组和文件。
⏹数据库中可以包含一个主数据文件和若干个次数据文件,在主数据文件中存放数据库目录,而将数据和数据库对象存放在次数据文件中,而且应该将次数据文件和主数据文件存储在不同的驱动器上,这样配置有助于减小磁盘访问竞争。
⏹每个数据库至少拥有一个日志文件,为了使还原速度更快,可以为每个数据库创建多个日志文件。
将日志文件与数据文件分开存储在不同的磁盘驱动器中,这样配置有助于较小磁盘访问竞争,提高系统访问效率。
⏹通常至少要创建一个用户自定义文件组,并将该文件组配置成默认文件组,这样用户创建的数据库对象就会自动存放在这个文件组中。
该文件组中可以包含多个数据文件并将这些数据文件分别存储在不同的磁盘驱动器上,访问该文件组中的对象时可以实现跨磁盘访问。
(2)简述实现数据库收缩的三种方法及其特点。
⏹可以将数据库设置为自动收缩,这样数据库引擎会定期检查每个数据库的空间使用情况并执行数据库收缩操作。
使用这种方式不能将数据库收缩得小于创建时的大小。
⏹可以在指定的时间手动收缩数据库,这种方式比自动收缩操作更灵活。
使用这种方式不能将数据库收缩得小于创建时的大小。
⏹可以在指定的时间手动收缩数据库文件,从而实现数据库的收缩。
使用这种方式收缩数据库更灵活,而且可以实现将数据库文件收缩得比创建时更小,从而使数据库收缩得比创建时更小。
测验
填空题
(1)在SQLServer2005中,近似数字数据类型包括float(p)和real两种。
(2)在SQLServer2005的字符数据类型中,凡是用于存放Unicode编码字符的数据类型的名称均以字符n开头。
(1)SQLServer2005中的货币数据类型money默认保留的小数位数是几位。
B.4
(2)如果将某个列定义成标识列,这列的数据类型不能是以下哪一种。
D.float
(3)创建表的时候,如果没有指定文件组中,则表自动保存在哪个文件组中。
C.默认文件组
(4)下列哪种数据类型既可以存储高达2G字节的文本数据,而且还能够使用标准的函数和运算符操纵它。
C.varchar(max)
(1)微软公司建议不再使用数据类型image,取而代之的是数据类型varbinary(max)。
√
(2)在SQLServer2005中,表的外键所在列不能设计成允许有空值。
×
(3)如果表中定义了varchar(max)、varbinary(max)等大类型的数据,则在创建表的时候可以将这些数据存储到指定的文件组中。
√
(4)计算列中的数据不能实际存储在表中。
×
(1)请简述如何使用标识列?
定义标识列的格式为IDENTITY(seed,increment),其中种子和增量的默认值都是1。
一个表中只能有一个标识列,标识列不能设置为允许空值,而且只有具有整数性质的列才可以定义成标识列。
标识列中的值是系统自动生成的,在向表中插入数据时,无须向标识列中插入值,系统会自动维护标识列中的值。
如果要向标识列中插入特点的值,则必须将IDENTITY_INSERT显示定义成ON。
(2)请简述表级主键约束和列级主键约束的区别。
表级主键约束定义在表上,列级主键约束定义在列上。
如果表中的主键只包含一个列,这时既可以使用表级主键约束,也可以使用列级主键约束,但是如果主键中包含两个或两个以上的列,此时必须使用表级主键约束。
定义表级主键约束时,必须在关键此PRIMARYKEY后面的括号里书写主键包含的列,而定义列级主键约束时没有这个要求。
测验
填空题
(1)如果需要向标识列中插入数据,则必须将IDENTITY_INSERT显示设置成ON。
(2)能够产生一个GUID的函数是NEWID()
(1)下面关于TRUNCATETABLE语句的叙述中错误的是哪一个。
(2)下列关于插入操作的叙述中错误的是哪一个。
C.定义为uniqueidentifier类型的列中可以不插入数据,系统自动为该列生成一个GUID值。
(1)使用UPDATE语句更新表中的数据时,一次只能更新一个字段中的数据。
×
(2)省略了WHERE子句的DELETE语句将删除表中所有的数据。
√
(3)使用DELETE语句删除表中的所有数据以后,表中的标识列将被重置为种子的值×
(4)使用INSERT语句向父表中插入数据时不会产生违反外键约束的问题。
√
如果表中存在定义为uniqueidentifier类型的列,那么该如何向该列插入数据?
首先可以使用函数NEWID()生成一个GUID并插入到该列中。
也可以手工为该列输入数据,需要注意数据输入的格式是8个十六进制字符,后面跟一个减号,4个十六进制字符,后面跟一个减号,4个十六进制字符,后面跟一个减号,4个十六进制字符,后面跟一个减号,最后是12个十六进制字符。
测验
填空题
(1)在SELECT语句的6个基本子句中,最先被执行的是FROM子句,最后被执行的是ORDERBY子句。
(2)将条件表达式xBETWEEN20AND40改写为逻辑表示式的形式应该是x>=20ANDx<=40
(3)在对数据行分组以后,可以使用子句HAVING对组进行筛选。
(4)假设表A中包含6行3列数据,表B中10行5列数据,那么表A和B做笛卡儿积连接后产生的结果中包含60行数据。
(1)如果使用DISTINCT,那么SELECT子句中只能包含一个列表达式。
×
(2)在指定排序所依据的列时,该列可以是没有出现在SELECT子句中的列。
√
(3)如果按照多个列排序查询结果,那么应该在SELECT语句中写多个ORDERBY子句。
×
(4)在Transact-SQL中,子查询只能放在WHERE子句中。
×
(1)在附录A的表Books中执行下述查询得到怎样的结果。
SELECTCOUNT(author)
FROMBooks
GO
C.8
(2)在附录A的表Books中执行下列哪个查询可以显示类别代号为CO01的图书的书名和销售报价,结果如图6-40所示。
A.
SELECTtitleAS图书,'销售价:
'+CONVERT(nchar(6),unitPrice*0.5)AS报价
FROMBooks
WHEREcategoryCode='CO01'
GO
(3)下述哪个查询语句可以显示单价低于平均单价的图书的书名和ISBN。
C.
SELECTtitle,ISBN
FROMBooks
WHEREunitPrice<(SELECTAVG(unitPrice)
FROMBooks)
GO
(4)哪个查询语句可以实现下述功能。
*只统计单价高于20元的图书;
*只统计那些至少包含2本图书的类别;
*显示类别代号、类别名称以及该类别下的图书册数、平均单价。
D.
SELECTc.categoryCode,c.categoryName,COUNT(bookID),AVG(unitPrice)
FROMBooksbJOINCategoriescONb.categoryCode=c.categoryCode
WHEREb.unitPrice>20
GROUPBYc.categoryCode,c.categoryName
HAVINGCOUNT(bookID)>1
GO
(5)下列哪个查询语句不能显示那些在OrderItems表中没有销售记录的图书的书名和ISBN。
A.
SELECTb.title,b.ISBN
FROMBooksb,OrderItemsi
WHEREi.orderIDISNULLANDb.bookID=i.bookID
GO
(6)下列哪个查询语句可以显示编号为1和4的每张订单订购的每本图书的书号、书名、订购数量、销售价格以及这张订单的顾客应付款额,如下图所示。
B.
SELECTb.bookID,b.title,i.quantity,i.price,i.total
FROMBooksbJOINOrderItemsiONb.bookID=i.bookID
WHEREi.orderIDIN(1,4)
ORDERBYorderID
COMPUTESUM(total)BYorderID
GO
测验
填空题
(1)如果要防止用户通过视图有意无意地对不属于视图范围内的基本表数据进行操作,则在视图定义时要加上WITHCHECKOPTION选项。
(2)如果要防止用户删除定义视图时该视图所引用的基本表、其他视图或函数等数据库对象,则应用使用WITHSCHEMABINDING选项。
(3)定义视图时,如果希望加密定义视图的文本,则应该使用WITHENCRYPTIO选项。
(4)删除视图的命令是DROPVIEW
(1)下面哪个语句是用来创建视图的语句。
A.CREATEVIEW
(2)下列说法中正确的是哪一项。
A.使用视图可以简化用户的数据库操作。
(3)下列说法中正确的是哪一项。
B.可以创建基于多个基本表的视图。
(4)下列说法中错误的是哪一项。
D.通过视图修改表中数据时,不必考虑表的完整性约束问题。
(5)Departments(部门)和Employees(员工)表如表7-1和表7-2所示。
表7-1Departments表
dptID
标识列、主键
dptName
nvarchar(50)、NOTNULL
Tel
nchar(4)、NULL
1
生产部
223
2
销售部
321
表7-2Employees表
empID
标识列、主键
empName
nvarchar(50)、NOTNULL
dptID
nvarchar(50)、NULL
1
安欣
2
2
魏中华
1
3
刘建
1
下列哪个语句可以创建一个视图ViewEmp1,该视图包含生产部员工的编号、姓名、所在部门编号和所在部门名称,通过该视图修改数据时,不能增加其他部门的信息。
C.CREATEWIEWViewEmp1WITHENCRYPTION
ASSELECTe.empID,e.empName,e.dptID,d.dptName
FROMEmployeeseJOINDepartmentsdONe.dptID=d.dptID
WHEREdepName='生产部'
WITHCHECKOPTION
GO
(6)通过下列语句创建了一个视图ViewEmp2。
CREATEVIEWViewEmp2(empID,empName,dptID,dptName)
WITHENCRYPTION
ASSELECTe.empID,e.empName,e.dptID,d.dptName
FROMEmployeeseJOINDepartmentsdONe.dptID=d.dptID
WHEREdepName='销售部'
WITHCHECKOPTION
GO
下列哪个语句能够正确执行。
D.INSERTINTOViewEmp2(empID,empName)VALUES(4,'高兵')
测验
填空题
(1)在SQLServer2005中,索引分为两大类,分别是聚集索引、非聚集索引
(2)在一个表中可以定义一个聚集索引,多个非聚集索引。
(3)唯一索引确保索引键不包含重复的值。
(4)系统访问数据中数据时,可以采用两种方法,分别是表扫描和索引查找
(1)某公司有数据库,其中有一个表包含几十万个数据,但是用户抱怨数据查询速度太慢,下面哪种方法能够最好地提高查询速度。
D.在该表上建立索引
(2)下列不适合建立索引的选项是哪一个。
C.取值范围很少的列
(3)执行下列语句时,系统自动建立几个索引。
CREATETABLETEST(
C1intprimarykey,
C2char(4)unique,
C3bitdefault1,
C4char(4)foreignkeyreferencestest1(C1)
)
B.2个
(4)以下哪个命令是在表TABLE的C1列上创建一个唯一的非聚集索引IX1,且索引的中间结点和叶级结点的填满度均为70%。
C.CREATEUNIQUEINDEXIX1ONTABLE(C1)
WITH(FILLFACTOR=50,PAD_INDEX=ON)
(1)创建主键约束时系统自动创建聚集索引。
√
(2)系统自动创建的索引可以手工删除。
×
(3)一个表可以创建若干个聚集索引。
×
(4)一个表可以创建若干个非聚集索引。
√
(1)删除索引时所对应的数据表会删除吗?
为什么。
答案:
不会,因为索引是针对一个表,以表列为基础建立的数据库对象,它保存着表中排序的索引列,并且记录了索引列在数据表中的物理存储位置,实现了表中数据的逻辑排序。
删除索引时所对应的数据表中的数据不会删除。
(2)引入索引的主要目的是什么?
答案:
使用索引的主要目的是提高SQLServer系统的性能,加快数据的查词速度和减少系统的响应时间。
索引通过记录表中的关键值指向表中的记录,这样数据库引擎就不用扫描整个表而定位到相关的记录。
索引还可以加速表与表之间的连接,在实现数据的参照完整性时,可以将表的外键制作成索引,这样可以使表和表之间的连接速度加快。
(3)创建索引的缺点有哪些?
答案:
带索引的表在数据库中占用更多的物理空间,因为除了数据表占用空间之外,索引也需要一定的物理空间;创建索引和维护索引要耗费时间;建立索引加快了数据检索速度,却减慢了数据修改速度。
(4)如何查看索引的碎片?
答案:
使用DBCCSHOWCONTIG语句来扫描表,并通过其返回值确定该索引页是否已经严重不连续。
(5)说明在SQLServer中聚集索引和非聚集索引的区别。
答案:
聚集索引数据表的物理顺序和索引表的顺序相同,它根据表中的一列或多列值的组合对表和视图进行物理排序,有利于范围搜索,最适合于范围搜索,因为相邻的行将被物理地存放在相同或相邻近的页面上。
对于非聚簇索引,数据表的物理顺序和索引表的顺序不相同,即表的数据并不是按照索引列排序的。
索引是有序的,而表中的数据是无序的。
(1)按约束的应用范围不同,约束可分为列级约束和表级约束
(2)主键约束可以实现实体完整性。
(1)下列描述正确的是哪一个。
B.一个表中最多只能有一个主键约束,多个外键约束
(2)下列描述不正确的是哪一个。
D.一个表只允许在一个列上创建主键约束
(3)下列不能实现域完整性的是哪一个。
A.唯一性约束
(4)下列哪个语句是在表T1的C1列上定义了一个主键约束PK_T1_C1。
C.ALTERTABLET1ADDCONSTRAINTPK_T1_C1PRIMARYKEY(C1)
(1)对一个已经存在的表,不能够再增加约束了。
×
(2)一个表中最多只能有一个唯一性约束。
×
(3)唯一性约束和主键约束的区别在于,定义唯一性约束的列允许空值,但定义主键约束的列不允许空值。
√
(4)一个列只能应用一个规则,但可以应用多个检查约束。
√
(1)简述数据完整性的含义及其分类?
答案:
(1)数据完整性的定义:
数据完整性就是指存储在数据库中的数据的准确性和一致性。
(2)数据完整性的类型:
实体完整性、域完整性、参照完整性和用户自定义完整性。
(2)简述规则对象和检查约束的异同。
答案:
规则是一种数据库对象,它的作用类似于检查约束。
它们的区别表现为:
(1)检查约束的定义属于表结构定义的一部分。
检查约束是在CREATETABLE或ALTERTABLE语句中定义的。
删除表的时候检查约束随之删除。
(2)规则对象的定义是独立于表结构定义的。
规则对象使用CREATERULE语句定义。
删除表的时候并不能删除规则对象。
(1)在SQLServer2005中,有4种备份类型,分别是数据库备份、差异数据库备份、事务日志备份、文件和文件组备份
(2)简单恢复模式不能备份事务日志。
(3)导入数据是从外部数据源中检索数据,并将数据插入到SQLServer数据表中的过程,也就是把数据从其他系统引入到SQLServer数据库中。
(4)备份数据库和还原数据库是保护数据库中数据的重要手段。
(1)下列哪一个不属于备份数据库的原因。
D.将数据从ACCESS数据库转换到SQLServer数据库中
(2)用于备份数据库的命令是哪一个。
C.BACKUPDATABASE
(3)下列哪一个情况不适用于快照复制。
D.复制的数据频繁更新
(4)下列不属于数据库恢复方式的是哪一个。
A.数据文件和文件组恢复
(5)下列哪种方法可以将MicrosoftAccess数据表转移到SQLServer数据库中。
C.导入数据库
(1)利用数据快照可以进行数据库的恢复。
√
(2)用户数据库需要备份而系统数据库不需要备份。
×
(3)数据库备份和差异数据库备份中包含的日志记录不影响事务日志。
√
(4)在完整恢复模式下允许使用数据库备份和事务日志备份。
√
(5)将数据库从一台计算机移到另一台计算机,可以采用分离再附加的方法。
√
(1)简述备份设备的定义及分类?
(1)备份设备是用来存放备份数据的设备。
(2)通常包括磁盘备份设备和磁带备份设备。
(2)简述数据库导入导出操作的三种主要方法。
使用Transact-SQL实现数据的导入导出。
使用命令行工具BCP实现数据导入导出。
使用SSIS包(MicrosoftSQLServer2005IntegrationServices,简称SSIS)实现数据的导入导出。
(3)简述数据库备份和差异数据库备份的区别?
数据库备份会备份所有数据和足够的日志,以便恢复数据,是最安全最保险的备份类型。
由于是数据库的完全备份,所以这个备份类型速度比较慢,而且会占用大量的磁盘空间,因此,这种备份一般会安排在数据库事务操作较少的晚上进行。
差异数据库备份只记录自上次数据库备份后发生更改的数据,是一种增量备份。
相比数据库备份,差异数据库备份占用的磁盘空间小,而且备份速度快,因此,可以经常的备份,以降低丢失数据的危险。
差异数据库备份比较适合于上次备份后数据库只有较少的数据发生变化的情形。
(4)简述数据导入与数据导出的定义?
导出数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西南 石油 SQL 复习题