1、计算机三级(数据库技术)-试卷 5 及答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.下列不属于数据库应用系统物理设计阶段活动的是( )。(分数:2.00)A.数据库物理结构设计B.数据库事务详细设计C.应用程序详细设计D.数据库备份与恢复设计2.在一个 ER 图中,包含三个实体集,两个二元一对多联系,两个二元多对多联系,则将该 ER 图转化为关系模型后,得到的关系模式个数是( )。(分数:2.00)A.4 个B.5 个C.6 个D.7 个3.DFD 建模方法由四种基本元素组成,其中用来描述数据的提供者或使用者的是( )。(分数:2.00)A.
2、数据流B.处理C.数据存储D.外部项4.从功能角度数据库应用系统可以划分为四个层次,其中负责与 DBMS 交互以获取应用系统所需数据的是( )。(分数:2.00)A.表示层B.业务逻辑层C.数据访问层D.数据持久层5.现有商品表(商品号,商品名,商品价格,商品描述),销售表(顾客号,商品号,销售数量,销售日期)。关于性能优化有以下做法:因为很少用到商品描述属性,可以将其单独存储因为经常按照商品名查询商品的销售数量,可以在销售表中添加商品名属性因为经常执行商品表和销售表之间的连接操作,可以将它们组织成聚集文件因为经常按照商品号对销售表执行分组操作,可以将销售表组织成散列文件以上做法中,正确的是(
3、 )。(分数:2.00)A.仅和和B.仅、和C.仅、和D.全部都是6.已知有关系:学生(学号,姓名,年龄),对该关系有如下查询操作:SELECT 学号 FROM 学生 WHERE 姓名 LIKE 张% AND 年龄 != 15 为了加快该查询的执行效率,应该( )(分数:2.00)A.在学号列上建索引B.在姓名列上建索引C.在年龄列上建索引D.在学号和年龄列上建索引7.已知有关系 R(A,B,C),其中 A 是主码,现有如下创建索引的 SQL 语句:CREATE CLUSTERED INDEX idx1 ON R(B)则下列说法中正确的是( )。(分数:2.00)A.idx1 既是聚集索引,也
4、是主索引B.idx1 是聚集索引,但不是主索引C.idx1 是主索引,但不是聚集索引D.idx1 既不是聚集索引,也不是主索引8.在完成数据库的物理设计之后,就进入数据库系统的实施阶段。设有下列活动:创建数据库装载数据编写应用程序数据库监控与分析数据库性能优化上述活动中,属于数据库系统实施阶段任务的是( )。(分数:2.00)A.仅、和B.仅、和C.仅、和D.仅、和9.在使用 UML 对数据库应用系统进行建模的过程中,状态图和活动图是常见的动态建模机制。有下列状态图和活动图: (分数:2.00)A.仅 IB.仅 IIC.仅 I 和 IID.仅 I、II 和 III10.在 SQL Server
5、 2008 中,设有职工表(职工号,姓名,所在部门,工资),现要查询工资总和最高的前 3 个部门。下列查询语句中正确的是( )。(分数:2.00)A.SELECT TOP 3 所在部门, COUNT(工资) FROM 职工表 GROUP BY 所在部门 ORDER BY COUNT(工资)B.SELECT TOP 3 所在部门, COUNT(工资) FROM 职工表 GROUP BY 所在部门 ORDER BY COUNT(工资) DESCC.SELECT TOP 3 所在部门, SUM(工资) FROM 职工表 GROUP BY 所在部门 ORDER BY SUM(工资)D.SELECT T
6、OP 3 所在部门, SUM(工资) FROM 职工表 GROUP BY 所在部门 ORDER BY SUM(工资) DESC11.下列关于 SQL Server 2008 触发器的说法,错误的是 ( )。(分数:2.00)A.触发器可以实现复杂的完整性约束B.在一个表上可以为同一个操作建立多个前触发型触发器C.对 DML 型触发器,引发触发器执行的操作只能是 INSERT、DELETE 和 UPDATED.使用触发器实现数据完整性的效率通常低于 CHECK 约束12.在 SQL Server 2008 中,设有职工表(职工号,姓名,所在部门,工资),现要建立查询指定部门平均工资的标量函数。下
7、列语句中正确的是( )。(分数:2.00)A.CREATE FUNCTION dbo.f_AvgSalary(dept varchar(20) RETURNS INT AS BEGIN RETURN(SELECT AVG(工资) FROM 职工表 WHERE 所在部门 = dept) ENDB.CREATE FUNCTION dbo.f_AvgSalary(dept varchar(20) RETURNS INT AS BEGIN DECLARE x INT SET x = SELECT AVG(工资) FROM 职工表 WHERE 所在部门 = dept RETURN (x) ENDC.CR
8、EATE FUNCTION dbo.f_AvgSalary(dept varchar(20) RETURNS INT AS BEGIN RETURN(SELECT AVG(工资) FROM 职工表 WHERE 所在部门 = dept GROUP BY 所在部门)k1 ENDD.CREATE FUNCTION dbo.f_AvgSalary(dept varchar(20) RETURNS INT AS BEGIN DECLARE x INT SET x = SELECT AVG(工资) FROM 职工表 WHERE 所在部门 = dept GROUP BY 所在部门 RETURN (x) EN
9、D13.下列关于 SQL Server 2008 数据库文件组的说法,错误的是 ( )。(分数:2.00)A.一个数据库可以包含多个文件组B.一个文件组可以包含多个数据文件C.次要数据文件不能存放在主文件组中D.一个数据文件不能是多个文件组的成员14.下列关于 SQL Server 2008 中分离和附加数据库的说法,错误的是( )。(分数:2.00)A.不能分离用户正在使用的数据库B.分离数据库会将数据文件和日志文件一起分离C.附加的数据库名可以与分离的数据库名不同D.进行分离数据库操作时必须停止 SQL Server 服务15.下列关于分区表的说法,错误的是( )。(分数:2.00)A.分
10、区表机制将一个表的数据依据一定的条件水平划分为多个数据子集B.表中数据量的大小是决定是否建立分区表的唯一考虑因素C.合理使用分区表技术可以提高数据库的整体性能D.分区表机制是从物理上将一个表划分为若干个分区16.下列关于 SQL Server 2008 安全管理的说法,错误的是( )。(分数:2.00)A.SQL Server 2008 支持两种身份验证模式:“Windows 身份验证模式“和“混合身份验证模式B.在“混合身份验证模式“下,允许 Windows 用户和非 Windows 用户登录到 SQL ServerC.所有的 Windows 用户默认都具有登录到 SQL Server 的权
11、限D.只有在“混合身份验证模式“下,sa 才能登录到 SQL Server17.在 SQL Server 2008 某数据库中,设用户 U1 是 db_datawriter 角色中的成员。下列关于 U1 在该数据库中具有的权限的说法,正确的是( )。(分数:2.00)A.对用户表数据仅具有 INSERT、DELETE、UPDATE 和 SELECT 权限B.对用户表数据仅具有 INSERT、DELETE 和 UPDATE 权限C.对用户表数据仅具有 INSERT 和 DELETE 权限D.对用户表数据仅具有 INSERT、DELETE、UPDATE 权限,在该数据库中还具有 CREATE TA
12、BLE 权限18.数据库系统运行维护工作的主要目的是保证数据库系统正常和高效地运行。下列工作中不属于数据库运行维护工作的是( )。(分数:2.00)A.数据库备份B.系统上线时进行数据装载C.调整数据库用户权限D.新建索引以提高查询速度19.在对数据库进行优化的过程中,可能需要对数据库进行重组和重构工作。有关重组和重构工作,下列说法错误的是( )。(分数:2.00)A.重组工作一般不改变数据库逻辑结构B.重构工作一般会改变数据库逻辑结构C.重构工作一般要修改数据库的模式,但一般不修改数据库的内模式D.重组工作一般不会改变数据库物理结构20.数据库的监控分析是指数据库管理员借助工具检测数据库系统
13、的运行情况并进行分析的工作。设有如下内容:数据库空间使用率数据库各表的空间使用情况数据库数据缓冲区命中率回滚段使用情况用户登录次数及执行的语句以上属于数据库监控内容的是( )。(分数:2.00)A.仅、和B.仅、和C.仅、和D.仅、21.索引是数据库中重要的数据结构。关于索引现有下列说法:建立索引的目的是提高查询的效率在插入、删除和更新操作中,索引可能会增加系统开销当数据库表更新大量数据后一般需要重建对应的 B 树索引多属性索引中,索引属性的顺序一般按照属性的长度进行排列以上说法正确的是( )。(分数:2.00)A.仅和B.仅和C.仅、和D.仅、和22.数据库运行环境和参数的调整是数据库优化的
14、重要工作。下列说法错误的是( )。(分数:2.00)A.一般来说在数据库中发现性能问题时首先应对数据库运行环境进行检查B.如果数据库服务器中运行队列数量超过 CPU 处理器数量,说明 CPU 已经饱和C.如果业务高峰期数据库服务器的 CPU 使用率达到 90%,说明 CPU 已经严重不足D.当大量 SQL 语句或其返回结果在网络上传输时,提高网络性能有可能会提高整体系统性能23.如何从故障中恢复数据库,保证数据库中数据的安全性和正确性是数据库管理系统需要解决的非常重要的问题。下列有关数据库故障及解决方法的说法,错误的是( )。(分数:2.00)A.预期的事务内部故障可以通过将事务回滚,撤销其对
15、数据库的修改,使数据库达到一致性状态B.对于非预期的事务内部故障需要利用日志文件撤销其修改,一般需要管理员人工干预恢复过程C.数据库系统发生软故障后需要进行 UNDO 和 REDO 两项工作D.介质故障的容错方式可以采用软件容错也可以采用硬件容错24.设某数据库管理员设计了如下图所示的数据库服务器容错架构,此架构一般被称为 ( )。(分数:2.00)A.数据库镜像B.Active-Standby 模式C.RAIDD.双机互备援模式25.现有一个基于 SQL Server 2008 的数据仓库系统,其数据均来源于生产系统,生产系统每天将新数据导入仓库系统,导入后的数据只读。下列有关该数据仓库应设
16、置的恢复模式,最恰当的是( )。(分数:2.00)A.完整恢复模式B.大容量日志恢复模式C.简单恢复模式D.关键日志恢复模式26.关于并行数据库,下列说法正确的是( )。(分数:2.00)A.层次结构可以分为两层,顶层是无共享结构,底层是共享内存或共享磁盘结构B.共享磁盘结构主要通过负载均衡来降低资源竞争,因此具有很高的可扩展性,适合 OLTP 应用C.共享内存结构有利于减少内存冲突,从而比共享磁盘结构有更大的优势D.并行数据库系统的主要目的是实现场地自治和数据全局透明共享27.关于分布式数据库,下列说法正确的是( )。(分数:2.00)A.数据分片中的水平分片是将关系的属性依据一定条件划分为
17、不同的分片,关系中的每个属性至少属于一个分片B.数据分片中的垂直分片是将关系的属性依据一定条件分为不同的分片,关系的主码应至少属于某一个分片C.在分布式数据库系统中,虽然数据分布在多个不同的场地上,但在进行查询处理时不需要考虑站点间传输数据的通信代价D.分片透明性是最高级别的透明性,位于全局概念模式与分片模式之间28.设在并行数据库系统中有表 T(a1, a2, , an),因数据量大,采用范围划分法根据划分属性 a1 将表T 的元组划分成若干部分,以提高系统效率。现有如下查询需求:查询 a1 值为最大的元组 查询a1=5 的所有元组查询 a1 值属于1, 100的元组在以上列出的查询中,该划
18、分方法会提高其查询效率的是( )。(分数:2.00)A.仅B.仅C.仅和D.仅、和29.现在许多中大型企业建有企业数据仓库。关于数据仓库中数据的特点,下列说法一般情况下正确的是( )。(分数:2.00)A.数据仓库中的数据主要服务于企业的基础业务需求,其设计应重点针对单点查询进行优化B.数据仓库中的数据一般源自企业的 OLTP 环境,因此,其中的数据与 OLTP 环境中的数据一样,允许对数据做直接更改C.数据仓库中的数据集合具有集成性,实现企业数据的集成有助实现企业范围的跨部门视图D.数据仓库中的数据具有时变性,是指数据仓库一般对数据操作与访问的实时性要求很高30.设某企业的在线事务处理(OL
19、TP)系统中有销售记录表 T1,它每天约产生 50 万条新记录,OLTP 系统保存半年数据。在企业的数据仓库中,用表 T2 保存近 2 年的销售细节数据,用表 T3 保存 5 年内每日各个商品销售汇总数据。为了实现从 OLTP 系统到数据仓库的销售数据的集成,一般情况下,下列方案最为合理的是( )。(分数:2.00)A.每天将表 T1 的数据全部复制到表 T2 中,并根据表 T2 的内容重新计算表 T3B.每天将表 T1 的数据全部复制到数据仓库中,根据复制的数据与表 T2 的区别,生成变化数据,并根据变化数据重新计算表 T3C.在 OLTP 系统中采用技术手段记录表 T1 的所有新记录 NT
20、,每天将 NT 复制到数据仓库中,将 NT1 合并到表 T2 中,根据表 T2 重新计算表 T3D.在 OLTP 系统中采用技术手段记录表 T1 的所有新记录 NT,每天将 NT 复制到数据仓库中,将 NT 合并到表 T2 中,根据 NT 和表 T3 重新计算表 T3二、应用题(总题数:14,分数:28.00)31.数据库管理系统为三级模式结构提供了两层映像机制,其中模式/内模式映像提供了_独立性。(分数:2.00)_32.按照数据库应用系统生命周期模型,系统设计阶段细分为概念设计、_设计和物理设计三个步骤。(分数:2.00)_33.设用 UML 设计某数据库应用系统,设计人员规划了一组应用程
21、序集,该集合由动态链接库和可执行程序构成。为了展现这些应用程序集间的组织和依赖关系,以对源代码、可执行程序的发布等进行系统建模,应采用的 UML 图是_图。(分数:2.00)_34.设有学生表(学号,姓名,所在系名)和选课表(学号,课程号,成绩)。现要建立统计每个系选课人数的视图。请补全下列语句: CREATE VIEW V1(系名, 人数) ASSELECT 所在系名,_ FROM 选课表 JOIN 学生表 ON 选课表.学号 = 学生表.学号_(分数:2.00)_35.设有课程表(课程号,课程名,学分,先修课程号),已知某应用程序需要列出“数据库原理“课程的一门先修课程,查询结果要求输出(
22、课程名,学分,先修课名称,先修课学分),可以用_连接操作在一个查询中实现此功能。(分数:2.00)_36.在 SQL Server 2008 的某用户数据库中,设有 T 表,现要在 T 表的 c1 列和 c2 列上建立一个复合唯一聚集索引,其中 c1 列值重复率为 20%,c2 列为 10%。请补全下列语句建立一个性能最优的索引:CREATE UNIQUE CLUSTERED INDEX Idx1 ON T(_)(分数:2.00)_37.在 SQL Server 2008 中,现要将 T1 表的 C1 列(int 类型)定义为标识列,初值和增量值均为 1。请补全下列语句:CREATE TABL
23、E T1 (C1 int _ (1,1),)(分数:2.00)_38.在 SQL Server 2008 中,设 U1 是 SQL Server 身份验证模式的数据库服务器登录账户,现希望 U1 在该数据库服务器上具有系统管理员权限。请补全下列语句:EXEC sp_addsrvrolemember U1, _ (分数:2.00)_39.数据库管理系统中的加锁协议规定了事务的加锁时间、持锁时间和释放锁时间,其中_协议可以完全保证并发事务数据的一致性。(分数:2.00)_40.在数据库系统出现系统故障后进行恢复时,对于事务 T,如果日志文件中有 BEGIN TRANSACTION 记录,而没有 C
24、OMMIT 或 ROLLBACK 记录,则数据库管理系统处理这种事务时应执行的操作是_。(分数:2.00)_41.在动态转储中,利用转储文件只能将数据库恢复到转储过程中的某个状态,且转储文件中的数据可能不一致,只有和_文件综合起来使用,才能将数据库恢复到一致状态。(分数:2.00)_42.通常数据库的转储机制有三种,分别是完全转储、差量转储和_转储。(分数:2.00)_43.数据仓库是面向主题的、_的、非易失的、随时间变化的数据集合,用来支持管理人员的决策。(分数:2.00)_44.在数据仓库设计和建设过程中,设计者需要调查用户的决策或数据处理需求,并将功能相近且需要相关联数据支持的需求进行归
25、类,得到不同的需求集合,并在企业数据模型中寻找能够满足各个需求集合的数据集合,然后针对各个数据集合开展数据仓库数据模型的设计。这种设计方法称为_的设计方法。(分数:2.00)_三、设计与应用题(总题数:3,分数:8.00)设某教学管理系统,其查询模块需要提供如下功能:查询系信息,列出各系编号、系名和系办公电话;查询某系教师的信息,列出教师号、教师名、工资和聘用日期;查询某教师讲授的课程信息,列出课程号、课程名和学分;查询讲授某门课程的教师信息,列出教师名和职称;查询某门课程的先修课程信息,列出先修课程号和先修课程名。系统有如下业务规则:一个系可聘用多名教师,一名教师只能受聘于一个系;一名教师可
26、讲授多门课程,一门课程可由多名教师讲授;一门课程可以有多门先修课程,也可以没有先修课程。(分数:4.00)(1).请根据以上查询功能与业务规则,用 ER 图描述该系统的概念模型。(分数:2.00)_(2).将 ER 图转换为满足 3NF 的关系模式,并说明每个关系模式的主码和外码。(分数:2.00)_45.设有商品表(商品号,商品名,单价)和销售表(销售单据号,商品号,销售时间,销售数量,销售单价)。其中,商品号代表一类商品,商品号、单价、销售数量和销售单价均为整型。请编写查询某年某商品的销售总毛利的存储过程,毛利=销售数量(销售单价单价)。要求商品号和年份为输入参数,总毛利用输出参数返回。(
27、分数:2.00)_46.设某全国性的运输企业建立了大型 OLTP 系统,并在该系统之上建立了数据仓库。OLTP 系统和数据仓库中有如下数据表:运输明细表(运输单 ID,发送站 ID,终到站 ID,货物 ID,货物重量,运输价格,发货日期)汇总表 1(发送站 ID,终到站 ID,货物 ID,发货日期,总重,总运价)汇总表 2(发送站 ID,终到地区 ID,货物 ID,发货日期,总重,总运价)汇总表 3(发送站 ID,终到站 ID,货物 ID,发货月份,总重,总运价)汇总表 4(发送地区 ID,终到地区 ID,货物类别 ID,发货日期,总重,总运价) 该企业管理的货运站约有 100 个,货物约有
28、500 种共 10 类,各汇总表都建有主码,且各表有合理的维护策略,在每次维护后数据能保持一致。设有视图 V,该视图的访问频率很高,其查询结果模式为(发送地区 ID,终到站 ID,发货月份,总重,总运价),该视图现以汇总表 1 为计算数据源。经监控发现,汇总表 1 的被访问频率过高,导致系统整体性能下降,而其它汇总表被访问频率较低。在不增加汇总表和索引的情况下,请给出一个改善系统服务性能的优化方案,并简要说明理由。(分数:2.00)_计算机三级(数据库技术)-试卷 5 答案解析(总分:96.00,做题时间:90 分钟)一、选择题(总题数:30,分数:60.00)1.下列不属于数据库应用系统物理
29、设计阶段活动的是( )。(分数:2.00)A.数据库物理结构设计B.数据库事务详细设计C.应用程序详细设计D.数据库备份与恢复设计 解析:解析:物理设计阶段的主要活动有:确定存储结构、存取路径的选择和调整、确定数据存放位置和确定存储分配。数据库备份与恢复设计属于数据库日常维护活动。2.在一个 ER 图中,包含三个实体集,两个二元一对多联系,两个二元多对多联系,则将该 ER 图转化为关系模型后,得到的关系模式个数是( )。(分数:2.00)A.4 个B.5 个 C.6 个D.7 个解析:解析:ER 图向关系模式转换涉及到两方面:实体的转换;实体间联系的转换。 实体的转换:在从 ER 图转换为关系
30、模式时,一个实体就转换成一个关系模式,实体的属性就是关系模式的属性,实体的键就是关系的主键。 实体间联系的转换:实体间存在三种联系,即 1:1(一对一),1:m(一对多),m:n(多对多)。 在从 ER 向关系模式转换规则如下: 1:1(一对一)联系 方法一:联系转换为独立的关系模式;模式的属性由联系本身的属性及两个实体的键构成;主键由两个实体中的任意一个键构成。 方法二:联系与一端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变。 1:m(一对多)联系 方法一:联系转换为独立的关系模式;模式的属性由联系本身的属性及两个实体的键构成;主键由 n 端实体的键组成。 方法二:与
31、 n 端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变。 m:n(多对多)联系 多对多联系转换成新的独立的模式,模式的属性由联系本身的属性及两个实体的键构成,主键由两端实体的键组合而成。 由题目可知,该题中有三个实体,二个 1:m(一对多)联系,二个 m:n(多对多)联系。三个实体和二个 m:n(多对多)联系可以转换为单独的模式,二对 1:m(一对多)联系需要合并到实体中去。因此可以最终得到 5 个模式,故选择 B 选项。3.DFD 建模方法由四种基本元素组成,其中用来描述数据的提供者或使用者的是( )。(分数:2.00)A.数据流B.处理C.数据存储D.外部项 解析:解
32、析:DFD 的主要组成包括外部实体(外部项)、处理过程、数据存储和数据流。外部实体指系统之外又和系统有联系的人或者事物,说明了数据的外部来源和去处。处理指对数据逻辑处理,也就是数据变换,它用来改变数据值。 数据流是指处理功能的输入输出数据存储表示数据保存的地方,它用来存储数据。4.从功能角度数据库应用系统可以划分为四个层次,其中负责与 DBMS 交互以获取应用系统所需数据的是( )。(分数:2.00)A.表示层B.业务逻辑层C.数据访问层 D.数据持久层解析:解析:表示层:用于显示数据和接收用户输入的数据。(一般为 Windows 应用程序或 Web 应用程序) 。 业务逻辑层:是表示层和数据
33、访问层之间的桥梁,主要负责数据的传递和处理。 数据访问层:实现对数据的保存和读取操作。可以访问关系数据库、文本文件或 XML 文档等。 数据持久层:以程序为媒介把表现层或服务层的数据持久,它是位于物理层和数据访问层之间。5.现有商品表(商品号,商品名,商品价格,商品描述),销售表(顾客号,商品号,销售数量,销售日期)。关于性能优化有以下做法:因为很少用到商品描述属性,可以将其单独存储因为经常按照商品名查询商品的销售数量,可以在销售表中添加商品名属性因为经常执行商品表和销售表之间的连接操作,可以将它们组织成聚集文件因为经常按照商品号对销售表执行分组操作,可以将销售表组织成散列文件以上做法中,正确
34、的是( )。(分数:2.00)A.仅和和B.仅、和C.仅、和D.全部都是 解析:解析:因为很少用到商品描述属性,系统在查询时也就很少查询。因此可以将其分割,这样虽然破坏了表的整体性,却可以将系统得到优化。 :增加冗余列是指在多个表中增加具有相同语义的列,它常用来在查询时避免连接操作,值得一提的是,主码和外码在多表中重复出现不属于冗余列,这里指得冗余列是非关键字字段在多表的中的出现。 由于表的连接操作是比较费时的,如果在表中增加冗余列,则在行上执行查询操作时不需要进行表的连接操作,从而提高了查询效率。 :一个聚集是一组表,可将经常一起使用的具有同一公共列值的多个表中的数据行存储在一起。对于经常频
35、繁一起查询的表,使用聚集比较方便。 :通常在运行 Order By 和 Group By 语句时会涉及到排序的操作,尤其是对大型的表进行重复的排序,会引起磁盘很大的开销。而散列文件的优点是:文件随机存放,记录不需进行排序;插入、删除方便;存取速度快;不需要索引区,节省存储空间。因此带有 Order By 和 Group By 的表可以使用散列文件存储,提高查询效率。6.已知有关系:学生(学号,姓名,年龄),对该关系有如下查询操作:SELECT 学号 FROM 学生 WHERE 姓名 LIKE 张% AND 年龄 != 15 为了加快该查询的执行效率,应该( )(分数:2.00)A.在学号列上建
36、索引B.在姓名列上建索引 C.在年龄列上建索引D.在学号和年龄列上建索引解析:解析:使用索引的原则: 在需要经常搜索的列上创建索引。 主键上创建索引。 经常用于连接的列上创建索引。 经常需要根据范围进行搜索的列上创建索引。 经常需要排序的列上创建索引。 经常用于 where 子句的列上创建索引。 根据索引建立规则 A 和 B 都符合建立索引的条件。但是一般 where 语句在执行时要执行全表检索寻找符合条件的内容,这本身就是很消耗时间的过程,尤其对于大型的表格更加消耗时间。本题查询过程中会首先执行“姓名 LIKE 张%“,如果条件为真则执行“年龄 != 15“语句。由此可见本题查询时间主要消耗
37、在 where 语句上,因此在 where 语句上建立索引可以提高查询的效率。7.已知有关系 R(A,B,C),其中 A 是主码,现有如下创建索引的 SQL 语句:CREATE CLUSTERED INDEX idx1 ON R(B)则下列说法中正确的是( )。(分数:2.00)A.idx1 既是聚集索引,也是主索引B.idx1 是聚集索引,但不是主索引 C.idx1 是主索引,但不是聚集索引D.idx1 既不是聚集索引,也不是主索引解析:解析:关键字 CLUSTERED 表明该索引属于聚集索引,可以排除 C、D。由于建立在主码上的索引才是主索引,所以 A 错。故选择 B 选项。8.在完成数据
38、库的物理设计之后,就进入数据库系统的实施阶段。设有下列活动:创建数据库装载数据编写应用程序数据库监控与分析数据库性能优化上述活动中,属于数据库系统实施阶段任务的是( )。(分数:2.00)A.仅、和 B.仅、和C.仅、和D.仅、和解析:解析:数据库实施阶段包括:建立数据库结构、数据加载、事务和应用程序的编码及测试、系统集成、测试与试运行、系统部署。,属于数据库运行管理与维护阶段内容。故选 A 选项。9.在使用 UML 对数据库应用系统进行建模的过程中,状态图和活动图是常见的动态建模机制。有下列状态图和活动图: (分数:2.00)A.仅 IB.仅 IIC.仅 I 和 IID.仅 I、II 和 I
39、II 解析:解析:活动图主要的目的在于陈述活动与活动之间的流程控制的转移。在活动图中,必须有且只有能一个起始点,用 表示,可以有多个结束点,用10.在 SQL Server 2008 中,设有职工表(职工号,姓名,所在部门,工资),现要查询工资总和最高的前 3 个部门。下列查询语句中正确的是( )。(分数:2.00)A.SELECT TOP 3 所在部门, COUNT(工资) FROM 职工表 GROUP BY 所在部门 ORDER BY COUNT(工资)B.SELECT TOP 3 所在部门, COUNT(工资) FROM 职工表 GROUP BY 所在部门 ORDER BY COUNT(
40、工资) DESCC.SELECT TOP 3 所在部门, SUM(工资) FROM 职工表 GROUP BY 所在部门 ORDER BY SUM(工资)D.SELECT TOP 3 所在部门, SUM(工资) FROM 职工表 GROUP BY 所在部门 ORDER BY SUM(工资) DESC 解析:解析:本题考查的是 COUNT()函数和 SUM()函数的使用。 COUNT()函数是用于统计元组个数或者一列中值的个数,而 SUM()用来计算一列值的总和。故选择 D 选项。11.下列关于 SQL Server 2008 触发器的说法,错误的是 ( )。(分数:2.00)A.触发器可以实现复
41、杂的完整性约束B.在一个表上可以为同一个操作建立多个前触发型触发器 C.对 DML 型触发器,引发触发器执行的操作只能是 INSERT、DELETE 和 UPDATED.使用触发器实现数据完整性的效率通常低于 CHECK 约束解析:解析:一张表上可以建立多个后触发器,但只能建立一个前触发器。12.在 SQL Server 2008 中,设有职工表(职工号,姓名,所在部门,工资),现要建立查询指定部门平均工资的标量函数。下列语句中正确的是( )。(分数:2.00)A.CREATE FUNCTION dbo.f_AvgSalary(dept varchar(20) RETURNS INT AS B
42、EGIN RETURN(SELECT AVG(工资) FROM 职工表 WHERE 所在部门 = dept) END B.CREATE FUNCTION dbo.f_AvgSalary(dept varchar(20) RETURNS INT AS BEGIN DECLARE x INT SET x = SELECT AVG(工资) FROM 职工表 WHERE 所在部门 = dept RETURN (x) ENDC.CREATE FUNCTION dbo.f_AvgSalary(dept varchar(20) RETURNS INT AS BEGIN RETURN(SELECT AVG(工
43、资) FROM 职工表 WHERE 所在部门 = dept GROUP BY 所在部门)k1 ENDD.CREATE FUNCTION dbo.f_AvgSalary(dept varchar(20) RETURNS INT AS BEGIN DECLARE x INT SET x = SELECT AVG(工资) FROM 职工表 WHERE 所在部门 = dept GROUP BY 所在部门 RETURN (x) END解析:解析:GROUP BY 子句的作用是将查询的结果按照指定的值进行分组,而题目要求查询指定部门的最高工资的,因此并不需要分组语句,可以排除 C、D。SET 语句主要作用是给变量赋值。一个变量只有一个值。而一个部门可能存在一个或多个人工资一样多且是最高的,所以选项 B 不正确。故选择 A 选项。13.下列关于 SQL Server 2008 数据库文件组的说法,错误