设为首页收藏本站优领域

优领域

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

2011年9月四级数据库工程师笔试试卷及答案解析

2014-5-18 16:05| 发布者: dzly| 查看: 756| 评论: 0

摘要: 2011年9月四级数据库工程师笔试试卷、参考答案及解析

2011年9月四级数据库工程师笔试试卷、参考答案及解析



  一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的。
  (1)数据库系统体系结构是指数据库系统的组成构件、各构件的功能及构件间协同工作的方式。下列关于数据库系统体系结构的说法,错误的是______。
  A) 分布式数据库中的数据逻辑上是一个整体,物理上分布在网络中不同的节点上
  B) 为了降低数据冗余度和提高可靠性,分布式数据库系统的数据一般只有一份,不需要设立副本,每部分数据都处于不同的节点上
  C) 在客户/服务器架构中,数据库服务器主要负责数据管理,客户端负责数据表示或展现
  D) 并行数据库系统需要使用多个CPU和磁盘进行并行数据处理
  (2)设在某应用系统的需求分析阶段,已经收集到大量的各种原始数据,现需要对这些数据进行分类、抽象与建模。下列方法中较适用于数据建模的是______。
  A) UML用例建模法 B) 数据流图方法 C) IDEF0方法 D) 实体—联系方法
  (3)为了提高数据库的性能和可靠性,数据库服务器存储系统经常使用RAID技术。常用的RAID级别有RAID0、RAID1、RAID5和RAID1+0。在不考虑成本因素的前提下,上述RAID级别中最有利于保证数据库性能和可靠性的是______。
  A) RAID0 B) RAID1 C) RIND5 D) RAID1+0
  (4)数据库概念设计的任务是获取、分析和描述数据需求,为目标系统构建满足使用要求的信息模型。关于数据库概念设计,下列说法错误的是______。
  A) 抽象实体集时需将具有相同属性特征的事物归为一类,然后对分类的结果进行分析、概括和命名,以形成实体集
  B) 每个实体集需要有唯一的名字,实体集一般用名词或名词短语命名
  C) 联系用于描述实体集之间的关联关系,一般情况下联系不允许有多个属性
  D) 属性用于描述一个实体集某方面的特征及性质,属性一般用名词或名词短语命名
  (5)将ER图转换为关系模式后,一般还需对关系模式进行规范化。关于关系模式的规范化,下列说法错误的是______。
  A) 第一范式要求一个关系中每个元组的每个属性都只能取一个值
  B) 第二范式要求关系中每个元组的每个属性的值必须完全函数依赖于主码的值
  C) 在一般的工程实践中,只需将关系模式规范化到第三范式,就能消除数据冗余
  D) 第三范式要求关系中每个元组的每个主属性的值必须直接依赖于主码的值
  (6)如果某事务获得了数据项A上的排他锁,则其他事务对数据项A______。
  A) 可以进行任何操作 B) 只能写不能读
  C) 既可以读也可以写 D) 不能读也不能写
  (7)关于检查点恢复技术,下列说法错误的是______。
  A) 利用检查点可以减少DBMS中恢复子系统日志搜索的工作量
  B) 检查点可以按照预定的一个时间间隔建立,也可以按照某种规则建立
  C) 检查点记录一般不保存在日志文件中,而是单独写在检查点记录文件中
  D) 在建立检查点之前,需要将系统日志缓冲区中的所有日志写入磁盘日志文件中
  (8)数据库物理结构设计是在具体的硬件、操作系统和DBMS约束下,将数据库逻辑设计结果转换为符合应用要求的数据库物理结构的过程。下列关于数据库物理结构设计的说法,错误的是______。
  A) 数据库对象访问权限等安全模式设计一般应在数据库物理结构设计完成之后进行
  B) 确定索引字段和索引是数据库物理结构设计的一个重要环节,该环节会影响关系表数据的存取方法
  C) 数据库物理结构设计的目标是设计一个空间利用率高、具有较高访问效率和较低维护成本的数据库物理结构
  D) 数据库物理结构设计的结果可以从时间、空间和维护代价等方面进行评估,一般需要从多种可可行方案中根据评估情况选择最为合理的方案
  (9)在SQL Server 2000中,设某天对某数据库进行了下列备份过程。在完成差异备份2之后,发现第3次修改数据库的操作是错误的。现要用数据库备份将数据库恢复到第2次修改后的状态。正确的恢复顺序是______。
     A) 恢复完全备份1、日志备份1、差异备份1和日志备份2
  B) 恢复完全备份1、日志备份1和差异备份1
  C) 恢复完全备份1和差异备份1
  D) 恢复完全备份1、差异备份l和日志备份2
  (10)在常见的分布式数据库参考模式结构中,存在多种分布透明性。关于分布透明性,下列说法错误的是______。
  A) 分片透明性是最高级别的透明性,位于全局概念模式与分片模式之间
  B) 位置透明性是指数据分片的分配位置对用户是透明的,位于分片模式与分配模式之间
  C) 局部数据模型透明性位于分片模式与局部概念模式之间,使用户在编写程序时虽然需要了解全局数据的分片情况,但是不需要了解各场地上数据库的数据模型
  D) 位置透明性的级别要高于局部数据模型透明性
  (11)索引是影响关系数据库性能的重要因素之一。下列关于索引的说法,错误的是______。
  A) 建立索引是典型的以空间换时间的做法,因此在设计索引时需要在空间与时间两者间进行适当权衡
  B) 如果SQL语句书写不当,索引可能不会被使用。一般可以采用查看SQL语句执行计划的方法检查索引是否被使用
  C) 向数据库表插入数据时,在该表上建立的索引有助于提高数据插入语句的执行效率
  D) 数据库管理系统中最常用的索引结构是B树,有些数据库管理系统也提供位图等其他类型的索引结构
  (12)设在SQL Server 2000的某数据库中,有表T和下列类型的用户
  Ⅰ.该数据库的拥有者 Ⅱ.表T的创建者 Ⅲ.普通用户U1 Ⅳ.Guest
  在该数据库中,需要经过授权才能对表T数据执行更改操作的用户是______。
  A) 仅Ⅲ B) 仅Ⅲ和Ⅳ C) 仅Ⅱ、Ⅲ和Ⅳ D) 全部
  (13)设有某数据库应用系统,在其生命周期中,可能发生如下故障:
  Ⅰ.数据库服务器被木马感染,导致数据库中的部分数据被盗,部分数据被删除,应用程序出故障
  Ⅱ.数据库服务器风扇损坏,CPU损毁,导致系统无法启动
  Ⅲ.系统电源故障,导致系统反复重启,数据库无法正常使用
  Ⅳ.机房发生严重水灾,机箱被水浸泡导致数据库服务器硬盘损坏
  Ⅴ.数据库服务器内存硬件发生故障,导致系统突然中断运行并且无法启动
  以上故障,属于介质故障的是______。
  A) 仅Ⅳ B) 仅Ⅱ和Ⅴ C) 仅Ⅱ、Ⅳ和Ⅴ D) 仅Ⅰ、Ⅲ、Ⅳ和Ⅴ
  (14)在SQL Server 2000中备份数据库时,可将数据库直接备份到磁盘文件上(假设称为备份方式1),也可以将数据库备份到已建好的备份设备上(假设称为备份方式2)。下列关于这两种备份方式的说法,正确的是______。
  A) 用备份方式1备份数据库时,数据库不能同时直接备份到多个磁盘文件上
  B) 用备份方式2备份数据库时,一个备份设备可以由分布在不同磁盘上的文件组成
  C) 在对数据库进行一次备份时,可以同时使用备份方式1和备份方式2
  D) 在进行数据库恢复时,用备份方式1进行的恢复比用备份方式2进行的恢复快
  (15)现需设计某在线图书销售系统,在需求调研阶段,调研人员整理出如下用户需求:
  Ⅰ.需要存储图书信息、读者信息、订单信息、在线支付信息、图书配送信息和书评信息
  Ⅱ.为尽可能避免订单信息丢失,需每半小时备份一次订单信息
  Ⅲ.为方便读者快速找到需要的书目,需要将图书按文科、理科进行分类,文科类再细分为历史、文学和语言,理科类再细分为电子科学和非电子科学
  Ⅳ.根据读者购书历史记录和读者信息,定期为读者提供新书目录以及生日折扣等个性化服务
  以上需求,属于数据需求的是______。
  A) 仅Ⅰ B) 仅Ⅱ和Ⅳ C) 仅Ⅰ和Ⅲ D) 仅Ⅱ、Ⅲ和Ⅳ
  (16)设有某OLAP多维分析工具,对由商品销售表、商品采购表、商品表、商品类别表、顾客表、供应商表构成的主题区域进行主题分析。为了反映数据的变化,系统需要采用适当的策略从数据源获取变化数据。这些数据表中,一般情况下,不太适合采用快照方式从业务系统获取数据的是______。
  A) 商品销售表、商品采购表 B) 商品表、商品类别表
  C) 顾客表、商品类别表、供应商表 D) 都不适合
  (17)事务是数据库技术中一个非常重要的概念。下列关于事务的说法,错误的是______。
  A) 当某事务未执行完成时,数据库暂时处于不一致状态,这时其他事务不会因这种不一致状态而出现数据错误
  B) 事务并发执行可以提高系统性能,但可能会导致数据出现问题。为了保证数据库数据的一致性,对事务的调度一般尽可能采用串行调度策略
  C) 利用日志文件进行数据库事务故障恢复和系统故障恢复是实现事务持久性的重要手段
  D) 存储管理器以事务方式访问数据库中的数据,确保数据库状态的一致性
  (18)在SQL Server 2000中,下列关于db_owner角色的说法,错误的是______。
  A) 在每个数据库中都有该角色
  B) 该角色中的成员在其所在的数据库中具有查询全部用户数据的权限
  C) 可以手工为该角色添加和删除成员
  D) 该角色中的成员具有创建数据库的权限
  (19)数据库技术为大规模数据的组织、存储、加工、管理和维护提供了有力的支持。关于数据库技术,有如下说法:
  Ⅰ.数据共享和数据的一致性由应用程序维护
  Ⅱ.数据库技术支持多层数据抽象,提供了数据的逻辑独立性和物理独立性
  Ⅲ.数据库不仅可以存储数据,还可以存储数据之间的关系
  Ⅳ.数据库不允许冗余数据存在,因为数据库管理系统难以维护冗余数据
  Ⅴ.数据库管理系统提供了良好的用户接口,帮助用户方便地开发和使用数据库
  上述说法正确的是______。
  A) 仅Ⅰ、Ⅱ和Ⅳ B) 仅Ⅱ、Ⅲ和Ⅴ C) 仅Ⅰ、Ⅲ和Ⅴ D) 仅Ⅱ、Ⅲ和Ⅳ
  (20)设有某通信公司的业务支撑系统,该系统中存在如下数据或文档:
  Ⅰ.用户通话详单 Ⅱ.用户短信清单 Ⅲ.用户短信文本内容 Ⅳ.数据字典及其文档Ⅴ.用户表 Ⅵ.系统ERD及说明文档 Ⅶ.用户每月通信汇总表
  以上各类数据或文档,属于元数据的是______。
  A) 仅Ⅳ和Ⅵ B) 仅Ⅰ、Ⅱ和Ⅴ C) 仅Ⅳ、Ⅵ和Ⅶ D) 仅Ⅲ、Ⅳ、Ⅴ和Ⅵ
  (21)设在某SQL Server 2000数据库中有选课表(学号,课程号,成绩)。该表有如下数据:
