一、单项选择题(共40分;1-20题每题1分,21-30题每题2分)
1、在数据库应用系统分析与设计中,事务规范可以用来表示数据库应用系统的()。
A)业务规则需求
B)安全性需求
C)性能需求
D)数据处理需求
2、下列不属于数据库应用系统日常维护工作的是()。
A)备份与恢复
B)模式调整
C)完整性检查
D)安全性维护
3、数据流图必须是正确的、一致的。下列关于数据流图的说法,错误的是()
A)一个处理必须有唯一的输入流和输出流
B)一个存储必须有流入的数据流和流出的数据流
C)父图中描述过的数据流必须在相应的子图中出现
D)一个数据流至少有一端是处理框
4、对关系模式进行去规范化处理,这属于数据库结构设计中的()。
A)概念结构设计
B)逻辑结构设计
C)物理结构设计
D)存取结构设计
5、从功能角度数据库应用系统可以划分为四个层次来实现。在B/S体系结构的数据库应用系统中,Web浏览器实现的是()。
A)表示层功能
B)业务逻辑层功能
C)数据持久层功能
D)数据访问层功能
6、在编写事务时尽量使所有事务都按照相同顺序访问资源,这样做的主要好处是()
A)降低了发生活锁的可能性
B)降低了发生死锁的可能性
C)提高了事务的并发度
D)提高了系统的事务吞吐率
7、下列关于选择在哪些属性上建立索引的说法,错误的是()。
A)在group by后面出现的分组属性
B)在where后面出现的筛选属性
C)在select后面出现的查询属性
D)在order by后面出现的排序属性
8、在IDEF1X数据建模方法中,学生和图书之间的“借阅”多对多联系属于()。
A)标定型联系
B)非标定型联系
C)分类联系
D)非确定联系
9、在UML中,系统的微观设计可用对象图、状态机图和时间图从不同的侧面进行表达。下列关于系统的微观设计说法,错误的是()。
A)状态机图用于陈述系统有关事件或对象的状态转移,可以有一个或多个起始状态,也可以有多个结束状态
B)对象图可以看成是系统在某一时间点的快照,用于描述特定时间点上所有对象在系统中的结构C)一般情况下,时间图作为状态机图的辅助说明工具,一张时间图通常会对应至少一张状态图
D)对象图主要用于解释类图以及验证所设计的类图是否符合实际状况,也可用于协助程序设计人员理解复杂的类图结构
10、设在SQL Server2008某数据库中有商品表(商品号,商品名,类别,单价)和销售表(商品号,销售时间,销售数量)。现要查询2015年9月没有被卖出过的“手机”类商品的商品名和单价。下列查询语句中能正确完成该查询要求的是()。
A)
SELECT商品名,单价FROM商品表
JOIN销售表ON商品表.商品号=销售表.商品号
WHERE销售时间NOT BETWEEN'2015/9/1'AND'2015/9/30'
AND类别='手机'
B)
SELECT商品名,单价FROM商品表
WHERE商品号IN(
SELECT商品号FROM销售表
WHERE销售时间BETWEEN'2015/9/1'AND'2015/9/30'
AND类别!='手机')
AND类别='手机'
C)
SELECT商品名,单价FROM商品表
WHERE商品号NOT IN(
SELECT商品号FROM销售表
WHERE销售时间BETWEEN'2015/9/1'AND'2015/9/30'
AND类别='手机')
AND类别='手机'
D)
SELECT商品名,单价FROM商品表
JOIN销售表ON商品表.商品号=销售表.商品号
WHERE销售时间BETWEEN'2015/9/1'AND'2015/9/30'
AND类别!='手机'
11、下列关于SQL Server2008中前触发器的说法,正确的是()。
A)在前触发器执行之后,再执行引发触发器执行的数据操作语句
B)定义前触发器使用的选项是FOR
C)在一个表上只能定义一个前触发器
D)在一个表上针对同一个数据操作只能定义一个前触发器12、下列关于SQL Server2008游标中FETCH语句的说法,正确的是()。
A)FETCH NEXT表示先提取游标当前行指针所指向的行数据,然后将游标当前行指针下移一行
B)FETCH NEXT表示先将游标当前行指针移动到下一行,并提取所指向的行数据
C)用FETCH语句只能将游标当前行指针向下移动
D)用FETCH语句不能提取指定行数据
13、下列关于SQL Server2008中tempdb数据库的说法,正确的是()。
A)tempdb用于存放临时信息,用户创建的局部和全局临时表均被自动放置在该数据库中
B)只有局部临时表才被系统自动放置在tempdb数据库中,全局临时表不存放在tempdb数据库中
C)tempdb是用户建立的一个用于存放临时信息的数据库
D)tempdb数据库中的内容需要用户自己定时清理
14、下列关于SQL Server2008中架构的说法,错误的是()。
A)在一个数据库中可以定义多个架构
B)在不同的架构中,数据库对象可以重名
C)架构是数据库中的一个逻辑命名空间,可以将表、视图等数据库对象存放在架构中
D)用户在使用表时必须显式指明表所属的架构
15、在SQL Server2008中,设要为某整型类型的列创建4个分区,分别是:小于等于100、101-200、201-300、大于300。下列创建该分区函数的语句,正确的是()。
A)
CREATE PARTITION FUNCTION PF1(int)
AS RANGE LEFT FOR VALUES(101,201,301)
B)
CREATE PARTITION FUNCTION PF1(int)
AS RANGE LEFT FOR VALUES(100,200,300)
C)
CREATE PARTITION FUNCTION PF1(int)
AS RANGE RIGHT FOR VALUES(100,200,300)D)
CREATE PARTITION FUNCTION PF1(int)
AS RANGE RIGHT FOR VALUES(101,200,300)
16、设SQL Server2008某数据库中有表T1(c1,c2,c3),并仅对U1执行了如下授权语句:GRANT UPDATE ON T1TO U1
现有下列数据操作语句:
Ⅰ.UPDATE T1SET c1=100
Ⅱ.UPDATE T1SET c1=c1+100
Ⅲ.UPDATE T1SET c1=c3+c1
Ⅳ.UPDATE T1SET c1=100WHERE c2='A'
上述语句中,U1有权执行的是()。
A)仅Ⅰ和Ⅱ
B)仅Ⅱ和Ⅲ
C)仅Ⅰ
D)全部
17、下列关于SQL Server2008中用户定义的数据库角色的说法,错误的是()。
A)在一个数据库中可以定义多个用户角色
B)一个用户定义的角色可以包含多个成员
C)用户定义的角色不能是另一个用户定义角色的成员
D)可以为用户定义的角色进行授权
18、下列关于数据库运行状态监控与分析的说法,错误的是()。
A)一般由数据库自动完成,很少手工进行
B)需对数据库内存使用情况进行监控
C)监控分析结果可为系统安全运行与性能调优提供依据
D)数据库空间监控是运行状态监控的重要组成部分
19、下列关于数据库性能优化的说法,错误的是()。
A)性能优化中外部环境调整包括对CPU、网络等的调整
B)在进行性能优化前,首先需要确定优化目标
C)性能优化过程中需要对应用系统业务有一定了解D)性能优化过程一般无需对应用系统相关程序进行修改
20、在数据库优化工作中,下列关于分割表的说法,错误的是()。
A)当表中的数据是局部使用,很少全局查询时,采用水平分割可以带来效率提高
B)对表进行水平分割会增加数据库存储空间
C)水平分割后的所有表的结构都相同
D)垂直分割后的表都需要包含原表的主码
21、在数据库系统优化过程中,下列关于数据库模式调整与优化的说法,错误的是()。
A)在数据库设计初期就应该根据性能要求进行去规范化设计
B)规范化可以解决数据维护异常问题,但有可能带来数据使用性能下降问题
C)在进行模式调整和优化之后,可能需要使用一定手段实时或定时保持数据的一致性
D)新增汇总表、增加冗余列方法都会造成数据库空间使用增加
22、下列关于数据库索引使用的说法,错误的是()。
A)在进行范围查询时,散列索引无效
B)在经常进行排序的列上可以考虑建立索引
C)表中数据大量更新后,需考虑重建索引以提高查询效率
D)索引可以提高查询效率,因此在有索引情况下,数据库总会使用索引
23、下列关于数据转储的说法,错误的是()。
A)在静态转储过程中,数据库不能运行其他事务,不允许有任何的修改活动
B)仅使用完成转储会产生大量数据传输,占用的时间和空间都较多,甚至可能会影响业务系统的正常运行
C)差量转储只复制上次转储后发生变化的文件或数据块,相对完全转储占用空间小
D)增量转储只能和完全转储配合才能进行数据库恢复,增量转储的数据恢复时间比仅用完成转储时间长
24、在SQL Server2008中,下列关于数据库恢复模式的说法,错误的是()。
A)完整恢复模式完整地记录所有事务,并将事务日志保留至其备份完毕
B)简单恢复模式可以最大限度地减少事务日志的管理开销,一般建议在生产环境中使用
C)大容量日志恢复模式只对大容量操作进行最小记录,一般只作为完整恢复模式的附加模式
D)可以使用alter database语句对数据库恢复模式进行修改
25、下列关于SQL Server2008数据库恢复的说法,错误的是()。
A)SQL Server2008支持数据库、数据文件、数据表三个级别的数据恢复
B)在还原数据库前,如果日志文件没有损坏,可以进行一次结尾日志备份,减少数据损失
C)在数据库恢复过程中可以将数据文件恢复到不同的位置
D)在restore database语句中使用with recovery选项后,数据库将不能再使用后续备份进行恢复
26、设有一个具有n家分店的大型连锁超市,其数据库应用系统中的销售明细表模式为(销售记录ID,商品ID,价格,数量,总金额,销售时间,分店ID),因数据量大,为提高数据操作效率,将每个店的销售数据划为成的数据表,这种数据划分方式是()。
A)轮转划分
B)范围划分
C)散列划分
D)划分
27、在众多的分布式数据库特征中,一般被认为是最基本特征的是()。
A)本地自治、位置性、数据复制性
B)非集中式管理、高可用性、位置性
C)高可用性、网络性、非集中式管理
D)本地自治、非集中式管理、高可用性
28、关于分布式数据库的分布透明性,下列说法错误的是()。
A)位置透明性使用户在编写程序时只需要考虑数据分片情况,不需要考虑分片的场地分配情况
B)分片透明性是最低级别的透明性,通过位置透明性来保证
C)分布透明性使用户完全感觉不到数据库是分布的,与使用集中式数据库完全一样D)局部数据模型透明性使用户在编写应用程序时不需要了解各场地上数据库的数据模型
29、数据仓库是服务于企业决策支持的数据集合。下列选项中,一般情况下不属于数据仓库中数据特征的是()。
A)可修改
B)面向主题
C)集成的
D)随时间变化
30、设某应用环境有一组关于某设备的状态样本集S,其数据模式为(a1,a2,…,an,x),其中ai(i=1…n)为设备的基础属性,属性x的取值范围为{正常,不正常}。现有算法A,将S作为输入,并最终得到一个程序C,C能根据实时检测到的设备状态数据的n个基础属性的取值,判定设备的状态为正常或不正常。则A和C分别是()。
A)聚类算法、分类器
B)分类算法、分类器
C)聚类算法、聚类工具
D)回归分析算法、预测模型
二、应用题(共30分;每空2分)
31、数据库完整性约束条件的作用对象分为列、元组和【31】三种级别。
32、建立在主码属性上的索引称作【32】索引。
33、在UML图中,描述系统中硬件和软件的物理配置情况和系统体系结构的图称为【33】图。
34、在一个SELECT语句中,HAVING子句的逻辑执行顺序在WHERE子句之【34】。
35、在T-SQL语言中,如果要将T1表中的全部数据复制到T2表中,T2表已存在,可使用语句:
【35】T2SELECT*FROM T1
36、在SQL Server2008中,设要在销售表上定义一个更新操作的后触发器。请补全下列语句:
CREATE TRIGGER tri_sales ON销售表【36】UPDATE......
37、在SQL Server2008中,判断游标提取状态的全局变量是【37】.
38、在SQL Server2008中,若要将DB1数据库完整备份到BK设备上,请补全下列语句:【38】DATABASE DB1TO BK
39、在SQL Server2008中,系统管理员角色是【39】。
40、在对表进行【40】分割后,如果需要查询原表的全部数据,需要使用join操作。
41、将经常一起使用的多个表中的数据行按照其公共列值存储在一起,这种表存储方法为【41】。
42、在SQL Server2008中,使用T-SQL语句进行数据库备份操作,需要使用【42】关键词指定该备份为差异备份。
43、在分布式数据库中,将某一关系从行(元组)的角度依据一定条件划分为不同的片断,这种分片方法称为【43】分片法。
44、在数据仓库中,元数据一般分成技术元数据和【44】元数据。
45、在数据仓库的导出数据或物化视图(实视图)的维护策略中,只在用户查询时发现数据已经过期才进行更新的策略称为【45】维护策略。
三、设计与应用题(共30分;每题10分)
46、现欲设计一个电子商务网站系统,该系统需要记录如下信息,其中下划线为标识信息:
根据以上描述,试画出相应的ER图。
将上面的ER图转换为相应的关系模式,并说明各关系模式的主码。
47、设在SQL Server2008某数据库中有商品表和销售表,表的定义如下:
CREATE TABLE商品表(
商品号char(10)PRIMARY KEY,
商品名char(20)NOT NULL,
单价int DEFAULT0)
CREATE TABLE销售表(
商品号char(10),
销售时间datetime,
销售数量int NOT NULL,
PRIMARY KEY(商品号,销售时间),
FOREIGN KEY(商品号)REFERENCES商品表(商品号))
现要创建一个具有如下功能的用户自定义标量函数:根据指定的商品号,返回该商品的销售总金额。请补全下列代码(请不要为表起别名)。
CREATE FUNCTION dbo.f_TotalQty(@GoodID【1】)
【2】int
AS
【3】
RETURN(SELECT【4】(单价*销售数量)FROM商品表
JOIN【5】
ON【6】
WHERE商品号=【7】)
48、某学校图书管理系统保存了能够借书的教师数据,该数据来源于人事系统(另一家开发商开发)的教师数据。现需要将教师数据自动同步到图书管理系统中,教师数据总计约1万条,每天数据修改量约20条。
为了实现自动数据同步,图书管理系统新上线了一数据同步程序。在同步程序上线后,数据库管理员发现每天数据备份量大幅度增加,尤其是数据库日志大幅度增加。经核查,该数据同步程序操作为每10分钟将所有从人事系统中同步的数据删除,而后将数据重新插入。
现需要对同步程序进行优化,某工程师提出了两套方案:
①在人事系统相关表中新增触发器,提取新增数据到增量数据表,同步程序每10分钟将增量数据表中数据同步至图书管理系统中。
②在图书管理系统中新建一临时数据库,在其中新增与人事系统结构相同的表,同步程序每10分钟将人事的数据传输到图书管理系统对应表中,在图书管理系统数据库中使用SQL语句对比图书管理系统数据,获取增量后修改图书管理系统数据。
请从对人事系统影响、对图书管理系统影响、系统整体运行效率、相关开发人员协调复杂度四方面比较两套方案,并给出理由。
答案
一、单项选择题
1、数据处理需求分析结果也可以表示为事务规范。事务规范包括事务名称、事务描述、事务所访问的数据项、事务用户。故答案为D项。
2、数据库应用系统日常维护包括:备份与恢复、完整性维护、安全性维护、存储空间管理和并发控制。模式调整属于数据库应用系统的性能优化调整的范围。故答案为B项。
3、在数据流图中,一个处理至少有一个输入流和一个输出流。故答案为A项。
4、数据库逻辑设计的目标是得到实际的数据库管理系统可处理的数据模式,各模式结构合理,数据之间不存在不合理的数据依赖关系,且满足各类应用的处理和使用要求,为数据库的物理设计及数据库高效、正确的运行打下基础,故对关系模式进行去规范化处理属于逻辑设计的任务。本题选B项。
5、从功能角度数据库应用系统可以划分为四个层次来实现:
①表示层:用于显示数据和接收用户输入的数据。(一般为Windows应用程序或Web应用程序)
②业务逻辑层:是表示层和数据访问层之间的桥梁,主要负责数据的传递和处理。
③数据访问层:负责与DBMS系统进行交互,提取或存入应用系统所需的数据。
④数据持久层:负责保存和管理应用系统数据。
故答案为A项。
6、事务中为了降低死锁的发生,通常考虑以下法则:按同一顺序访问资源;避免事务中的用户交互;采用小事务模式,尽量缩短事务的长度,减少占有锁的时间;尽量使用记录级别的锁(行锁),少使用表级别的锁;使用绑定连接,使同一应用程序所打开的两个或多个连接可以相互合作。故答案为B项。
7、索引使用的原则:①经常在查询中作为条件被使用的列;②频繁进行排序或分组(即进行group by或order by操作)的列;③一个列的值域很大;④如果待排序的列有多个,应在这些列上建立复合索引。故答案为C项。
8、IDEF1X侧重分析、抽象和概括应用领域中的数据需求,被称为数据建模方法。在IDEF1X 中一个非确定联系又称为多对多关系或m:n联系。故答案为D项。
9、状态图中只能有一个起始状态,可以有多个结束状态。故答案为A项。
10、使用子查询进行基于集合的测试时,通过运算符IN和NOT IN,将一个表达式的值与子查询返回的结果集进行比较。其形式是:
WHERE表达式[NOT]IN(子查询)
这种形式的子查询的语句是分步骤实现的,即先执行子查询,然后再子查询的结果基础上再执行外层查询。本题中子查询查询的是在2015年9月卖出的手机,然后再查询不属于这个范围的商品名和单价。故答案为C项。
11、使用INSTEAD OF选项定义的触发器为前触发器。在这种模式的触发器中,指定执行触发器而不是执行引发触发器执行的SQL语句,从而替代触发的操作。在一个表上可以建立多个名称不同、类型各异的触发器,每个触发器可由所有三个操作来引发。对于前触发器,在一个表上针对同一个数据操作只能定义一个前触发器;对于后触发器,可以在同一种操作上建立多个触发器。故答案为D项。
12、NEXT关键字的作用是返回紧跟在当前行之后的数据行,并且当前行递增为结果行。PRIOR关键字返回紧临当前行前面的数据行,并且当前行递减为结果行。ABSOLUTE n
和RELATIVE n关键字用于指定特定行。FIRST关键字返回游标中的第一行并将其作为当前行。LAST关键字返回游标中的最后一行并将其作为当前行。故答案为B项。
13、tempdb是临时数据库,用于保存临时对象或中间结果集,并为数据的排序等操作提供一个临时工作空间。每次启动SQL Server时都会重新创建tempdb数据库。故答案为A项。
14、架构(Schema,也称为模式)是数据库下的一个逻辑命名空间,可以存放表、视图等数据库对象。一个数据库可以包含一个或多个架构,架构由特定的授权用户所拥有;在同一个数据库中,架构名必须唯一;架构名可以是显示的,也可以是由DBMS提供默认名。故答案为D项。
15、创建分区函数的SQL语句是:
CREATE PARTITION FUNCTION PF1(int)AS RANGE LEFT FOR VALUES(……n)
其中……n用于指定分区的值得数目,所创建的分区数等于n+1。本题中n值分别为1、100、200,因此可以创建4个分区。由于采用了LEFT关键字,在指定分区间隔值是由数据库引擎按升序从左到右排列时,指定边界值间隔处于左侧分区;而关键字RIGHT是指定边界值间隔在右侧分区。题目中边界值间隔在左侧分区。故答案为B项。
16、GRANT UPDATE ON T1TO U1语句的作用是用户U1具有对表T1各列数据进行修改的权利。在SQL Server中,拥有UPDATE权限的用户并不意味着一定拥有SELECT权限。故答案为C项。
17、角色是一组具有相同权限的用户集合。用户定义的角色属于数据库一级的角色,用户定义的角色的成员可以是数据库的用户,也可以是用户定义的角色。只要权限没有被拒绝过,则角色中成员的权限就是其所在角色的权限加上他们自己所具有的权限。故答案为C项。
18、根据监控分析实现的方法不同,监控分析机制分为两种,一种是由数据库系统建立的自动监控机制,另一种是由管理员手动实施的监控机制。故答案为A项。
19、数据库性能优化会涉及到数据库的重组和重构。数据库的重组并不修改数据库原有设计的逻辑结构和物理结构,而数据库的重构则不同,它是指部分修改数据库的模式和内模式。故答案为D项。
20、水平分割是根据数据行的使用特点进行分割,分割之后所得的所有表的结构都相同,而存储的数据不同。水平分割会给应用增加复杂度,特别在查询所有数据时需要Union(并)操作;大部分情况是局部使用,只有很少情况才全局查询时适合使用此方法。而垂直分割是根据列的特点进行分割,分割之后所得的所有表中除了都含有主码列外其余列都不同,其查询时会减少I/O次数,但其缺点是查询所有数据时需要Join(连接)操作。故答案为B项。
21、在数据库设计阶段,主要强调的是高效率利用存储空间,减少数据的冗余,减少数据的不一致,这个过程也就是规范化的过程。规范化关系解决了数据维护的异常,并使冗余最小化,然而,可能会出现数据处理性能下降的问题。在大多数情况下,数据库系统需要考虑的第二个目标是高效率的数据处理,反规范化处理,如增加派生冗余列,增加冗余列,重新组表、分割表和新增汇总表可以有效地提高查询效率。故答案为A项。
22、建立索引的目的就是为了提高查询效率,查询的性能在很大程度上取决于存在什么样的索引来加快选择和连接的处理。另一方面,在插入、删除或更新操作中,索引的存在又增加了系统的开销。因此,要在加快查询与事务处理效率方面获得好处与增加开销之间进行权衡。当数据库表进行更新大量数据后,删除并重建索引也可以提高查询速度。例如,大部分关系数据库管理系统使用B+树作为索引,如果在索引码上执行大量删除操作,索引页可能会出现空间的浪费,而这些浪费的空间可能需要在重建索引后才能被重用。同样,过多的插入操作也会导致聚簇索引的益处,这也会影响到性能。由此可见,D选项观点太绝对。散列索引适用于等值查询,尤其是在连接操作中查找匹配记录时。故答案为D项。
23、差量转储是对最近一次数据库完全转储以来发生的数据变化进行转储。差量转储和完全转储相比速度快,占用较小的空间。增量转储只复制上次转储后发生变化的文件或数据块。C选项混淆了增量转储和差量转储的概念,故答案为C项。
24、通常,对于用户数据库,简单恢复模式只用于测试和开发数据库,或用于主要包含只读数据的数据库(如数据仓库),这种模式并不适合生产系统,因为对生产系统而言,丢失最新的更改是无法接受的。故答案为B项。
25、SQL Server2008支持数据库、数据文件两个级别的数据恢复。故答案为A项。
26、范围划分是按照关系中某个属性的取值范围将数据文件划分为n部分,分别存放到磁盘上。故答案为B项。
27、分布式数据库最基本特征是本地自治、非集中式管理及高可用性。而位置性、数据分片性和数据复制性形成了分布式数据库系统中的分布透明性。故答案为D项。28、分片透明性是最高级别的透明性,是指数据分片用户无需考虑的,完全透明的,在编写程序时用户只需要对全局关系进行操作。故答案为B项。
29、数据仓库中数据特征包括面向主题性,集成性,不可更新性,时间特性。故答案为A项。
30、分类的过程一般分为两个步骤:首先是通过已知数据集(训练集),建立分类函数,构造分类器;其次是利用所获得的分类函数对未知类别标记的数据项进行分类操作。在构造分类器时,需要一个训练样本数据集作为输入。训练集由一组数据库记录或元组构成,每个元组是一个由有关字段(属性或特征)值组成的特征向量。故答案为B项。
二、应用题
31、【答案】关系
【解析】数据库完整性约束条件的作用对象分为列、元组和关系三种级别。元组对应于行,关系对应于表。
【解析】在数据文件的主码属性集上建立的索引称为主索引,在数据文件的非主属性上建立的索引称为辅索引。
33、【答案】部署
【解析】部署图又叫配置图,描述系统中硬件和软件的物理配置情况和系统体系结构。
34、【答案】后
【解析】SELECT基本语法格式是
SELECT查询内容
FROM表名
WHERE条件表达式
GROUP BY待分组的列名
HAVING列名
ORDER BY待排序的列名。
35、【答案】INSERT INTO
【解析】对于已经存在的表,一般使用INSERT INTO语句插入数据,通常有两种方式,一种是插入一个元组,另一种是插入查询结果。本题考查的是插入查询结果。
36、【答案】FOR
【解析】用FOR或者AFTER选项定义的触发器为后触发器。
37、【答案】@@FETCH_STATUS
【解析】在对游标数据进行提取的过程中,可以使用@@FETCH_STATUS全局变量判断数据提取的状态。由于@@FETCH_STATUS对于在一个连接上的所有游标是全局性的,不管是对哪个游标,只要执行一次FETCH语句,系统都会对@@FETCH_STATUS赋一次值,以表明该FETCH语句的执行情况。
38、【答案】BACKUP
【解析】在SQL Server2008中用BACKUP关键字进行数据库备份。
39、【答案】sysadmin
【解析】在SQL Server2008中,系统管理员角色是sysadmin。
40、【答案】垂直
【解析】垂直分割是根据列的特点进行分割,分割之后所得的所有表中除了都含有主码列外其余列都不同,其查询时会减少I/O次数,但其缺点是查询所有数据时需要Join(连接)操作。
41、【答案】聚集
【解析】存储方式中的聚集就是将经常一起使用的多个表中的数据行按照其公共列值存储在一起。
42、【答案】DIFFERENTIAL
【解析】在备份语句(BACKUP)中默认情况下使用完整数据库备份,而关键字DIFFERENTIAL专门改变备份为差异备份、【解析】平分片是在关系中从行的角度(元组)依据一定条件划分为不同的片段,而垂直分片是在关系中以列的角度(属性)依据一定条件划分为不同的片段。
44、【答案】业务
【解析】在数据仓库中,元数据一般分成技术元数据和业务元数据。
45、【答案】延时
【解析】在数据仓库的导出数据或物化视图(实视图)的维护策略中,只在用户查询时发现数据已经过期才进行更新的策略称为延时维护策略。
三、设计与应用题
46、【参】
【解题思路】
本题考查的是根据需求分析画出ER图,然后再将ER图转换成关系模式。
这类题目的解题思路是:
(1)确定实体及其实体的属性。
(2)确定实体之间的联系,及其联系的属性。
ER图向关系模式转换涉及两方面:①实体的转换;②实体间联系的转换。
实体的转换:在从ER图转换为关系模式时,一个实体转换成一个关系模式,实体的属性就是关系模式的属性,实体的键就是关系的主键。
实体间联系的转换:实体间存在三种联系,即1:1(一对一)联系,1:m(一对多)联系,m:n (多对多)联系。ER图中联系向关系模式转换时规则如下:
(1)1:1(一对一)联系
方法一:联系转换为的关系模式;模式的属性由联系本身的属性及两个实体的键构成;主键由两个实体中的任意一个或二个主码构成。
方法二:联系与一端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变。
(2)1:m(一对多)联系
方法一:联系转换为的关系模式;模式的属性由联系本身的属性及两个实体的键构成;主键由m端实体的键组成。
方法二:与m端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变。
(3)m:n(多对多)联系。转换成新的的模式,模式的属性由联系本身的属性及两个实体的键构成,主键由两端实体的键组合而成。
(4)3个或者3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码。
47、【参】
【1】Char
【2】RETURNS
【3】BEGIN
【4】SUM
【5】销售表
【6】商品表.商品号=销售表.商品号或销售表.商品号=商品表.商品号
【7】@GoodID
【8】END
【解题思路】
此题考查的是标量函数的使用。标量函数的语法格式:
CREATE FUNCTION[函数名](@参数名参数类型)
RETURNS[返回值类型]
AS
BEGIN
[sql语句]
End
对比语法格式可以发现,【1】处应该填写参数类型,由表的定义可以看出,商品号(GoodID)是字符型,因此此处应该填写:char,【2】处应该填写:returns,【3】处应该填写:BEGIN,【8】处应该填写:END。
题目要求“根据指定的商品号,返回该商品的销售总金额”。商品金额=单价*销售数量。求指定商品的销售总金额,必然会用到SUM函数,因此可以推断出【4】处应填写:SUM。
单价是在商品表中,而销售数量在销售表中,因此必须采用两个表进行联接查询,在查询中要保证两个表中的商品号相同。两表进行联接运算包括内联接、左联接、右联接,后二者统称为外联接。内联接(INNER JOIN)主表和从表都存在的记录才会查出来,外联接(OUTER JOIN)如果主表中存在的记录,从表中不存在则用NULL替代,由此可见内联接符合题意。
内联接语句sql语句如下:
SELECT*FROM a
(INNER,可省略)JOIN b
ON a.aID=b.bID
等同于以下SQL句:
SELECT*
FROM a,b
WHERE a.aID=b.bID
从语法可以推测出【5】处应填写:销售表,【6】处应填写:商品表.商品号=销售表.商品号或销售表.商品号=商品表.商品号。
由于题目是指定输入商品号,因此【7】处的商品号应该是一个参数,即@GoodID。
48、【参】
使用方案①,如果数据量大时会影响人事系统的运行,但对图书管理系统影响不大,系统整体运行效率能提高,相关开发人员协调复杂度也小。而使用方案②会影响人事系统和图书管理系统的运行,也会增加系统的开销相关开发人员协调的复杂度,比方案①低。
总体而言,方案①优于方案②。
原因是在方案①中,只有在触发器设计时需要相关人员协调,数据量大时可能会影响人事系统的运行,而方案②只有在开发人员协调的复杂度比方案①低以外,总体来说会增加图书管理系统的开销。因为新建的数据库会占用系统的开销,影响系统整体运行的效率。
【解题思路】
触发器是一种特殊的存储过程,其特殊性在于它不需要由用户来直接调用,而是对表中的数据进行UPDATE、INSERT和DELETE操作时自动触发执行的。触发器通常用于保证业务规则和数据完成性,其主要优点是用户可以用编程的方法来实现复杂的处理逻辑和商业规则,增强了数据完整性约束的功能。触发器通常用在下列场合:完成比CHECK约束更复杂的数据约束,为保证数据库性能而维护的非规范化数据,可实现复杂的商业规则,触发器也可以评估数据修改前后的表状态,并根据差异采取对策。在方案①中,只有在触发器设计时需要相关人员协调,数据量大时可能会影响人事系统的运行,但是总体而言是比方案②优秀的。下载本文