1、计算机三级(数据库技术)模拟试卷 38及答案与解析 一、选择题 1 设有关系模式 R(A, B, C, D),其函数依赖集为 F=A一 D, B一 D, C一 D。如果将 R分解为 R1(A, B, C)和 R2(C, D),则该分解是 ( )。 ( A)同时保持函数依赖和无损连接的分解 ( B)保持函数依赖但不保持无损连接的分解 ( C)保持无损连接但不保持函数依赖的分解 ( D)既不保持函数依赖也不保持无损连接的分解 2 下面关于模式分解的说法,错误的是 ( )。 ( A)分解并不总能提高查询效率 ( B)分解通常使得涉及属性少的查询执行效率更高 ( C)分解通常使得简单的更新事务执行效率
2、更高 ( D)分解总是能降低存储空间的要求,因为它能消除冗余数据 3 设有关系表:职工 (职工号,姓名,领导职工号 ),其中职工号是主码,领导职工号是外码。当前表中没有任何数据。现在依次向该表中插入如下数据 (1)(e1, Tom, e2) (2)(e3, Jerry, null) (3)(null, Foo, null) (4)(e2, Fake, e2) (5)(e1, Ghost, e3) (6)(e4, Who, e1) 则最终该表中有 ( )行数据。 ( A) 2 ( B) 3 ( C) 4 ( D) 5 4 数据库物理设计阶段是根据数据库逻辑设计的结果设计合适的数据库物理结构。下列
3、关于数据库物理设计的说法,错误的是 ( )。 ( A)物理设计着眼于数据库底层的物理存储与存取,与操作系统和硬件环境及数据库管理系统密切相关 ( B)物理设计时需要合理安排不同的存储介质,索引文件一般存储在高速磁盘中,日志文件可以考虑存储在磁带中 ( C)物理设计过程中需要考虑设置合理的数据库管理系统参数和操作系统相关参数 ( D)物理设计过程中需要考虑 RAID级别、操作系统的文件管理机制、数据库管理系统支持的索引类型 5 三层浏览器服务器架构是现在比较流行的应用系统架构。下列关于此架构的说法,错误的是 ( )。 ( A)表示层使用 Web浏览器实现,位于客户端,一般无需安装其他程序 ( B
4、)数据层位于数据库服务器,由 DBMS完成数据存储和数据存取等数据管理功能 ( C)此架构将人机交互、应用业务逻辑和数据管理三类功能分离,提高了可维护性 ( D)与二层的客户服务器架构相比,此架构在交互性、运行速度方面优势明显 6 设有下列关于数据库分析、设计与实现的工作: 用概念数据模型表示数据对象的特征及其相互间的关联关系 进行数据库的备份与恢复等日常维护 在 ER图的基础上确定数据库关系模式 调整数据库逻辑模式,确定文件组织与存取方式,评估物理模式 考虑分析 DBAS运行过程中备份数据库策略,如备份时间点和备份周期 事务和应用程序的编码及测试 上述工作中,属于 DBAS系统设计阶段工作的
5、是 ( )。 ( A)仅 、 、 、 和 ( B)仅 、 、 和 ( C)仅 、 和 ( D)全部 7 下列是关于关系数据模型和关系表的说法: 关系数据模型以集合论为基础表示和处理数据 关系数据模型同时支持非过程化语言和过程化语言直接存取数据 “create table” 语句用于定义关系表的结构及数据完整性约束 在关系表上执行 select或 delete操作时, DBMS会检查数据完整性约束 上述说法中正确的是 ( )。 ( A)仅 和 ( B)仅 和 ( C)仅 和 ( D)仅 和 8 在进行数据库物理设计时,为了保证系统性能,需要综合考 虑所选择的数据库管理系统的特性及软硬件具体情况。
6、下列关于数据库物理设计的说法,错误的是( )。 ( A)在频繁执行插入、修改和删除操作的表上建立索引可能会降低系统整体性能 ( B)在一张表的某列上需要频繁执行精确匹配查询时,可以考虑为此列建立哈希索引 ( C)为了提高写入性能,数据库一般应尽量避免存储在 RAID10的磁盘存储系统中 ( D)如果系统中存在频繁的多表连接操作,可以考虑将这些基本表组织为聚集文件,以提高查询效率 9 类图技术是面向对象方法的核心技术。下列所示 UML的类图,正确的是 ( )。10 设在 SQL Server 2008某数据库中有表 SC(Sno, Cno, Grade),其中 Grade列的类型为 int。若在
7、查询成绩时,希望将成绩按 “优 ”、 “良 ”、 “中 ”、 “及格 ”和 “不及格 ”形式显示,则下列 Case函数中正确的是 ( )。 ( A) Case Grade When Grade between 90 and 100 THEN Grade=优 When Grade between 80 and 89 THEN Grade=良 When Grade between 70 and 79 THEN Grade=中 When Grade between 60 and 69 1HEN Grade=及格 Else Grade=不及格 End ( B) Case Grade When Grad
8、e between 90 and 100 THEN优 When Grade between 80 and 89 THEN良 When Grade between 70 and 79 THEN中 When Grade between 60 and 69 THEN及格 Else不及格 End ( C) Case When Grade between 90 and 100 THEN Grade=优 When Grade between 80 and 89 THEN Grade=良 When Grade between 70 and 79 THEN Grade=中 When Grade between
9、 60 and 69 THEN Grade=及格 Else Grade=不及格 End ( D) Case When Grade between 90 and 100 THEN优 When Grade between 80 and 89 THEN良 When Grade between 70 and 79 THEN中 When Grade between 60 and 69 THEN及格 Else不及格 End 11 设在 SQL Server 2008某数据库中有销售表 (商品号,销售时间,销售数量,销售价格 ),其中商品号的类型为 char(6),销售价格的类型为 int。现要定义统计指定
10、商品销售总价的标量函数。有下列定义该标量函数的语句: Create FUNCTION dbo GetTotal(GoodID char(6) Returns int AS BEGIN Return(SELECT SUM(销售价格 )FROM销售表 WHERE商品号 =GoodID) END Create FUNCTION dbo GetTotal(GoodID char(6) Returns int AS BEGIN Returns(SELECT SUM(销售价格 )FROM销售表 WHERE商品号 =GoodID) END Create FUNCTION dbo GetTotal(GoodI
11、D char(6) Returns int BEGIN Retum(SELECT SUM(销售价格 )FROM销售表 WHERE商品号 =GoodID) END Create FUNCTION dbo GetTotal(GoodlD char(6) Returns int Returns(SELECT SuM(销售价格 )FROM销售表 WHERE商品号 =GoodID) 上述语句中,正确的是 ( )。 ( A)仅 和 ( B)仅 和 ( C)仅 和 ( D)仅 和 12 分区表是将一个表的数据按水平方式划分为不同的子集,从而可以更快速有效地访问数据子集。现有表 R(A, B)以及针对该表的如
12、下 SQL语句,如果基于列 A对 R进行范围分区, 该分区设计方案能提高其性能的 SQL语句是 ( )。 ( A) SELECT A, SUM(B)FROM R GROUP BY A ( B) SELECT A FROM R ORDER BY B, A ( C) DELETE FROM R WHERE AY的蕴涵表达式。关联规则的强度可以用它的支持度 (s)和置信度 (c)度量。支持度确定规则可以用于给定数据集的频繁程度,而置信度确定 Y在包含 X的事务中出现的频繁程度。两者可以用公式表示: 从题目中可以看到事务总数是 5, A的 啤酒、尿布 支持度计数是 3, 啤酒 支持计数是 3,所以 s
13、=0 6, c=1。同理可得 B面包、尿布 支持计数为 3, 面包、尿布、牛奶 支持计数是 2,所以 s=0 4, c=2 3。 C中, 面包、牛奶 支持计数为3, 面包 支持计数为 4,所以 s=0 6, c=0 75。 D中, 面包、啤酒 支持计数为2, 面包、啤酒、尿布 支持计数为 2,所以 s=0 4, c=1。综上所述,应选择 A选项。 30 【正确答案】 D 【试题解析】 元数据是关于数据的数据,或者叫做描述数据的数据。元数据描述了数据的结构、内容、链和索引等项内容。在关系数据中,这种描述就是对数据库、表、列等其他对象的定义。因此可推出, 、 和 不属于元数据。所以选择 D选项。
14、二、应用题 31 【正确答案】 散列索引 【试题解析】 根据索引的实现方式,索引 技术被分成两大类:有序索引和散列索引。 32 【正确答案】 分配 【试题解析】 分布式数据库总的数据分布策略可以从数据分片和数据分配两个角度来考虑,一般先数据分片,再数据分配。分片是对关系的操作,而分配是对分片结果的操作。分片模式是描述每个数据片断以及全局关系到片段的映像,分配模式是描述各片断到物理存放场地的映像。 33 【正确答案】 外键约束 【试题解析】 SQL Server中有五种约束类型,分别是主键 (PRIMARY KEY)约束、外键 (FOREIGN KEY)约束、唯一 (UNIQUE)约束、缺省 (
15、DEFAULT)约束和检查 (CHECK)约束。 34 【正确答案】 DELETE类型 【试题解析】 DML触发器有三类: INSERT触发器; UPDATE触发器; DELETE触发器。 触发器的组成部分: 触发器的声明,指定触发器定时,事件,表名和类型; 触发器的执行, PL SQL块或对过程的调用; 触发器的限制条件,通过 Where子句实现。 35 【正确答案】 AVG(年龄 ) 【试题解析】 应用系统中需统计指定地区的顾客人数和平均年龄, COUNT()函数返回匹配指定 条件的行数,语法为: SELECT COUNT(*)FROM table_name; AVG函数返回数值列的平均值
16、,语法为: SELECT AVG(column_name)FROM table_name; NULL值不包括在计算中。 则统计年龄即可用 AVG(年龄 )。 36 【正确答案】 db_datawriter 【试题解析】 SQL Server 2008中固定数据库角色是在数据库级别中定义的,并且存在于每个数据库中,不同的角色拥有不同的操作权限。其中 db_datawriter固定数据库角色的成员具有插入、删除和修改数据库中所有用户数据的权限。 37 【正确答案】 UNDO 【试题解析】 当事务故障 (即事务在运行至正常终止点前被终止 )发生时,恢复子系统应利用日志文件撤销 (UNDO)此事务已对
17、数据库进行的修改。事务故障的恢复是由系统自动完成的,对用户透明。 38 【正确答案】 REVOKE 【试题解析】 对数据的访问是通过 SQL Server 2008的权限层次结构进行管理的。可以通过 GRANT、 DENY和 REVOKE语句来管理这个权限层次 结构。三种语句的作用分别为: GRANT:允许一个数据库用户或角色执行所授权限指定的操作; DENY:拒绝一个数据库用户或角色的特定权限,并且阻止它们从其他角色中继承这个权限; REVOKE:收回已经授予的权限。 39 【正确答案】 WHERE作者城市 NOT IN 【试题解析】 要查询有作者但是没有出版社的结果集,可以采用子查询手段,
18、即从作者表中查询城市,且城市不在出版社所在的城市。这时我们可以用 NOT IN来实现, NOT IN的结果集是在外查询中存在,但是在内查询中不存在的记录。 40 【 正确答案】 原子性 【试题解析】 事务是数据库的逻辑工作单位,事务中包括的诸多操作要么操作,要么都不操作。 41 【正确答案】 日志或 LOG 【试题解析】 在动态转储中为了保证数据的有效性同时又不会降低数据库的可用性,需要引入日志文件,用它记录转储期间各事务对数据库的修改活动记录,然后使用动态转储的备份副本加上日志文件就可以将数据库恢复到某一时刻的正确状态。 42 【正确答案】 面向主题 【试题解析】 面向主题的数据组织方式,就
19、是在较高层次上对分析对象数据的一个完整并且一致的描述, 能刻画各个分析对象所涉及的企业各项数据,以及数据之间的联系。所谓较高层次是相对面向应用的数据组织方式而言的,即按照主题进行数据组织的方式具有更高的数据抽象级别。与传统数据库面向应用进行数据组织的特点相对应,数据仓库中的数据面向主题进行组织。例如,一个生产企业的数据仓库所组织的主题可能有产品订货分析和货物发运分析等。 43 【正确答案】 ROLAP 【试题解析】 OLAP的实现技术主要分为以下三类: 基于关系型数据库的DLAP(ROLAP, Relational OLAP); 基于多维数据库的 OLAP(MOLAP,MultiDimensi
20、onal OLAP); 混合型 OLAP(HOLAP, Hybrid OLAP) 44 【正确答案】 差异备份 【试题解析】 数据库备份分为以下几种: 完全备份,备份所有数据和日志; 差异备份,备份自上一次数据库完全备份以来产生的数据改变。 45 【正确答案】 UNION 【试题解析】 UNION操作符用于合并两个或多个 SELECT语句的结果集。请注意, UNION内部的 SELECT。语句必须拥有相同数量的列,而且对应列的语义应该相同。列也必须拥有兼容 的数据类型。同时,每条 SELECT语句中的列的顺序必须相同。 三、设计与应用题 46 【正确答案】 (1) (2) create tab
21、le T1 (a1 int primary key, a2 int a3 int foreign key a3 references T2(a3) ); 【试题解析】 ER图向关系模式转换涉及两方面: 实体的转换; 实体间联系的转换。 实体的转换:在从 ER图转换为关系模式时,一个实体转换成一个关系模式,实体的属性就是关系模式的属性,实体的键就是关系的主键。 实体间联系的转换:实体间存在三种联系,即 1: l(一对一 )联系, 1: m(一对多 )联系, m: n(多对多 )联系。在从 ER图向关系模式转换时规则如下: (1)1: 1(一对一 )联系 方法一:联系转换为独立的关系模式;模式的属
22、性由联系本身的属性及两个实体的键构成;主键由两个实体中的任意一个键构成。 方法二:联系与一端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变。; (2)1: m(一对多 )联系 方法一:联系转换为独立的关系模式;模式的属性由联系本身的 属性及两个实体的键构成;主键由 m端实体的键组成。 方法二:与 m端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变。 (3)m: n(多对多 )联系。转换成新的独立的模式,模式的属性由联系本身的属性及两个实体的键构成,主键由两端实体的键组合而成。 本题考查的是关系模式向 ER图转换,可以将 ER图向关系模式转换做反向求解
23、。 通过以上分析发现,实体在关系模式中只有实体本身的主码和属性;一对多的联系对应的关系属性除了有多端的主码和属性外,还有别的实体的主码;多对多的联系 对应的关系属性由各个实体的码和联系本身的属性组成。 本题中, T2和 T3乃两个关系模式只有自己的主码和属性,故 T2和 T3可以单独列为实体, T2对应的实体名称是 A2, T3对应的实体名称是 A3。 T1中既有 A2中的主码,又有本身的主码和属性,根据一对多转换法则方法一可知, T1对应的实体 Al的属性是 a1和 a2,外码是 a3,且 A2和 A1之间是一对多关系。 根据多对多转换方法可以推知, A1、 A2、 A3之间存在对多多关系,
24、关系的属性是 a8。 47 【正确答案】 【 1】 PROC或 PROCEDURE 【 2】 IS NULL 【 3】 SUM 【 4】 OUTER 【 5】 lb 【 6】商品表商品号 【试题解析】 本题考查的是存储过程的使用。创建存储过程的语法: CREATEPROC PROCEDURE存储过程名 存储过程参数参数类型 =默认 值 OUT OUTPUT AS SQL语句 对比语法可知 【 1】 处应填写: PROC或 PROCEDURE。 在数据库中未被销售的产品是空的,用 NULL标识。题目要求 “未 被销售过的商品的利润为 0”表示,在存储过程中, 【 2】 后面有 0,可以推断出 【
25、 2】 处作用是用来处理 “未被销售过的商品的利润为 0”功能的。根据语法规则 【 2】 处应填写: IS NULL。 题目要求是求商品的总利润, SQL语句中求和是 SUM()函数,因此 【 3】 处应该填写: SUM。 内联接 (INNER JOIN):主表和从表都存在的记录才会查出来;外联接 (OUTER JOIN)如果主表中存在的记录,从表中不存在则用 NULL替代,根据题目特点,外链接符 合题目要求,故 【 4】 处应填写: OUTER。 题目要求是指定的商品类别,因此商品类别需要通过变量输入,故 【 5】处应填写: lb。 题目要求是 “查询指定类别的每个商品的商品号 ”,因此分组
26、的依据应该是商品表中的商品号,故 【 6】 处应填写:商品表商品号。 48 【正确答案】 (1)对字段修改时操作速度很慢的原因是大量数据的查询速度慢,从而引起修改慢。优化的方法是在 “销售单据编号 ”和 “商品编号 ”上建立索引。 (2)更换硬件时应该提高内存容量,磁盘在经济条件 许可的条件下才有 RAID10磁盘阵列。 【试题解析】 (1)索引技术是一种快速数据访问技术,建立索引的目的就是为了提高查询的效率。查询的性能在很大程度上取决于存在什么样的索引来加快选择和联接的处理。对于大量数据,只有快速的定位、减少查询的时间就会增加修改的速度。 (2)对于 CPU、内存、磁盘等硬件设备在空闲时使用
27、率超过 90,说明硬件资源匮乏。如果在高峰时使用率小于 90说明硬件资源充足。本题中,内存和磁盘的使用率都高于 90,而 CPU的使用率不高于 70,说明内存、硬盘的资源匮乏,需要调整,而 CPU的资源充足不需要调整。因此在硬件调整时,应提高内存的容量和硬盘的访问效率。 使用 RAID时,可以将基本表和建立在表上的索引分别放在不同的磁盘上,这样访问基本表时,存放数据和存放索引的磁盘驱动器并行工作,可以得到较快的文件读写速度;类似的,日志文件与数据对象 (表、索引等 )也可分别存放在不同磁盘上以改善系统的 I O性能。在 RAID中, RAID10是一个 RAID0与 RAID1的组合体,它继承了 RAID0的快速和 RAID1的安全,同时读写速度均提高。