学号课程号成绩
S01C0170
S01C0255
S02C0170

设在成绩列上定义了一个由UPDATE操作触发的触发器,该触发器用于禁止将不及格成绩(小于60)改为及格(大于等于60)。若执行语句:
  UPDATE 选课表 SET 成绩=成绩+10 WHERE学号='S01'则系统为该触发器生成的临时工作表及内容是______。
  A) INSERTED表,数据为:
学号课程号成绩
S01C0180
S01C0265

和DELETED表,数据为:
学号课程号成绩
S01C0170
S01C0255

B) INSERTED表,数据为:
学号课程号成绩
S01C0170
S01C0255

和DELETED表,数据为:
学号课程号成绩
S01C0180
S01C0265

C) INSERTED表,数据为:
学号课程号成绩
S01C0265

和DELETED表,数据为:
学号课程号成绩
S01C0255

D) INSERTED表,数据为:
学号课程号成绩
S01C0180

和DELETED表,数据为:
学号课程号成绩
S01C0170

(22)设某数据库中有一个用户样本集S,其模式为(a1,a2,…,an,c),其中ai(i=1...n)为用户的普通属性,属性c的取值范围为{高级用户,中级用户,普通用户}。现有算法A,对S进行处理,输出结果为P,P能根据新出现的用户u的n个普通属性的取值确定u的用户级别。则A和P分别是______。
  A) 聚类算法,聚类工具 B) 多维分析算法,OLAP工具
  C) 预测模型,预测工具 D) 分类算法,分类器
  (23)数据库系统性能调优过程中,需要考虑服务器、网络等各方面因素。下列关于数据库系统性能调优的说法,正确的是______。
  A) 当发现数据库服务器CPU很忙时,可以考虑增加数据库服务器CPU数据,数据库服务器的处理能力可随之线性增长
  B) 当有大量数据经常需要在数据库服务器和应用服务器之间传输时,需要考虑在内网与外网之问设置防火墙,以避免内网数据传输对外网带来的影响
  C) 很多情况下,仅依靠增加硬件资源无法实现调优目的,对频繁执行且性能较差的SQL语句进行调优有时会起到很好的效果
  D) 通常数据库管理系统能把部分数据暂存在内存缓冲区中,因此一般情况下,磁盘IO都不会成为数据库服务器的性能瓶颈
  (24)设在职工表中有电话号码列,数据类型是char(8)。现要在该列上添加约束,用于保证电话号码长度必须是8位,且第1位取值为数字1—9、后7位取值为数字0—9。现有下列语句:
  Ⅰ.ALTER TABLE 职工表 ADD CHECK(电话号码
  LIKE'[1—9][0—9][0—9][0—9][0—9][0—9][0—9][0—9]')
  Ⅱ.ALTER TABLE 职工表 CHECK(电话号码
  LIKE'[1—9][0—9][0—9][0—9][0—9][0—9][0—9][0—9]')
  Ⅲ.ALTER TABLE 职工表 ADD CONSTRAINT CKl CHECK(电话号码
  LIKE'[1—9][0—9][0—9][0—9][0—9][0—9][0—9][0—9]')
  Ⅳ.ALTER TABLE 职工表ADD CONSTRAINT CHECK(电话号码
  LIKE'[1—9][0—9][0—9][0—9][0—9][0—9][0—9][0—9]')
  以上语句在SQL Server 2000中能正确实现该约束的是______。
  A) 仅Ⅱ和Ⅳ B) 仅Ⅰ和Ⅲ C) 仅Ⅰ、Ⅲ和Ⅳ D) 全部
  (25)设有某商场数据库应用系统,在其业务系统之上建立了主要用于统计分析的数据仓库,其中有两个表T1(商品编号,日期,销售总量,金额)和T2(商品类别,日期,销售总量,金额)。设在系统中有查询Q1(商品编号,月份,总销售量)、Q2(商品类别,月份,总销售量)和Q3(商品编号,季度,总销售量)。Q1利Q3的查询数据源为T1,Q2的查询数据源为T2。在系统运行过程中,通过监控统计发现Q1、Q2和Q3,每天的平均执行次数分别约为50、0.5和0.1,商品类别数约为1千种。系统运行过程中监控发现系统响应速度在变慢。为了提高系统效率,在不考虑空间投入因素的情况下,一般来说,下列优化措施最为合理的是______。
  A) 建立物化视图或汇总表T3(商品编号,月份,总销售量),并在商品编号和月份上建立组合索引,将Q1和Q3的查询数据源切换成T3
  B) 建立物化视图或汇总表T3(商品编号,季度,总销售量),并在商品编号和季度上建立组合索引,将Q1和Q3的查询数据源切换成T3
  C) 建立物化视图或汇总表T3(商品编号,月份,总销售量),并在商品编号和月份上建立组合索引,删除T1和T2,将Q1、Q2和Q3的查询数据源都切换成T3
  D) 对表T1和T2,根据主键分别进行排序,以提高查询效率
  (26)数据库应用系统投入运行后,应用系统进入运行管理与维护阶段。设某系统在运行管理与维护阶段有如下工作:
  Ⅰ.定期检查数据文件的存储空间占用情况
  Ⅱ.根据数据库日志文件分析数据库中已完成的各种操作,以发现潜在性能问题
  Ⅲ.根据SQL执行计划调整视图及索引
  Ⅳ.对一些数据量非常大的表进行水平分区,并将不同分区分布到不同磁盘上
  Ⅴ.根据用户要求对应用程序从功能和性能上进行扩充和完善
  上述工作中属于系统性能优化调整的是______。
  A) 仅Ⅲ和Ⅳ B) 仅Ⅰ和Ⅲ C) 仅Ⅰ、Ⅱ和Ⅳ D) 仅Ⅱ和Ⅴ
  (27)在数据库应用系统的运行过程中,设有下列运维活动
  Ⅰ.监控数据库服务器的空间使用情况,根据需要对空间进行调整
  Ⅱ.调整数据库结构,编写应用程序,满足最终用户提出的应用程序功能需求
  Ⅲ.制定合理的备份计划,定期对数据库和日志进行备份
  Ⅳ.通过权限管理、身份认证、跟踪及审计等措施来保证数据库的安全
  Ⅴ.设计和编制数据录入程序,完成数据库应用系统上线前的初始数据录入工作
  Ⅵ.借助相应工具在数据库运行过程中监测数据库系统的运行情况
  以上活动中,一般情况下不应由DBA执行的是______。
  A) 仅Ⅲ和Ⅳ B) 仅Ⅱ和Ⅴ C) 仅Ⅰ和Ⅴ D) 仅Ⅱ、Ⅲ和Ⅵ
  (28)SQL Server 2000提供了数据转换服务(DTS),利用DTS可以实现不同数据源之间的数据转换与传输。关于DTS的功能,下列说法正确的是______。
  A) DTS可以帮助用户方便、快捷地实现数据的导入和导出操作。但DTS只支持SQL Server 2000数据库之间的导入和导出
  B) 利用DTS传输数据时,用户不能只传输一个表的部分数据,而必须传输整个表的数据
  C) 利用DTS传输数据时,可以将数据传输到其他数据库服务器上,而且在传输过程中可以在目标服务器上建立新表,并将数据传输到新表中
  D) 利用DTS在不同数据库间传输数据时,SQL Server并不对执行传输操作的用户进行权限认证。因此,用户可利用DTS传输数据库中的任何数据
  (29)有某个准备上线运行的数据库应用系统,其数据库已经建立,应用程序已经编制完毕。设有下列活动:
  Ⅰ.录入或导入各类实际业务数据
  Ⅱ.检查所有应为空的数据表,清除其中的测试数据
  Ⅲ.对系统的各项功能进行充分的测试,发现不足,加以改进,直到程序功能符合上线要求
  Ⅳ.在试运行过程中,收集各部门对系统功能和性能的评价,找出系统中存在的不足并加以改进
  Ⅴ.在一些数据表中生成大量的模拟数据,或同时模拟大量的用户登录后执行各项功能,进行压力测试
  Ⅵ.扩展数据库服务器的存储空间,以防存储空间不足
  以上活动,一般不属于上线试运行前开展的活动是______。
  A) 仅Ⅳ和Ⅵ B) 仅Ⅱ、Ⅲ和Ⅴ C) 仅Ⅰ、Ⅳ和Ⅵ D) 仅Ⅰ、Ⅱ和Ⅲ
  (30)在数据库应用系统建模过程中,经常采用UML作为建模工具。有如下关于UML的说法
  Ⅰ.用例模型是把满足用户需求的所有数据结构表示出来的工具
  Ⅱ.类图是展现一组类、接口和协作以及它们之间的关系的一种静态视图
  Ⅲ.状态图主要用于描述一个实体在发生一些事件时的状态变化情况
  Ⅳ.顺序图和协作图都描述交互,但是顺序图强调的是时间,而协作图强调的是空间
  Ⅵ.包图是表示包及包之间的关系的类图
  以上说法错误的是______。
  A) 仅Ⅳ、Ⅴ和Ⅵ B) 仅Ⅰ和Ⅴ C) 仅Ⅱ和Ⅲ D) 仅Ⅰ、Ⅱ和Ⅳ
  二、应用题
  (1)设某医院管理系统,在数据库设计期间已经分析并抽象出了医生实体集,该实体集包含下列属性:医生编号、姓名、性别、出生日期、科室号、职称、特长和身份证号。上述属性中,所有能够作为候选码的属性是______。
  (2)某数据库应用系统需求不够完整,为提高开发效率,在获取了基本需求以后采用边开发边进行需求确认与修改实现的方法。这种开发方法称为______。
  (3)两阶段锁协议可以保证并发调度可串行化。在两阶段锁协议中,每个事务的执行过程被划分为 (3) 和 (4) 两个阶段。
  (4)在数据库三级模式结构中,______是对数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
  (5)在出现系统故障后对数据库进行恢复时,恢复子系统需要建立事务标记的______队列和重做(REDO)队列。
  (6)在转储过程中允许对数据库进行存取与修改的转储策略称为______转储策略。
  (7)在分布式数据库中,垂直分片将关系分为不同的片断,各片断的模式中必须包含关系的______。
  (8)当数据库系统发生死锁时,通常采用的方法是选择一个或几个死锁事务,撤销这些事务,释放这些事务持有的锁,以解决系统的死锁问题。这种机制称为______。
  (9)设有某用户正在使用多维分析工具查看销售数据,当前查看的数据为家电类产品2010年各季度销售情况。用户发现2010年第3季度销售额异常的大,进而想通过多维分析工具查看家电类产品2010年第3季度各月份销售情况。为了满足这个查询分析需求,多维分析工具应该具有的相应基本功能是______。
  (10)在SQL Server 2000中,设要在表SC上建立一个前触发型触发器。请补充下列触发器定义语句:
  CREATE TRIGGER tri A ON SC
  ______UPDATE
  AS……
  (11)设某职工表中职工编号类型为char(5),其取值约束为:第1位是字母“Z”或“T”,最后2位是“JS”。请补全下列用于实现该约束的表达式:
  CHECK(职工编号LIKE'______')
  (12)有选课表(学号,课程号,成绩),现要统计有不及格成绩的学生人数。请补全下列语句:
  SELECT______FROM选课表
  WHERE成绩<60  (13)设在SQL Server 2000中需创建一个名为db1的数据库。该数据库包含一个主数据文件和一个日志文件,这两个文件均存放在D盘根目录下。主数据文件的物理文件名为db1.mdf,逻辑文件名为db1_data,文件初始大小为100MB,不自动增长。日志文件全部采用系统默认设置。请补全下列创建数据库的语句:
  CREATE DATABASE db1
  ON(
  NAME=db1_data,
  ______,
  SIZE=100,
  FILEGROWTH=0)
  (14)设有教师表(教师号,教师名,工资,所在系),现要建立统计每个系的教师平均工资的视图v_salary(dept,avg_salary)。请补全下列视图定义语句:
  CREATE VIEW v_salary
  AS
  SELECT所在系As dept,______
  FROM教师表
  GROUP BY所在系
  三、设计与应用题
  (1)设某刊物借阅管理系统有下列需求:
  Ⅰ.需要记录的刊物信息包括:刊物编号、刊物名称、出版日期、出版社编号、出版社名称。一个出版社可以出版多种刊物,一种刊物只订购一本,每本刊物编号唯一且只由一个出版社出版
  Ⅱ.系统需要记录的读者信息包括:读者编号、姓名和性别。读者编号应能唯一识别每一个读者
  Ⅲ.系统需要记录读者的刊物借阅日期与归还日期。一名读者可以借阅多种刊物,也可以在不同日期多次借阅同一种刊物,一种刊物可以在不同时期被多名读者借阅
  ①根据以上描述画出满足要求的概念模型,用ER图表示。
  ②将ER模型转换为满足3NF的关系模式,并标出每个关系模式的主码和外码(主码用下划线标识)。
  (2)设某商品经营管理系统使用SQL Server 2000数据库管理系统。在数据库中存在销售明细表,其建表语句为:
  CREATE TABLE销售明细表(
  销售单据编号varchar(8),
  商品编号varchar(8)
  单价money,
  数量int,
  总价money
  )
  为了保证数据的一致性,建有如下触发器:
  CREATE TRIGGER AutoCountSum
  ON 销售明细表 FOR INSERT, UPDATE
  AS
  DECLARE @UnitPrice money, @Quantity int
  DECLARE @Amount money
  SELECT @UnitPrice=单价,@Quantity=数量
  FROM inserted
  SET @Amount=@UnitPrice*@Quantity
  UPDATE销售明细表SET总价=@Amount
  WHERE销售单据编号IN(SELECT销售单据编号FROM inserted)
  AND商品编号IN(SELECT商品编号FROM inserted)
  ①设系统运行一段时间后此表中有近一百万条记录,此时发现对该表的插入操作速度很慢,请分析插入速度慢的原因。在不改变数据库服务器硬件和表结构、不清理数据的情况下,请说明应如何优化此表的插入操作。
  ②在解决了①中的问题后,程序员在数据库中执行如下SQL语句:
  SELECT商品编号,sum(总价)FROM销售明细表
  WHERE单价>50
  GROUP BY商品编号
  请在不改变该SQL语句的情况下,给出提高该查询执行效率的方案。
  (3)设有商品表(商品编号,商品名,进货单价,销售单价)、销售表(商品编号,销售时间,销售数量)和商品利润表(商品编号,总利润)。设进货单价、销售数量、销售单价和总利润均为整型,商品编号和商品名的类型均为varchar(20)。总利润的默认值为0。请编写完成下列功能的存储过程:根据给定的商品编号修改对应商品的总利润。
  参考答案及解析
  一、选择题
  (1)[答案] B)
  [解析] 分布式数据库定义:由一组数据组成,这些数据物理上分布在计算机网络的不同节点(也称场地)上,逻辑上属于同一个系统。
  分布式数据库特点:数据独立性,集中与自治相结合的控制结构,适当增加数据的冗余度、全局的一致性、可串行性和可恢复性。其中适当增加数据的冗余度要求在不同的场地存储同一的数据的多个副本,用来提高系统的可靠性、可用性和提高系统性能。
  并行数据库系统是在并行机上运行的具有并行处理能力的数据库系统,此系统使用数个、数十个、数干个甚至成百上千个处理机协同工作,而且此系统广泛的采用磁盘阵列技术。
  在客户/服务器结构中,不同的数据功能分配给客户和服务器完成,比较常见的是由客户机完成表现和数据处理,服务器担当数据库管理。因此选项B)错误
  (2)[答案] D)
  [解析] 对需求阶段整理的各种原始数据进行分类、抽象、建模的任务是在概念结构设计阶段。概念设计阶段所采用的主要建模技术是实体—联系方法(E—R图法),IDEF0、UML用例建模法、数据流程图方法主要用于需求分析阶段。故选项D)正确。
  (3)[答案] C)
  [解析] RAID0只是单纯地提高读写性能在所有的级别中,RAID0的速度是最快的,因为将数据分布在不同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡,它的缺点是它没有数据差错控制,如果一个驱动器中的数据发生错误,即使其它盘上的数据正确也无济于事了。不应该将它用于对数据稳定性要求高的场合。
  RAID1是所有RAID等级中实现成本最高的一种,其技术重点全部放在如何能够在不影响性能的情况下最大限度的保证系统的可靠性和可修复性上。
  RAID1+0是将RAID1和RAID0结合的产物,优点是同时拥有RAID0的超凡速度和RAID1的高数据可靠性,但是磁盘的利用率比较低。主要用于容量不大,但要求速度和差错控制的数据库中。
  RAID2是设计给需要连续存取大量数据的计算机使用的。在大型文件的存取应用中,RAID2有最好的性能,但如果文件太小,将会影响其性能。
  RAID3,写入性能好,没有多任务功能,RAID3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操作的瓶颈。利用单独的校验盘来保护数据虽然没有镜像的安全性高,但是硬盘利用率得到了很大的提高。
  RAID4,具备多任务及容错功能,它的特点和RAID3也挺像,不过在失败恢复时,它的难度可要比RAID3大得多了,控制器的设计难度也要大许多,而且访问数据的效率不怎么好。
  RAID5,是一种存储性能,数据安全和存储成本兼顾的存储解决方法。读出效率很高,写入效率一般,块式的集体访问效率不错。优点是提供了冗余性(支持一块盘掉线后仍然正常运行),磁盘空间利用率较高(N-1/N),读写速度较快(N-1倍)。RAID5最大的好处是在一块盘掉线的情况下,RAID照常工作,相对于RAID0必须每一块盘都正常才可以正常工作的状况容错性能好多了。因此RAID5是RAID级别中最常见的一个类型。所以在不考虑成本的因素下,RAID1+0最适合保证数据库的性能和可靠性,故选项C)正确。
  (4)[答案] C)
  [解析] 联系描述现实世界中实物之间的关系,故选项C)错误。
  (5)[答案] C)
  [解析] 第一范式(1NF)是关系模式所要遵循的基本条件,即关系中的每个属性值均必须是一个不可分割的数据量。若关系模式R(U)满足第一范式条件且每个非主属性完全依赖于关键字则为第二范式(2NF)。若关系模式R(U)每个非主属性都不部分依赖也不传递依赖于关键字,则称R(U)满足第三范式。此定义只规定了非主属性对关键字不能存在依赖关系,而主属性可能存在对码的部分和传递依赖。
  BCNF(修正的第三范式或扩充的第三范式)特点:所有的非主属性对每个码都是完全函数依赖,所有的主属性对每一个不包含它的码也是完全函数依赖,没有任何属性完全依赖于非码的任何一组属性。由于BCNF定义排除了任何属性对码的传递与部分依赖,每个关系模式内部的函数依赖均比较单一和有规则,它们紧密依赖而构成一个整体,从而可以避免异常现象出现以及冗余量过多的现象。
  (6)[答案] D)
  [解析] 排他锁又称写锁(X锁)。若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这么做得目的是保证其它事务在T释放A上的锁之前不能在读取和修改A。
  (7)[答案] D)
  [解析] 检查点恢复技术:在日志文件中增加检查点记录,增加一个重新开始文件,并让恢复子系统在登录日志文件期间动态的维护日志。具体步骤:
  ①将当前日志缓冲区中(而不是将系统口志缓冲区中的)的所有日志记录写入磁盘的日志文件上;
  ②在日志文件中写入一个检查点记录;
  ③在当前数据缓冲区的所有数据记录写入磁盘的数据库中;
  ④把检查点记录在日志文件中的地址写入一个重新开始文件。
  检查点可以按照预定的一个时间间隔建立也可以按照某种规则建立检查点。
  检查点技术不需要搜索整个日志,减少DBMS中恢复系统日志搜索的工作量。
  (8)[答案] A)
  [解析] 数据库物理设计主要包括以下步骤:
  ①数据库逻辑模式调整:将数据库逻辑模式及其视图转换为DBMS支持的基本表和视图,并利用DBMS提供的完整性机制设计业务规则;
  ②文件组织与存取设计:配置基本表的文件组织形式,据实际情况为基本表设计合适的存取方法和路径;
  ③数据分布设计;
  ④安全模式设计;
  ⑤确定系统配置;
  ⑥物理模式评估;
  由此可知,安全模式设计是数据库物理设计模式的主要内容之一,而不应放在物理结构完成之后进行,故选项A)错误。
  (9)[答案] D)
  [解析] 差异备份又称增量备份,是对最近一次数据库完全备份以来发生的数据变化进行备份。单独一个差异备份无法进行数据库的恢复,它必须以上一次的完全备份为基础。恢复时,先恢复最后一完全备份,再恢复最后一次差异备份。
  事务日志备份是对数据库发生的事务进行备份,包括从上次进行事务日志备份,差异备份和数据库完全备份之后所有已完成的事物。利用日志备份进行恢复时,可以指定恢复到某一事物。恢复顺序是最后一次完全备份,最后一次差异备份,最后一次日志备份。
  此题要想恢复到第三次修改之前的数据,则要采用事务日志备份技术,故选项D)正确。
  (10)[答案] C)
  [解析] ①分布透明性包括分片透明性、位置透明性和局部数据模型透明性。
  ②分片透明性是分布透明性的最高层次,局部数据模型透明性最低。
  ③分片透明性指用户或者应用程序只对全局关系进行操作而不必考虑关系的分片,它处于全局概念模式和分片模式之间。
  ④位置透明性指用户或应用程序不必了解片段的存储场地。它位于分片模式和分布模式之间。
  ⑤局部数据模型透明性指用户或者用户程序不必了解局部场地上使用的那种数据模型。它位于局部概念模式和分布模式之间。
  (11)[答案] C)
  [解析] 通常情况下,只有当经常查询索引列中的数据时才需要在列表的相应列上创建索引。但是索引占用磁盘空间,并且降低插入、删除和更新行的速度,降低语句执行的效率。
  (12)[答案] B)
  [解析] ①在数据库中定义存取权限称为授权。
  ②用户对自己建立的基本表和视图拥有全部的操作权限,并且可以用Grant语句把其中的某些权限授予其他用户。
  ③数据库的拥有者称为数据库超级用户,它拥有所有的权限。
  (13)[答案] C)
  [解析] 数据库系统故障可分为事务内部故障、系统故障、介质故障、计算机病毒,其中:
  ①系统故障是指造成系统停止运转的任何事件,使得系统要重新启动,如CPU故障,操作系统故障,DBMS代码错误,系统断电等。
  ②介质故障称为硬故障,是指硬件出现故障而产生数据库不能正常使用。如硬盘损坏,磁头碰撞,瞬时强磁场干扰等。
  所以Ⅰ属于计算机病毒引起的故障,Ⅲ、是系统故障,Ⅴ的后半句虽然属于系统故障,但是产生的原因是由于内存的损坏,所以属于介质故障。
  (14)[答案] C)
  [解析] 备份方式有两种:
  ①先创建备份设备,然后将数据库备份到备份设备上(永久备份设备);
  ②直接将数据库备份到磁盘文件上(临时备份设备)。
  在备份到备份设备上和备份到磁盘文件上时,一次只能选择一个备份方式,不能选择同时备份两种方式。恢复时,磁盘文件的恢复比备份到设备上的恢复快得多。故选项C)正确。
  (15)[答案] C)
  [解析] 需求分析阶段主要是“数据”和“处理”,通过调查、收集和分析,获得用户如下需求:
  ①信息需求是指用户需要从数据库中获得的信息的内容与实质。由信息需求可以导出数据需求,即在数据库中存储那些数据。
  ②处理需求是用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是什么。
  ③安全性与完整性要求。
  由此可知,数据需求获得的是数据,故选项C)正确。
  (16)[答案] A)
  [解析] 数据库快照是数据库(称为“源数据库”)的只读静态视图。在创建时,每个数据库快照在事务上都与源数据库一致。在创建数据库快照时,源数据库通常会有打开的事务。在快照可以使用之前,打开的事务会回滚以使数据库快照在事务上取得一致。故数据库快照适合于静态数据,故选项A)正确。
  (17)[答案] B)
  [解析] 可串行化的调度:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行这一事务时的结果相同,称这种调度策略为可串行化的调度。可串行化是并发事务正确调度的准则。选项B),把串行调度策略等价于可串行化调度策略。故选项B)错误。
  (18)[答案] C)
  [解析] SQL Sever 2000中系统给用户预定义了服务器角色(固定服务器角色)和数据库角色(固定数据库角色),这两种角色都是内置的,不能添加,修改和删除。db_owner是系统内置的固定数据库角色,具有可执行数据库的所有管理操作,但不可手工删除或增加成员。故选项C)错误。
  (19)[答案] C)
  [解析] 数据共享和数据的一致性由数据库管理系统维护(DBMS),而数据库管理系统包括管理员,故Ⅰ错;数据冗余的存在,尤其是分布式数据库,必要的冗余是系统正常运行的必要条件。故Ⅳ错。
  (20)[答案] A)
  [解析] 元数据(Metadata)是描述其它数据的数据(data about other data),或者说是用于提供某种资源的有关信息的结构数据(structured data)。元数据是描述信息资源或数据等对象的数据,其使用目的在于识别资源、评价资源、追踪资源在使用过程中的变化、实现简单高效地管理大量网络化数据、实现信息资源的有效发现、查找、一体化组织和对使用资源的有效管理。根据定义选项A)符合。
  (21)[答案] A)
  [解析] 此题为UPDATE触发器。UPDATE触发器在对表执行UPDATE语句后触发。在执行UPDATE触发器时,将触发器表的原纪录保存到deleted临时表中,将修改后的纪录保存到inserted临时表中。故选项A)正确。
  (22)[答案] B)
  [解析] 此题考查的是OLAP(联机分析处理)技术定义。OLAP是以海量数据为基础的复杂分析技术。多维数据模型是数据分析时用户的数据视图,是面向分析的数据模型,一般用一个多维数组来表示(维1,维2,维3,……维n,度量值),用OLPA技术采用多维分析算法,可以根据维度确定度量值。根据定义,可以得出选项B)。
  (23)[答案] C)
  [解析] CPU的数据处理能力往往是衡量计算机性能的一个标志,如果数据库中运行队列数目超过了CPU处理的数目,服务器性能就会受到CPU的限制而下降,解决方法是为服务器适当增加CPU的数量或者将需要许多资源的进程终止。增加CPU的数量并不能保证服务器的处理能力线性增长,故选项A)错。设置防火墙不仅不能避免内网数据传输对外网带来的影响,还会影响数据库服务器和应用服务器之间的传输。故选项B)错误。数据库性能优劣的一个重要度量是响应时间,而I/O时间是响应时间的最大组成部分。故选项D)错误。效率低下的SQL语句常常是系统效率不佳的主要原因。故选项C)正确。
  (24)[答案] B)
  [解析] 此题考查用户定义的完整性和约束条件语句check和constraint语句的使用。check语句用来指定列值应该满足的条件,而constraint语句要和列名结合使用。故可排除Ⅰ和Ⅳ。
  (25)[答案] C)
  [解析] 效率低下的SQL语句常常是系统效率不佳的主要原因。索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率,索引的使用原则是:
  ①经常在查询中作为条件被使用的列应为其建立索引;
  ②频繁进行排序或者分组的列,应为其建立索引;
  ③一个列的值域很大时,应为其建立索引。
  物化视图,它是用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,从而快速的得到结果。物化视图有很多方面和索引很相似,使用物化视图的目的是为了提高查询性能;物化视图对应用透明,增加和删除物化视图不会影响应用程序中SQL语句的正确性和有效性;物化视图需要占用存储空间;当基表发生变化时,物化视图也应当刷新。根据以上两点可以排除选项D)。
  题目中Q1的每天的平均执行次数为50,远大于Q2,Q3。而且主要对(商品编号、月份、销售总量)进行数据操作,故可排除选项B)。
  数据仓库的特性:面向主题性,集成性,不可更新性和时间特性。数据仓库已经确定,基本表内容即固定,不可更新。而物化视图保存了表的连接和聚集,故为了提高系统性能,物化视图一经确定,基本表可以删除,故选项A)可以排除。
  (26)[答案] A)
  [解析] Ⅰ是空间管理的主要功能;Ⅱ是监控分析的功能;Ⅴ是数据库的重组和重构功能。
  (27)[答案] B)
  [解析] DBA职责:
  ①安装和升级数据库服务器(如Oracle、Microsoft SQL server),以及应用程序工具。
  ②数据库设计系统存储方案,并制定未来的存储需求计划。
  ③登记数据库的用户,维护数据库的安全性。
  ④保证数据库的使用符合知识产权相关法规。
  ⑤控制和监控用户对数据库的存取访问。
  ⑥监控和优化数据库的性能。
  ⑦制定数据库备份计划,灾难出现时对数据库信息进行恢复。
  ⑧维护适当介质上的存档或者备份数据。
  ⑨备份和恢复数据库。
  ⑩联系数据库系统的生产厂商,跟踪技术信息。
  根据DBA职责,可以确定运维过程中Ⅱ、Ⅴ不是DBA执行的。
  (28)[答案] C)
  [解析] DTS的源数据和目的数据可以是异构的数据库数据,它可支持Foxpro,Oracle等数据库格式,故项A)错误。利用DTS进行数据传输时,企业管理器提供两种身份验证模式:windows身份验证和SQL server身份验证模式,故选项D)错误。
  DTS数据传输有三种模式:①传输表或者视图中的全部数据,②用一条查询语句将查询的结果作为传输数据,③在SQL Server数据库之间复制对象和数据。故项B)错误。
  (29)[答案] C)
  [解析] Ⅰ属于数据库运行阶段内容;Ⅳ属于试运行阶段功能测试内容;Ⅵ属于数据库维护阶段功能一数据库的重组与重构。故选项C)正确。
  (30)[答案] B)
  [解析] 用例模型(Use-Case Model)是把满足用户需求的表示出来的工具,反映了系统能够完成什么样的功能,主要由用例、角色所拥有功能和系统三部分组成。故Ⅰ错。
  活动图主要用于描述系统,用例和程序模块中逻辑流程的先后执行次序,并行次序。活动图用于低层次程序模块的作用类似于流程图,但活动图还可以描述并行操作,而流程图只能描述串行操作。故Ⅴ错。
  二、应用题
  (1)[答案] [1] 医生编号,身份证号
  [解析] 若关系中的某一属性或属性组的值能唯一的标识一个元组,而其任何真子集都不能再标识,则称该属性组为(超级码)候选码。
  (2)[答案] [2] 快速原型模型开发方法
  [解析] 快速原型模型是需求和设计之间进行迭代设计的。从模糊的需求到初始的原型,经过对原型的更改,得到清晰的需求,最后逐步演化为最终的产品,主要用于对软件需求缺乏准确认识的情况。
  (3)[答案] [3] 加锁阶段(或扩展阶段)、[4] 解锁阶段(或收缩阶段)
  [解析] 两段锁协议的基本原理第一条:每个事务的执行过程划分为两个阶段:加锁阶段和解锁阶段,也称扩展阶段和收缩阶段。
  (4)[答案] [5] 模式(或逻辑模式或概念模式)
  [解析] 此题考查的是三级模式中模式的定义,模式也成为逻辑模式和概念模式,是对数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
  (5)[答案] [6] UNDO(撤销)
  [解析] 此题考查利用日志文件进行故障恢复的操作过程。利用日志文件进行故障恢复时有两个基本操作:UNDO(撤销)和REDO(重做)。
  (6)[答案] [7] 动态
  [解析] 动态备份运行转储操作和用户事务并发执行,即允许在转储过程中对数据库进行存取和修改。
  (7)[答案] [8] 主码
  [解析] 此题考查垂直分片的定义,垂直分片在关系中从列的角度(属性)依据一定条件为不同的片段,各片段中应该包含关系的主码属性,以便通过连接方法恢复关系。
  (8)[答案] [9] 死锁恢复
  [解析] 此题考查死锁恢复的定义,当发现系统中存在死锁时,系统可以通过死锁恢复机制将从系统从死锁中解救出来。通常采用的方法是选择一个或几个死锁事务,撤销这些事务,释放器所持有的锁,消除事务等待途中的回路,从而解决了死锁系统。
  (9)[答案] [10] 钻取
  [解析] 多维分析的基本活动有:钻取与卷起是OLAP分析的两个最基本操作。所谓钻取是指对应与某一维逐步向更细节层方向观察数据;针对该考试题干描述,当前是从时间维的角度对销售数据进行观察和分析,时间维可分层为年、季、月,当前查看的是2010年季度层,要查看三季度各月份即要具体到更细的月份一层销售情况,属于钻取活动。所以答案应该填“钻取”。
  (10)[答案] [11] INSTEAD OF
  [解析] ①触发器是一种特殊的存储过程,其特殊性在于它不需要由用户来调用,而是当用户对表中的数据进行UPDATE、INSERT和DELETE操作时自动触发执行。②指定执行触发器而不是窒息引发触发器执行的SQL语句,从而替代触发语句的操作,称这种触发器为前触发器,语句为INSTEAD OF。
  (11)[答案] [12] [ZT][JS]
  [解析] 确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。然而,可使用字符串的任意片段匹配通配符。与使用=和!=字符串比较运算符相比,使用通配符可使LIKE运算符更加灵活。
  当使用LIKE进行字符串比较时,模式字符串中的所有字符都有意义,包括起始或尾随空格。如果查询中的比较要返回包含”abc”(abc 后有一个空格)的所有行,则将不会返回包含"abc"(abc后没有空格)的列所在行。但是可以忽略模式所要匹配的表达式中的尾随空格。如果查询中的比较要返回包含"abc"(abc后没有空格)的所有行,则将返回以"abc"开始且具有零个或多个尾随空格的所有行。
  (12)[答案] [13] count(distinct学号)
  [解析] 在SQL数据库中,COUNT(*)函数将返回满足SELECT语句的WHERE子句中的搜索条件的函数。COUNT(*)函数将准确地返回表中的总行数,而仅当COUNT()函数的参数列没有NULL值时,才返回表中正确的行计数,所以仅当受NOT NULL限制的列作为参数时,才可使用COUNT()函数代替COUNT(*)函数。COUNT和DISTINCT经常被合起来使用,目的是找出表格中有多少行不同的内容。
  语法:SELECT COUNT(DISTINCT列名)FROM表名 where 条件语句
  (13)[答案] [14] filename='D:\db1.dbf'
  [解析]
  create database数据库名
  on
  (name=“数据库名”,
  filename=“数据库存放路径”,
  size=“用于指定数据文件的初始大小,可以加上MB或KB,默认为MB”,
  maxsize=“用于指定数据文件的最大大小,可以加上MB或KB,默认为MB,此项省略表示数据库文件的大小无限制”,
  filegrowth=“用于指定数据文件的增加量,可以加上MB,KB或%,默认为MB”。省略此项表示文件大小按照10%自动增长。此项的值应该是一个正整数,不要包含小数位,而此项的值不能超过maxsize的值,若为0则不自动增长”
  )
  log on
  (name=“日志名”,
  filename=“日志存放路径”
  size=“用于指定数据文件的初始大小,可以加上MB或KB,默认为MB”,
  maxsize=“用于指定数据文件的最大大小,可以加上MB或KB,默认为MB,此项省略表示数据库文件的大小无限制”,
  filegrowth=“用于指定数据文件的增加量,可以加上MB,KB或%,默认为MB”。省略此项表示文件大小按照10%自动增长。此项的值应该是一个正整数,不要包含小数位,而此项的值不能超过maxsize的值,若为0则不自动增长”
  (14)[答案] [15] avg(工资)
  [解析] 此题考查的是分组视图:带有聚集函数和group by子句的查询来定义视图,由于as子句中select语句的目标列平均工资是通过作用聚集函数得到的,所以creat view中必须明确定义组成V_salary视图的各个属性列名。
  三、设计与应用题
  (1)[答案] ①
     [解析] E—R图的画法:
  建立相应的E—R图的过程如下:
  第一,确定实体类型。本题有三个实体类型,刊物、读者、出版社。
  第二,确定联系类型。本题有两个联系类型,刊物和读者之间的关系是多对多的借阅关系,出版社与刊物之间的关系是1对多的出版关系。借阅联系类型还有借阅日期和归还日期属性。
  第三,把实体类型和联系类型组合成E—R图。(为了简单起见,本图把所有属性放在一个框里)
  [答案] ②关系模式为:
  出版社(出版社编号,出版社名称)
  刊物(刊物编号,读者编号,刊物名称,出版日期,出版社编号)其中出版社编号、读者编号为为外码读者(读者编号,姓名、性别)
  借阅(刊物编号,读者编号,借阅日期,归还日期)
  [解析] E—R模型转换为关系模式的规则:
  A.把E—R模型中的每一个实体集转换为同名的关系,实体集的属性就是关系的属性,实体集的码就是关系的码;
  B.把E—R模型中的每一个联系转换成一个关系,与该联系相连的各实体集的码以及联系的属性转换为关系的属性。关系的码根据下列情况确定:
  若联系为1:1,则每个是实体集码均是该关系的候选码;
  若联系为1:n,则关系的码为n端实体集的码;
  若联系为m:n,则关系的码为各实体集码的组合。
  C.合并具有相同码的关系。
  根据规则,把一个E—R模型转换为关系模式,一般经历下面几个步骤:
  第一:标识E—R模型中的联系,图中有两种出版和借阅关系;
  第二:依次转换与每个联系项关联的实体集及联系
  a.联系“出版”的转换。在“出版”的联系中,共有两个实体集一出版社和刊物实体集,其联系的基数为1:n,根据转换规则,转换过程为:
  关系1:出版社(出版社编号,出版社名称)
  关系2:刊物(刊物编号,刊物名称,出版日期,出版社编号,出版社名称)
  关系3:出版(出版社编号,刊物编号)
  关系4:刊物(刊物编号,刊物名称,出版日期,出版社编号)
  b.联系“借阅”的转换。借阅联系中,共有两个实体集一刊物和读者。其联系的基数为m:n,根据转换规则,转换过程为:
  关系1:刊物(刊物编号,刊物名称,出版日期,出版社编号,出版社名称,读者编号)
  关系2:读者(读者编号,姓名、性别)
  关系3:借阅(刊物编号,读者编号,借阅日期,归还日期)
  合并A.和C.得:
  刊物(刊物编号,刊物名称,出版日期,出版社编号,出版社名称,读者编号,借阅日期,归还日期)
  第三:整理得到选课系统的关系模式:
  出版社(出版社编号,出版社名称)
  刊物(刊物编号,刊物名称,出版日期,出版社编号,出版社名称,读者编号,借阅日期,归还日期)
  读者(读者编号,姓名、性别,刊物编号)
  (2)[答案] ①由于数据库中有100万个记录,执行“update销售明细表set总价=@Amount”,需要执行100万次,因此插入操作比较慢。
  [解析] AFTER触发器和INSTEAD OF触发器。其中AFTER类型触发器要求只有执行某一操作(INSERT UPDATE DELETE)之后,触发器才被触发,且只能在表上定义,如果仅指定FOR关键字,则AFTER是默认设置。
  INSTEAD OF触发器表示并不执行其所定义的操作(INSERT、UPDATE、DELETE),而仅是执行触发器本身。既可在表上定义INSTEAD OF触发器,也可以在视图上定义INSTEAD OF触发器,但对同一操作只能定义一个INSTEAD OF触发器。
  优化措施,采用INSTEAD OF触发器。即for改为instead of
  [答案] ②建立视图:
  creat view s(商品编号,总价)
  as
  select商品编号,sum(总价)from 销售明细表
  where单价>50
  group by商品编号
  在视图上建立索引
  creat unique index商品编号on s(商品编号,总价) 
  [解析] 视图是从一个或几个基本表上(或视图)上导出的表,是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍然存放在原来的基本表上,所以基本表中的数据发送变化,从视图中查询出的数据也随之改变。
  定义基本表时,为了减少数据的冗余性,表中只存放基本数据,而对基本数据计算后派生出来的数据基本表中不存储,但是由于视图中的数据不是实际数据,所以定义视图时可以根据应用的需要,派生一些基本列,即虚列。带虚拟列的视图也成为带表达式的视图。
  建立索引是加快查询速度的有效手段,对应经常查询的数据,可在其列上建立索引。
  根据视图和索引的特点,可在基本表上建立视图s,然后在视图”商品编号,和总价类”建立索引,即可提高查询效率,而且当基本表发生改变时也不影响查询效果。
  (3)[答案] 存储过程:
  creat proc profit
  @goodid varchar(20),profit int=0
  @intprice int,@outtprice int,@quantity int,
  as
  update profit set profit=@profit
  Where goodid in(
  SELECT
  goodid,@profit=sum((good. outprice—good. inprice)* sale.quantity)
  FROM good join sale on good.goodid=sale.goodid
  join profit on profit.goodid=sale.goodid
  where good.goodid=@goodid)
  go
  [解析] 总利润=销售出去的物品数量*(销售单价-进货单价)
  销售的物品数量在销售表中,销售单价在进货单价在商品表中。
  假设商品表good(goodid(商品编号),name(商品名称),inprice(进货单价),outpfice(销售单价))。
  销售表为sale(goodid(商品编号),date(销售时间),quantity(销售数量))。
  利润表profit(goodid(商品编号),profit(商品总利润))。
  

网站统计|优领域|优领域 ( 粤ICP备12011853号-1 )  

GMT+8, 2019-3-20 17:37 , Processed in 0.046886 second(s), 12 queries .

Copyright © 2008-2014 优领域

回顶部