2022年职业考证-软考-数据库系统工程师考试全真模拟易错、难点剖析B卷(带答案)第60期

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2022年职业考证-软考-数据库系统工程师考试全真模拟易错、难点剖

析B卷(带答案)

一.综合题(共15题)

1.

单选题

数据仓库是为了构建新的分析处理环境而出现的一种数据存储和组织技术,其特征不包括()。问题1选项

A.数据的组织面向主题

B.数据是集成的

C.数据是相对不稳定的

D.数据是反映历史变化的

【答案】C

2.

单选题

由于机房断电,某个使用检查点记录的数据库出现故障,该故障属于()。

问题1选项

A.系统故障

B.介质故障

C.事务内部故障

D.计算机病毒

【答案】A 3.

单选题

下列描述中,()不是分布式数据库数据透明性的表现形式。

问题1选项

A.代码透明性

B.分片透明性

C.位置透明性

D.模型透明性

【答案】A

【解析】分布式数据库的透明性包括了分片透明、分配透明(复制透明、位置透明)、映像透明(模型透明)。

而代码透明的说法是错误的。

4.

单选题

计算机操作的最小时间单位是()。

问题1选项

A.指令周期

B.时钟周期

C.总线周期

D.CPU周期

【答案】B

【解析】计算机操作的最小时间单位是时钟周期。时钟周期是计算机中最基本的、最小的时间单位。

5.

单选题

在数据库中新建存储过程的关键字是()。

问题1选项

A.CREATE PROCEDURE

B.INSERT PROCEDURE

C.CREATE TRIGGER

D.INSERT TRIGGER

【答案】A

【解析】存储过程的语法格式:

create procedure (参数列表)

{

过程体语句;

}

6.

单选题

下列选项中,()不属于分布式数据库的优点。问题1选项

A.可拓展性好

B.具有数据分布透明性

C.体系结构灵活

D.存取结构简单【答案】D

【解析】分布式数据库的存取结构复杂。

7.

单选题

某数据库中有会员卡基本信息表(含余额信息)和消费记录表,现在需要通过触发器实现“新增消费记录后自动更新会员表的余额属性”,采用()触发器比较适合。

问题1选项

A.行级前

B.行级后

C.语句级前

D.语句级后

【答案】B

8.

案例题

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

【说明】

某网上销售系统的部分关系模式如下:

订单表:orders(o_no, o_date, o_time, p_no, m no, p_price, nums, amt, status)。其中属性含义分别为:订单号、订单日期、订单时间、产品编码、供应商编码、产品价格、产品数量、订单金额、订单状态(0-未处理、1-已处理、 2-已取消)。

产品表:products(p_no, p_name, p_type, price, m_no, p_nums)。其中属性含义分别为:产品编码、产品名称、产品类型、产品价格、供应商编码、库存数量。

【问题1】(5分)

节假日时,由供应商提供商品打折后的新价格,数据存放在临时表中,该临时表的表名为tmp_prices(不同供应商有不同的临时表),其关系模式如下:

后台维护人员需要根据供应商填写在tmp prices中的数据来更新产品表中某些产品的价格。下面是基于游标,用SQL实现的价格更新程序,请补全空缺处的代码。

【问题2】(6分)

假设用户1和用户2同时购买1份A商品,用户3查询和浏览A商品。三个用户对应事务的部分调度序列如表4-1所示(事务中未进行并发控制),其中TO时刻该A商品的库存数量p_nums为100。表4-1 事务运行部分调度示意表

请说明T4、T7时刻,用户3事务读取到的p_nums 数值分别是多少。请说明T8时刻事务调度结果是否正确?若不正确请说明属于哪一种数据不一致性。

【问题3】(4分)

为保证并发事务的正确性,系统要求所有事务需遵循两段锁协议。

(1)请用100字以内的文字简要解释两段锁协议,并说明“两段”的含义。

(2)请说明两段锁协议是否可以避免死锁?如不能避免,应采取什么措施解决死锁问题。

【答案】【问题1】

(a)cursor

(b)open

(c)Pno, Pprice, Mno

(d)commit

【问题2】

T4时刻,p_nums的值为100。

T7时刻,p_nums的值为99。

事务调度结果不正确。

丢失修改。

