2022年职业考证-软考-数据库系统工程师考试全真模拟易错、难点剖析AB卷(带答案)
一.综合题(共15题)
1.
单选题
SQL语言中,NULL值代表( )。
问题1选项
sql约束条件大于0A.空字符串
B.数值0
C.空值
D.空指针
【答案】C
【解析】NULL值代表空值。
2.
单选题
( )的保护期限是可以延长的。
问题1选项
A.著作权
B.专利权
C.商标权
D.商业秘密权
【答案】C
【解析】商标权的保护期限是有效期为10年(若注册人死亡或倒闭1年后,未转移则可注销,期满后6个月内必须续注)。
3.
单选题
某应用系统有两个表,会员表Member(Mld,Mname,Mphone,Mgender,Mage,balance,visible)和消费记录表DeaI(D_Id,Ddate,Dtype,Dvalue,M_ld),其中MId为会员编码。如果要查询“陈”姓会员的消费记录,对应的SQL语句为( )。
问题1选项
A.SELECT Mname,Mphone,Ddate,Dvalue FROM Member,Deal WHERE Mname LIKE '%陈'and Member.M Id=Deal.M Id;
B.SELECT Mname,Mphone,Ddate,Dvalue FRO M Member,Deal WHERE Mname LIKE 'and Member.M Id=Deal.M_Id;
C.SELECT Mname,Mphone,Ddate,Dvalue FROM Member,Deal WHERE Member.M Id=Deal.M_Id;
D.SELECT Mname,Mphone,Ddate,Dvalue FROM Member,Deal WHERE Mname LIKE%'陈%';
【答案】A
4.
单选题
计算机操作的最小时间单位是( )。
问题1选项
A.指令周期
B.时钟周期
C.总线周期
D.CPU周期
【答案】B
【解析】计算机操作的最小时间单位是时钟周期。 时钟周期是计算机中最基本的、最小的时间单位。
5.
单选题
以下关于数据库设计的说法中,正确的是( )。
问题1选项
A.在逻辑结构设计阶段,规范化程度越高越好
B.逻辑结构设计的结果必须满足BCNF
C.在物理结构设计阶段,聚簇可提高特定属性的查询效率
D.在物理结构设计阶段,若选择B+树索引存取方法,关系上定义的索引数越多越好
【答案】C
【解析】聚簇索引:将数据存储与索引放到了一块,到索引也就到了数据,所以查询效率是非常高的。一个表只有一个聚簇索引。
6.
单选题
关系的完整性约束不包含( )。
问题1选项
A.实体完整性
B.参照完整性
C.属性完整性
D.用户定义完整性
【答案】C
【解析】完整性约束:防止的是对数据的意外破环。
实体完整性:规定基本关系R的主属性A不能取空。
用户自定义完整性:就是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求,由应用的环境决定。如:年龄必须为大于0小于150的整数。
参照完整性/引用完整性:规定,若F是基本关系R的外码,它与基本关系S的主码K,相对应(基本关系R和S不一定是不同的关系),则R中每个元组在F上的值必须为:或者取空值;或者等于S中某个元组的主码值。
本题中属性完整性约束不属于关系的完整性约束。
7.
单选题
在数据库中新建存储过程的关键字是( )。
问题1选项
A.CREATE PROCEDURE
B.INSERT PROCEDURE
C.CREATE TRIGGER
D.INSERT TRIGGER
【答案】A
【解析】存储过程的语法格式:
create procedure (参数列表)
{
过程体语句;
}
8.
单选题
数据流图设计中,( )描述了输入数据流到输出数据流之间的转换。
问题1选项
A.外部系统
B.数据存储
C.加工
D.用户
【答案】C
9.
单选题
确保计算机系统机密性的方法中不包括( )。
问题1选项
A.加密
B.认证
C.授权
D.备份
【答案】D
10.
单选题
对于两个关系E和F,( )的运算结果的任一元组, 同时属于E和F。
问题1选项
A.E×F
B.EUF
C.E∩F
D.E-F
【答案】C
【解析】关系的基本运算有两类:一类是传统的集合运算(并、差、交、笛卡尔积),另一类是专门的关系运算(选择、投影、连接、除法、外连接等)。
传统的集合运算:
(1)并(UNION) 设有两个关系R和S,它们具有相同的结构。R和S的并是由属于R或属
于S的元组组成的集合,运算符为∪。记为T=R∪S。
(2)差(DIFFERENCE) R和S的差是由属于R但不属于S的元组组成的集合,运算符为-。记为T=R-S。
(3)交(INTERSECTION) R和S的交是由既属于R又属于S的元组组成的集合,运算符为∩。记为T=R∩S。 R∩S=R-(R-S)。
因此,对于两个关系E和F, E∩F的运算结果的任一元组, 同时属于E和F。答案为C。
11.
案例题
阅读下列说明,回答问题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必须要提供死锁检测机制,以实时检测死锁的发生,并根据某种策略解除死锁。
12.
单选题
数据仓库是为了构建新的分析处理环境而出现的一种数据存储和组织技术,其特征不包括( )。
问题1选项
A.数据的组织面向主题
B.数据是集成的
C.数据是相对不稳定的
D.数据是反映历史变化的
【答案】C
13.
单选题
( )排序又被称为缩小增量排序,是对直接插入排序方法的改进。
问题1选项
A.简单选择
B.冒泡
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论