1在数据库应用系统需求分析阶段,需要分析系统应具有的性能指标。下列不属于数据库应用系统性能指标的是()。
最大用户并发数
系统吞吐量
每TPS代价值
数据库增长速度
正确答案:D
答疑:数据库应用系统的性能需求分析包括数据操作响应的时间或数据访问响应时间,系统吞吐量、允许并发访问的最大用户数、每TPS代价值。故答案为D项。
2设在一个学校信息系统的ER图中,有教师、项目、学生三类实体,一名教师可以负责多个项目,每个项目只能有一个负责人,一名教师可以参与多个项目,一个学生只能参与一个项目,一个项目可以有多个学生和教师参与。将该ER图转化为关系模型后,得到的关系模式个数是()。
4个
5个
6个
7个
正确答案:A
答疑:根据题意,本题中存在3个实体,2个联系即教师和项目之间是多对多联系,项目和学生之间是一对多联系。在从ER图转换为关系模式时,实体转换为独立的模式,多对多联系转换为关系模式,一对多联系中一端并入到多端的实体中。因此本题中有3个实体转换的模式,1个多对多联系转换的关系模式,一共可以得到4个关系模式。故答案为A项。
3DFD建模方法由四种基本元素组成,其中使用矩形框来表示的元素是()。
数据流
处理
数据存储
外部项
正确答案:B
答疑:在DFD中,数据流用箭头表示,处理用矩形框表示,数据存储用圆角矩形框表示,外部项用圆角框或者平行四边形框表示。故答案为B项。
4从功能角度可以将数据库应用系统划分为四个层次,其中数据访问层设计的主要工作是()。
进行人机界面设计
把业务活动表示为系统构件
进行事务设计
进行应用系统的存储结构设计
正确答案:C
答疑:从功能角度可以将数据库应用系统划分为4个层次即表示层、业务逻辑层、数据访问层、数据持久层。其中表示层概要设计的主要任务是进行人机界面设计;业务逻层概要设计的主要任务是梳理DBAS的各项业务活动,将其表示为各种系统架构;数据访问层概要设计的主要任务就是针对DBAS的数据处理需求设计用于操作数据库的各类事务;数据持久层概要设计的主要任务进行应用系统的存储结构设计。故答案为C项。
5现有商品表(商品号,商品名,商品价格,商品类别),销售表(顾客号,商品号,销售数量,销售日期)。关于这两个表有如下性能优化做法:
Ⅰ.因为经常按照销售日期进行销售数量的汇总分析,因此对销售表可以按销售日期进行分区
Ⅱ.因为经常按照商品名查询商品的销售数量,因此可以在销售表中添加商品名属性
Ⅲ.因为经常按照商品类别进行销售数量的汇总分析,因此可以将按商品号分组的销售数量汇总结果保存起来
Ⅳ.因为经常按照顾客号执行分组操作,因此可以将销售表组织成基于顾客号的顺序文件
以上做法中,正确的是()。
仅Ⅰ、Ⅱ和Ⅲ
仅Ⅰ、Ⅱ和Ⅳ
仅Ⅱ、Ⅲ和Ⅳ
全部都对
正确答案:D
答疑:当对数据的操作只涉及一部分数据而不是所有数据时,就可以考虑建立分区表。Ⅰ符合分区的条件,故Ⅰ正确。
增加冗余列是指在多个表中增加具有相同语义的列,它常用来在查询时避免连接操作,提高查询效率。Ⅱ中在销售表中增加了"商品名"属性就属于增加冗余列,故II可以提高查询效率,符合性能优化方法。
汇总过程可能需要同时对大批量数据进行实时访问,同时对数据进行加和、取平均操作,这些操作占用数据库服务器CPU大、持续时间长。为了降低这些操作时间,可以根据统计操作的使用情况,将频繁使用的统计操作的中间结果保存汇总表中,当用户发出汇总请求时,即可直接从汇总表中获取数据,降低了数据访问量以及汇总操作的CPU计算量。Ⅲ就是通过新增汇总表来进行性能优化的。
顺序文件支持基于查找码的顺序访问,也支持快速的二分查找。如果用户的查询条件定义在查找码上,则顺序文件是比较适合的文件结构。Ⅳ中是基于顾客号的分组,因此顺序文件适合查找。
故答案为D项。
6已知有关系:员工(员工号,姓名,年龄,性别),对该关系有如下查询操作:
SELECT 姓名FROM 员工
WHERE 年龄 = 20
现有如下四种创建索引的方式,则对于上面查询,执行效率最高的索引定义方式是()。
在姓名列上建索引
在年龄列上建索引
在(年龄,姓名)列上建索引
在(姓名,年龄)列上建索引
正确答案:C
答疑:用户在多个列上建立索引,这种索引叫做复合索引(组合索引)。复合索引在数据库操作期间所需的开销更小,可以代替多个单一索引。当表的行数远远大于索引键的数目时,使用这种方式可以明显加快表的查询速度。对于复合索引:(1)对一张表来说,如果有一个复合索引就没有必要同时建立一个单索引;(2)如果查询条件需要,可以在已有单索引的情况下,添加复合索引对于效率有一定的提高;(3)对于复合索引,在查询使用时,最好将WHERE条件顺序作为索引列的顺序,这样效率最高。故答案为C项。
7已知有关系R(A, B, C),现使用如下语句建立索引:create unique clustered index idx1 on R(A)。则下列说法中正确的是()。
idx1既是聚集索引,也是主索引
idx1是聚集索引,但不一定是主索引
idx1是主索引,但不是聚集索引
idx1既不是聚集索引,也不是主索引
正确答案:B
答疑:在数据文件的主码属性集上建立的索引称为主索引。create unique clustered index idx1 on R(A)中unique表示为表建立唯一索引;clustered表示为表创建聚集索引。根据题干不能确定列A是主码列,因此不能确定是不是主索引。故答案为B项。
8通过引入汇总表来提高一些经常执行的聚集查询的性能,这属于下列数据库应用系统开发过程中哪个阶段的任务?()
需求分析
系统设计
实现与部署
运行和维护
正确答案:D
答疑:数据库运行维护与优化包括数据库的转储和恢复;数据库的安全性和完整性控制;数据库性能的监控分析和改进;数据库的重组和重构。其中引入汇总表是属于数据库性能优化的一部分。故答案为D项。
9下列关于顺序图的说法,正确的是()。
对象间的通信用对象生命线之间的垂直消息线表示,箭头说明消息的类型,如同步、异步或简单
顺序图可以表示递归过程,当一个操作调用它本身时,消息总是异步的
在顺序图中可以描述如何创建和销毁对象,创建或销毁一个对象的消息一般是同步的
顺序图中的消息可以有条件,并规定只有条件为真时才可以发送和接收消息,如果条件之间不互相排斥,则一次只能发送一条消息
正确答案:C
答疑:对象间的通信用对象生命线之间的水平消息线表示,箭头说明消息的类型,如同步、异步或简单。A项错误。
顺序图可以表示递归过程,当一个操作调用它本身时,消息总是同步的。B项错误。
在顺序图中可以描述如何创建和销毁对象,创建或销毁一个对象的消息一般是同步的。C项正确。
顺序图中的消息可以有条件,并规定只有条件为真时才可以发送和接收消息,如果条件之间不互相排斥,则消息可能会并行发出。D项错误。
故答案为C项。
10设有职工表(职工号,姓名,所在部门,工资),现要查询姓名为"张三"(姓名唯一)的职工所在部门的最高工资。下列查询语句中正确的是()。
SELECT MAX(A.工资) FROM 职工表 A JOIN 职工表 B
ON A.所在部门 = B.所在部门AND B.姓名 = '张三'
SELECT MAX(工资) FROM职工表
WHERE 姓名 = '张三'
GROUP BY 所在部门
SELECT MAX(工资) FROM职工表
WHERE 姓名 = '张三'
GROUP BY 所在部门
ORDER BY 1
SELECT MAX(工资) FROM 职工表
WHERE 姓名 = '张三'
ORDER BY 1
正确答案:A
答疑:本题考查自连接与INNER(INNER可省略)JOIN……ON语句的应用。
如果连接操是一个表与其自己进行连接,称为表的自身连接。语法格式:SELECT 查询内容 FROM 表名 表别名1,表名 别名2……
INNER(INNER可省略)JOIN……ON语法格式:需要连接的表1 JOIN需要连接的表2 ON 连接的条件。故答案为A项。
11下列关于SQL Server 2008触发器的说法,错误的是()。
利用登录触发器可以实现用户登录审计
在视图上可以定义AFTER型触发器,但不可以定义INSTEAD OF型触发器
在一个表上可以建立多个名称不同的针对同一个操作的AFTER型触发器
针对一个表的同一个操作只能定义一个INSTEAD OF型触发器
正确答案:B
答疑:不能在视图上定义AFTER型触发器,故答案为B选项。
12设有职工表(职工号,姓名,所在部门,工资),现要建立查询指定部门的最高工资的标量函数。下列语句中正确的是()。
CREATE FUNCTION f_MaxSalary(@dept varchar(20))
RETURNS INT AS
BEGIN
RETURN (SELECT MAX(工资) FROM 职工表 WHERE 所在部门 = @dept)
END
CREATE FUNCTION f_MaxSalary(@dept varchar(20))
RETURN INT AS
BEGIN
DECLARE @x INT
SET @x = SELECT MAX(工资) FROM 职工表 WHERE 所在部门 = @dept
RETURN (@x)
END
CREATE FUNCTION f_MaxSalary(@dept varchar(20))
RETURNS INT AS
BEGIN
RETURN (SELECT MAX(工资) FROM 职工表 WHERE 所在部门 = @dept GROUP BY 姓名)
END
CREATE FUNCTION f_MaxSalary(@dept varchar(20))
RETURNS INT AS
BEGIN
DECLARE @x INT
SET @x = SELECT MAX(工资) FROM 职工表 WHERE 所在部门 = @dept ORDER BY 姓名
RETURN (@x)
END
正确答案:A
答疑:标量函数是返回单个数据值的函数。标量函数中不适用SET语句,故可排除B、D两项。题目中查询的是指定部门的最高工资,没涉及到分组,可排除C项。故答案为A项。
13在SQL Server 2008中,架构(schema)是数据库下的一个逻辑命名空间,可以存放表、视图等数据库对象。下列关于架构的说法,错误的是()。
同一个数据库的不同架构下表名可以相同
在创建架构时,如果没有指定架构名,则架构名隐含为用户名
创建架构的用户必须具有数据库管理员的权限,或者是获得了CREATE SCHEMA的权限
在删除架构时,如果使用RESTRICT选项,则会将该架构中的所有架构对象一起全部删除
正确答案:D
答疑:在删除架构时,如果使用CASCADE选项,则会将该架构中的所有架构对象一起全部删除;如果使用RESTRICT选项,如果被删除的架构中包含架构对象,则拒绝删除此架构。故答案为D项。
14在SQL Server 2008中,要为数据库DB1添加一个新的数据文件,该文件的逻辑名为data2,物理存储位置为D:\Data\data2.ndf,初始大小为10MB,每次自动增长20%。下列语句中正确的是()。
ALTER DATABASE DB1 ADD FILE (
NAME = data2,
FILENAME = 'D:\Data\data2.ndf',
SIZE = 10MB,
FILEGROWTH = 20% )
ALTER DATABASE DB1 ADD FILE (
NAME = data2,
FILENAME = 'D:\Data\data2.ndf',
SIZE = 10,
FILEGROWTH = 20 )
ALTER DATABASE DB1 ADD FILE (
NAME = data2,
FILENAME = D:\Data\data2.ndf,
SIZE = 10,
FILEGROWTH = 20% )
ALTER DATABASE DB1 ADD FILE (
NAME = data2,
FILENAME = D:\Data\data2.ndf,
SIZE = 10MB,
FILEGROWTH = 20 )
正确答案:A
答疑:添加数据库文件的语法格式是:
ALTER DATABASE要添加文件的数据库 ADD FILE (
NAME = 文件名,
FILENAME = '文件所在的绝对地址',
SIZE = 文件大小,
FILEGROWTH = 增长速率 )
根据题意,A项符合题意,故答案为A项。
15SQL Server 2008安装完成后,系统会自动安装5个系统数据库,分别是master、msdb、model、tempdb和Resource。下列关于这5个系统数据库的说法,错误的是()。
master数据库记录了所有其他数据库的数据库文件的物理存储位置
SQL Server实例的作业信息存储在msdb数据库中
如果tempdb损坏,则需要使用备份进行恢复
Resource数据库是个只读数据库,包含了SQL Server中的所有系统对象
正确答案:C
答疑:每次启动SQL Server时都会重新创建tempdb数据库,因此若其损坏,没有必要恢复。故答案为C项。
16对于数据库应用系统来说,其安全架构需要从多方面进行设计,其中计算机病毒防护属于()。
数据安全设计
环境安全设计
制度安全设计
运维安全设计
正确答案:B
答疑:数据库应用系统的环境安全设计包括漏洞与补丁、计算机病毒防护,网络环境安全和物理环境安全。根据解析, B项符合题意,应当选。
17在强制存取控制中,DBMS将全部实体划分为主体和客体两大类。下列关于强制存取控制的说法,正确的是()。
仅当主体的许可证级别不低于客体的密级时,该主体才能读取相应的客体;仅当主体的许可证级别不低于客体的密级时,该主体才能写相应的客体
仅当主体的许可证级别不高于客体的密级时,该主体才能读取相应的客体;仅当主体的许可证级别不高于客体的密级时,该主体才能写相应的客体
仅当主体的许可证级别不低于客体的密级时,该主体才能读取相应的客体;仅当主体的许可证级别不高于客体的密级时,该主体才能写相应的客体
仅当主体的许可证级别不高于客体的密级时,该主体才能读取相应的客体;仅当主体的许可证级别不低于客体的密级时,该主体才能写相应的客体
正确答案:C
答疑:在强制存取控制中,主体对客体的存取必须遵循如下规则:仅当主体的许可证级别不低于客体的密级时,该主体才能读取相应的客体;仅当主体的许可证级别不高于客体的密级时,该主体才能写相应的客体。故答案为C项。
18在数据库应用系统运行一段时间后,可能需要对数据库进行重构。下列关于数据库重构的说法,错误的是()。
数据库重构一般会需要调整数据库的模式
数据库重构一般会需要调整数据库的内模式
数据库重构一般是在现有数据库结构不能满足新的业务需求时进行
数据库重构一般是由DBA完成的,应用程序开发人员需要参与进行应用测试工作
正确答案:D
答疑:数据库重构时可能会调整数据库的内模式即模式,如在表中增加或删除某些数据项,改变数据项的类型,增加或删除某个表等,这些过程DBA都能完成,因此不需要应用程序开发人员参与调试。故答案为D项。
19在数据库应用系统运行阶段,数据库日常维护工作主要是由DBA完成的。下列工作中不属于数据库运行维护工作的是()。
监控数据库运行状态
定期检查CPU、内存使用情况
数据库管理系统打补丁升级
安装指定版本的数据库软件
正确答案:D
答疑:数据库的运行和维护阶段的主要工作有:监控数据库运行状态、系统监控与分析(定期检查CPU、内存使用情况)、系统升级(数据库管理系统打补丁升级)、数据库的备份与恢复、存储空间管理、数据库性能优化调整等工作。故答案为D项。
20数据库优化工作中,模式调整一般是指对数据库设计阶段的结果进行调整以提高数据库效率。下列有关此项工作的说法,正确的是()。
增加派生性冗余列一般可以减少查询时的连接操作,从而达到提高效率的目的
模式调整过程中一般需要严格遵循使模式达到第三范式要求的原则,防止出现数据不一致
使用分割表方法进行分割后,所得到的表结构都相同,但存储的数据不同
数据库对表连接操作会进行专门优化,因此性能优化时一般无需考虑对连接操作的优化
正确答案:A
答疑:模式调整过程中有可能会对数据表进行反规范化处理,处理后的数据表不一定满足第三范式要求,B项错误。水平分割之后所得的所有表的结构都相同,而垂直分割之后所得的所有表中除了都含有主码列外其余列都不相同,C项错误。频繁的连接操作会影响查询效率,数据库的性能优化很多工作都是为了减少数据库的连接操作,D项错误。故答案为A项。
21数据库存储结构和存取方法优化是提高查询效率非常重要的手段。下列做法中不利于提高查询效率的是()。
为经常进行分组的列建立索引
将数据文件和日志文件分别放置在不同磁盘上
将数据文件和索引文件放置在同一磁盘上
表中数据大量更新后重建索引
正确答案:C
答疑:当采用RAID等多磁盘存储系统时,可以将基本表和建立在表上的索引分别放在不同的磁盘上,这样在访问基本表时,存放数据和存放索引的磁盘驱动器并行工作,可以得到较快的文件读写速度。故答案为C项。
22数据库性能优化是数据库管理员的重要工作。下列有关此项工作的说法,错误的是()。
在进行服务器IO调整时,为了提高磁盘写入速度可以将RAID5换成RAID1
当系统CPU繁忙、IO不繁忙时,增加数据库可用内存,提高查询速度
监控查询执行情况,为经常作为查询条件的列建立索引
当发现一条SQL语句占用大量数据库CPU资源时,可以查看其执行计划以便进行调优
正确答案:B
答疑:因CPU繁忙而引起的数据库变慢,可以为服务器适当增加CPU的数量或者是终止需要许多资源的进程来提高查询速度。故答案为B项。
23当数据库系统出现故障时,通过数据库日志文件可以对数据库数据进行恢复。下列关于数据库日志文件的说法,错误的是()。
动态转储过程中要恢复到备份时间点必须使用日志文件
静态转储过程中要恢复到备份时间点无需使用日志文件
日志文件占用空间较小,日志文件备份较完整备份保留时间更长
日志文件的格式主要有以记录为单位的日志文件和以数据块为单位的日志文件两种
正确答案:C
答疑:日志文件占用空间小,但备份比完整备份频繁,因此保留时间比完整备份短。故答案为C项。
24SQL Server 2008支持多种数据库备份类型和还原方式。下列关于数据库备份和恢复的说法,错误的是()。
完整数据库备份将备份特定数据库中的所有数据和相关日志
差异数据库备份是备份从最近的差异备份之后数据库的全部变化内容
在还原数据库时可以将数据库从一个SQL Server实例移动到其他SQL Server实例
事务日志备份仅能用于完整恢复模式和大容量日志恢复模式
正确答案:B
答疑:差异数据库备份是备份从最近的完整备份之后数据库的全部变化内容。故答案为B项。
25设SQL Server 2008中某数据库在1点进行了完整备份,8点和12点分别进行了事务日志备份,20点进行了差异备份,21点进行了事务日志备份。21点10分时数据库出现故障,数据库文件所在磁盘损坏,但所有备份均未丢失。现要对此数据库进行恢复,则能恢复的最终状态时间点为()。
8点
12点
21点
21点10分
正确答案:C
答疑:由于无法进行尾部事物日志备份,因此无法将数据库还原到故障点时的状态。因为21点进行了事务日志备份,因此在恢复时只能恢复到21点,之后的则不能恢复。故答案为C项。
26下列关于分布式数据库系统的说法,错误的是()。
分布式数据库系统中的节点是紧耦合的,它们形成单一的数据库系统
分布式数据库系统要求每个节点具有较高的独立性,具有本地自治能力
分布式数据库的分布透明性目的在于使用户完全感觉不到数据是分布的,使用户的使用方式与集中式数据库完全一样
分布式数据库系统的分片透明性是最高级别的透明性,位于全局概念模式与分片模式之间
正确答案:A
答疑:分布式数据库系统是物理上分散、逻辑上集中的数据库系统。故答案为A项。
27下列关于分布式数据库管理系统的说法,错误的是()。
分布式数据库管理系统应能对各个场地的软硬件资源进行管理
分布式数据库管理系统应能管理全局数据字典
全局数据库管理系统是分布式数据库管理系统的核心,并负责创建和管理局部数据库
通信管理是分布式数据库管理系统的重要功能,负责在各个场地之间传送数据和消息,为各个场地的协同工作提供可靠通信
正确答案:C
答疑:全局数据库管理系统是分布式数据库管理系统的核心,它为终端用户提供分布透明性,协调全局事务在各个场地的执行,为全局应用提供支持。局部数据库管理系统负责创建和管理局部数据库,提供场地自治能力,执行全局应用以及全局查询的子查询。C项混淆了全局数据库管理系统和局部数据库管理系统的概念,故答案为C项。
28在并行数据库中,需要将表拆分到不同的磁盘上。下列拆分方式中既适合点查询也适合范围查询的是()。
轮转法
散列划分
范围划分
等值划分
正确答案:C
答疑:范围划分有利于范围查询及点查询;轮转法最适合于扫描整个关系的应用,在扫描时可以并行的从n个磁盘读取数据,负载均衡,充分发挥了并行性;散列划分适合于点查询。故答案为C项。
29下列关于建立数据仓库的目标的描述,不恰当的是()。
充分利用企业信息系统生成的数据
把企业各种类型的应用集中在一起
解决数据分析应用和企业基本业务应用之间的性能冲突问题,减轻OLTP系统的负担
以面向主题的方式合理组织数据,实现跨部门视图
正确答案:B
答疑:建立数据仓库的主要目的在于根据决策需求对企业的数据采取适当的手段进行集成,形成一个综合的、面向分析的数据环境,用于支持企业的信息性、决策性的分析应用。故答案为B项。
30为了进行数据分析,将OLTP系统中数据利用抽取程序抽取出来的最主要原因是()。
减轻OLTP系统的数据存储负担,将数据转移出OLTP系统
通过建立数据的独立性来确保数据分析应用的安全性
解决OLTP应用与分析型应用之间的性能冲突问题
解决企业整体信息系统的数据体系存在的蜘蛛网问题
正确答案:C
答疑:为了进行数据分析,将OLTP系统中数据利用抽取程序抽取出来的最主要原因是解决OLTP应用与分析型应用之间的性能冲突问题。故答案为C项。
将ER图转换为关系模型属于数据库31结构设计阶段的任务。
答疑:【答案】逻辑
【解析】数据库逻辑设计的任务是把数据库概念设计的结果(ER模型),转换为具体的数据库管理系统支持的数据模型。因此,将ER图转换为关系模型属于数据库逻辑结构设计阶段的任务。
在新建数据库应用系统中加载数据属于数据库应用系统32阶段的任务。
答疑:【答案】实现与部署
【解析】数据库的实现与部署(实施)阶段主要包括:建立数据库结构,数据加载,事务和应用程序的编码及测试,系统集成、测试和试运行,系统部署。
在UML提供的图中,33图主要用于描述系统、用例和程序模块中逻辑流程的先后或并行执行次序。
答疑:【答案】活动
【解析】在UML提供的图中,活动图主要用于描述系统、用例和程序模块中逻辑流程的先后执行次序,并行次序。
在SQL Server 2008中,使用TOP限制结果集时,如果需要包括最后一行取值并列的结果则需要使用WITH34选项。
答疑:【答案】TIES
【解析】在使用TOP限定结果集中,WITH TIES表示包括最后一行取值并列的结果; TOP n表示取查询结果的前n行数据; TOP n percent表示取查询结果的前n%行数据。
设有课程表(课程号,课程名,开课学期)和选课表(学号,课程号,成绩),现要定义一个用于查询每门课程的课程名、开课学期及选该门课的学生人数(不包括没人选的课程)的公用表表达式。请补全下列语句:
35CourseInfo(课程名,开课学期,选课人数) AS (
SELECT DISTINCT 课程名, 开课学期,COUNT(*) OVER(PARTITION BY T1.课程号) AS 选课人数
FROM 课程表 T1 JOIN 选课表 T2 ON T1.课程号 = T2.课程号 )
答疑:【答案】WITH
【解析】将查询语句产生的结果集指定一个临时命名的名字,这些命名的结果集就称为公用表表达式。命名后的公用表表达式可以被多次引用。其语法格式是: WITH 公用表表达式标识符(列表1……列表n) AS (SELECT 语句 )。
在T-SQL中,实现查询结果差运算的运算符是36。
答疑:【答案】EXCEPT
【解析】在T-SQL中,实现查询结果差运算的运算符是EXCEPT。
在SQL Server 2008中,删除函数func1的SQL语句是37func1。
答疑:【答案】DROP FUNCTION
【解析】在SQL Server 2008中,可以使用DROP FUNCTION语句从当前数据库中删除一个或多个用户自定义函数。
在SQL Server 2008的触发器中,用于存储INSERT语句所影响的行的副本的临时表为38。
答疑:【答案】INSERTED
【解析】在SQL Server 2008的触发器中,INSERTED表用于存储INSERT和UPDATE语句所影响的行的副本。
在SQL Server 2008中,用户自定义函数主要包括标量函数和39函数两类。
答疑:【答案】表值
【解析】在SQL Server 2008中,用户自定义函数主要包括标量函数和表值函数两类。
如果要使某用户可以将授予他的权限再转授给其他用户,那么在授权语句中需要加上40选项。
答疑:【答案】WITH GRANT OPTION
【解析】如果要使某用户可以将授予他的权限再转授给其他用户,那么在授权语句中需要加上WITH GRANT OPTION 选项。
:41视图不是在使用时才读取基本表,而是预先计算并保存操作结果,这样在查询时大大提高了读取速度。
答疑:【答案】物化
【解析】物化(或索引)视图不是在使用时才读取基本表,而是预先计算并保存表连接或聚集等耗时较多的操作结果,这样在查询时大大提高了读取速度。
在数据库操作过程中,因发生了违反完整性约束而导致事务中止的故障属于42的事务内部故障。
答疑:【答案】非预期
【解析】非预期的事务内部故障是不能由事务程序处理的,如运算溢出故障、并发事务死锁故障、违反了某些完整性限制而导致的故障等。
分布式数据库最基本的三个特征是:非集中式管理、高43、本地自治。
答疑:【答案】可用性
【解析】本地自治、非集中式管理以及高可用性是分布式数据库最基本的特征。
给定一个销售交易数据库,从中找出这些交易中的某些物品和其他物品之间的关系,这种数据挖掘一般称为44挖掘。
答疑:【答案】关联
【解析】给定一个销售交易数据库,从中找出这些交易中的某些物品和其他物品之间的关系,这种数据挖掘一般称为关联(或关联分析、关联规则)挖掘。
数据仓库共有四个特性,分别是面向主题、45、非易失和随时间变化。
答疑:【答案】集成
【解析】数据仓库是一个面向主题的、集成的、非易失的,且随时间变化的数据集合,用来支持管理人员的决策。这个概念指出了数据仓库的几个重要的特性,即面向主题性、集成性、不可更新性和时间特性。
有如下记录教师讲授课程信息的表格:
试根据表格中内容,画出合适的ER图。
将ER图转换为关系模型,并指明转换后的每个关系模式的主码和外码。
46
答疑:【参考答案】
(1)
(2)根据转换规则,本题可得到三个关系模式:
教师(教师编号,教师姓名),其中教师编号是教师关系模式的主码。
课程(课程编号,课程姓名),其中课程编号是课程关系模式的主码。
开课(教师编号,课程编号,开课时间,开课地点),其中(教师编号,课程编号)是开课关系模式的主码,教师编号参考于教师(教师编号),课程编号参考于课程(课程编号)。
【解题思路】
题目中一个教师可以教多门课程,一门课程可以被多名教师教。教师和课程为两个实体,它们之间存在多对多联系,关系名叫开课。教师具有两个属性,即教师编号、教师姓名;课程也存在两个属性,即课程编号、课程名称;联系具有两个属性,即开课时间和开课地点。
实体的转换:在从ER图转换为关系模式时,一个实体就转换成一个关系模式,实体的属性就是关系模式的属性,实体的键就是关系的主键。
实体间联系的转换:实体间存在三种联系,即1:1(一对一)联系,1:m(一对多)联系,m:n(多对多)联系。在向关系模式转换规则如下:
(1)1:1(一对一)联系
方法一:联系转换为独立的关系模式;模式的属性由联系本身的属性及两个实体的键构成;主键由两个实体中的任意一个键构成。
方法二:联系与一端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变。
(2)1:m(一对多)联系
方法一:联系转换为独立的关系模式;模式的属性由联系本身的属性及两个实体的键构成;主键由m端实体的键组成。
方法二:与m端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变。
(3)m:n(多对多)联系。转换成新的独立的模式,模式的属性由联系本身的属性及两个实体的键构成,主键由两端实体的键组合而成。
(4)3个或者3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
(5)具有相同码的关系模式可以合并。
设在SQL Server 2008某数据库中有商品表和销售表,两个表的定义如下:
CREATE TABLE 商品表(
商品号 char(10) PRIMARY KEY,
商品名 varchar(40),
类别 varchar(20),
进货单价 int )
CREATE TABLE 销售表(
商品号 char(10) REFERENCES 商品表(商品号),
销售时间 datetime,
销售数量 int,
销售单价 int,
PRIMARY KEY(商品号,销售时间) )
现要创建一个存储过程:查询指定类别的每种商品去年的累计销售总数量。请补全下列代码。
CREATE PROC p_TotalSales
@lb varchar(20)
AS
SELECT t1.商品号,商品名,【1】AS 销售总数量
FROM 商品表 t1 JOIN 销售表 t2
ON t1.商品号=【2】
WHERE year(销售时间) = year(【3】(year,-1,getdate()))
and 类别 = @lb
【4】 t1.商品号,商品名
47
答疑:【参考答案】
【1】SUM(销售数量)
【2】t2.商品号
【3】DATEADD
【4】Group by
【解题思路】
整个SELECT语句的含义是:根据WHERE子句的条件表达式,从FROM子句指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列的表达式,选出元组中的属性值形成结果表。
题目中要求求商品的销售总量,又根据"AS 销售总数量"语句知,【1】应使用SUM()函数,即SUM(销售数量)。
从JOIN ……ON语句知道,该空是两表相连接语句,连接的属性列为各表的主码,故【2】应填写t2.商品号。
DATEADD() 函数在日期中添加或减去指定的时间间隔,基本语法DATEADD(datepart,number,date) ,date 参数是合法的日期表达式;number 是希望添加的间隔数,对于未来的时间,此数是正数,对于过去的时间,此数是负数。本题中查询的是去年的累计销售总数量,故【3】填写DATEADD。
题目查询指定类别的商品,因此【4】是按商品号、商品名分组,故填写Group by。
设某学校选课系统使用SQL Server 2008数据库管理系统,在学生选课期间,用户反映速度缓慢,大部分时间内,学生无法正常选课(选课学生近1万人)。经技术人员分析,发现速度缓慢的原因为数据库服务器响应缓慢。在选课期间,数据库服务器CPU使用率为100%,内存使用率95%,磁盘IO占用10%,网络带宽占用20%。在进一步分析后发现,学生在选课过程中需要在每次选定课程前校验相关课程的成绩信息,而校验成绩的SQL语句在业务不繁忙时仍需要1-2分钟才能执行完成。现有服务器硬件情况如下:
CPU:两颗英特尔至强处理器E5-2640 2.50GHz
内存:128GB,主频 1600MHz
磁盘:6块600GB 15000转 6Gbps SAS硬盘,RAID5
网卡:千兆网卡
为了保证系统稳定运行,现有如下优化方案:
(1)将CPU更换为两颗英特尔至强处理器 E5-2690 2.90GHz。
(2)将内存提高到256GB,主频1600MHz。
(3)将磁盘更换为6块800GB读取密集型 MLC 6Gpbs硬盘,保持RAID5。
(4)将网卡更换为万兆网卡。
(5)优化校验成绩SQL语句并建立相关索引,校验完成时间降低到1秒。
根据题目描述,请从是否能解决选课运行速度缓慢问题的角度逐个评价以上5个方案并给出原因。
48
答疑:【参考答案】
(1)提高CPU的主频,可以稍微缓解选课速度慢的问题。因为CPU主频提高,单位时间内处理的数据多一些,但不能根本解决服务器响应慢的问题。本题中的CPU在选课期间使用率达到100%,增加CPU的频率不能从根本解决问题。大量的SQL数据在网络上传输可能会导致网速变慢。
(2)内存提高,可以改善选课速度慢的问题,内存的增加可以从一定程度上提高数据处理的效率。本题中,选课期间内存使用率达到95%,说明内存没有完全使用,因此内存容量不是产生服务器响应慢的原因。
(3)SLC的特点是成本高、容量小、速度快,而MLC的特点是容量大、成本低,但是速度慢。因此替换原有的SLC硬盘不能提高数据存取的速度,不能解决选课运行速度慢的问题。
(4)更换网卡不能解决选课运行速度慢的问题,因为本题中网络带宽的使用率才20%,说明网络问题不是选课慢的主要原因。
(5)可以从根本上解决选课慢的问题。原有校验成绩的SQL语句需要1-2分钟才能执行完成,当大量的学生选课时,CPU和内存主要用于处理SQL语句,大量的资源被消耗,引起服务器反应减慢。本题中,SQL语句的效率低下,是产生服务器响应慢的根本原因,应当对SQL语句优化。一般来说,效率低下的SQL语句常常是系统效率不佳的主要原因。
【解题思路】
数据库系统运行需要依赖服务器、操作系统、存储、网络等因素。当这些数据库环境出现瓶颈时会导致数据库运行缓慢,甚至无法完成业务。一般来说,可以从外部环境、调整内存分布、调整磁盘I/O、调整资源竞争等几方面来改变数据库的参数,提高其性能。
(1)外部调整包括CPU调整和网络调整。当数据库操作对CPU性能的要求超过数据库服务器的CPU性能时,数据库性能就受到CPU的限制,使数据库操作变慢。
(2)通过调整相关参数控制数据库的内存分配,也可以在很大程度上改善数据库系统的性能。
(3)调整磁盘I/O。数据库性能优劣的一个重要度量是响应时间,而I/O时间是响应时间的最大组成部分。因此,可以通过令I/O时间最小化,减少磁盘上的文件竞争带来的瓶颈等方法来改善数据库系统的性能。
(4)调整竞争。多个进程对相同的资源发出申请时,导致了竞争的发生,从而引起服务器的反应缓慢。
(5)效率低下的SQL语句常常是系统效率不佳的主要原因。因此采用高效率的SQL语句,可以显著减少服务器的反应时间,提高服务器处理的速度。
本题中,SQL语句的效率低下是产生服务器响应慢的根本原因,提高SQL语句的执行效率,可以有效提高服务器的响应速度。