【问题3】

(1)两段锁协议是指对任何数据进行读写之前必须对数据加锁;在释放一个封锁之后,事务不再申请和获得任何其他锁。

“两段”的含义是:事务分为两个阶段,第一阶段是获得封锁,称为扩展阶段;第二阶段是释放封锁,称为收缩阶段。

(2)两段锁协议不能避免死锁。

解决措施是采用死锁检测机制,发现后按照一定算法解除死锁。

【解析】本题考查数据库设计中存储过程和事务并发的相关知识及应用。

【问题1】

本问题考查存储过程和游标的基本知识。题干描述中已经给出了关系模式和具体的需求描述,给出了使用游标的明确要求,并给出了主体程序。考生应根据游标的具体使用要求,填写空白处代码。

存储过程中游标的使用分为四个步骤:定义游标、打开游标、取数据、关闭游标。空白(a)处于存储过程的Declare部分,此部分用于定义临时变量,所以此处应该是游标定义,应该填cursor关键字;空白(b)处应该填open,即打开游标;游标打开后,常见的数据处理方法是采用循环方式,利用fetch语句取出一条数据进行处理,所以空白(c)处应该填写存储数据的临时变量,即Pno,Pprice,Mno,分别来存储取出的产品编码、产品价格和供应商编码,此处需要注意的是临时变量的顺序,需要和游标定义中select后的属性顺序保持一致。空白(d)是该存储过程的最后一条语句,应该对修改后的数据进行确认提交,应该填写commit语句。

【问题2】

本问题考查事务并发可能会带来的并发问题。

根据题干描述,三个事务并发执行,T0时刻p_nums为100。到T4时刻,事务1和事务2均对事务内部的变量p_nums进行了减一操作,事务1和事务2的p_nums值为99,但均未写入数据库,因此此时事务3从数据库中读取的p_nums值应该依然是100。到了T7时刻,事务1将99的数值写入数据库,事务2也将99的数值写入数据库,并且覆盖了事务1写入的数值(虽然都是99),所以T7时刻事务3从数据库读取的p_nums值为99。

从上述描述中可以看到,到了T8时刻,事务1和事务2都完成了减一操作,但数据库中p_nums的值却是99(不是98),因此事务调度结果不正确,不属于串行化调度,属于丢失修改。导致不正确的原因是事务2的修改覆盖了事务1的修改,导致事务1的修改丢失了。

【问题3】

本问题考查两段锁协议的基本知识。

两段锁协议是指对任何数据进行读写之前必须对数据加锁;在释放一个封锁之后,事务不再申请和获得任何其他锁。

该协议明确所有事务必须分两个阶段对数据项加锁和解锁:第一阶段是获得封锁,事务可以对数据加读/写锁,但不能释放,也称为扩展阶段;第二阶段是释放封锁,事务可以释放前面对数据加的读/写锁,但不能再申请加锁,也称为收缩阶段。

两段锁协议不能保证完全避免锁死的发生,当两个满足两段锁协议的事务并发运行时,如果两个事务对两个资源进行了交叉锁定,死锁就必然发生。

因此DBMS必须要提供死锁检测机制,以实时检测死锁的发生,并根据某种策略解除死锁。

9.

单选题

数据库管理员对经理U1、U2赋予表D和M的插入权限。U1赋予实习生U3对表D的插入权限。U2发现当U3说服顾客办理信用卡后,每次都要找他注册,为了减少工作量,他也对U3赋予表M的插入权限。一段时间后,U1离职,数据库管理员收回权限,执行的SQL语句为REVOKE M FROM U1 CASCADE此时U3仍具有的权限为()。问题1选项

A.无任何权限

B.插入D表的权限

C.插入M表的权限

D.插入D和M表的权限

【答案】C

10.

单选题

以下关于计算机安全原则的叙述中,不正确的是()。

问题1选项

A.在系统设计时,实现安全措施应具有简洁性

B.系统的保护机制不应该公开

C.用户和程序在操作时应当使用尽可能少的特权

D.多用户系统中允许多个用户共享资源的机制应该最小化

【答案】B

【解析】系统的保护机制应该公开。

11.

单选题

E-R 图向关系模式转换时,实体标识符转换为关系的()。

相关文档
最新文档