软件资格考试数据库系统工程师(基础知识、应用技术)合卷(中级)重点难点题库详解(2026年).docxVIP

  • 0
  • 0
  • 约3.51万字
  • 约 65页
  • 2026-01-20 发布于广东
  • 举报

软件资格考试数据库系统工程师(基础知识、应用技术)合卷(中级)重点难点题库详解(2026年).docx

2026年软件资格考试数据库系统工程师(基础知识、应用技术)合卷(中级)重点难点题库详解

一、基础知识(共75题)

1、在SQL语言中,以下哪个语句属于数据定义语言(DDL)?

A.SELECT

B.INSERT

C.CREATETABLE

D.UPDATE

答案:C

解析:数据定义语言(DDL)用于定义和管理数据库结构,包括创建、修改和删除数据库对象。CREATETABLE用于创建表结构,属于DDL。而SELECT、INSERT、UPDATE属于数据操作语言(DML),用于查询和修改数据。

2、关系模式R(A,B,C),函数依赖集F={A→B,B→C},则R属于()

A.1NF

B.2NF

C.3NF

D.BCNF

答案:B

解析:候选键为A(A+={A,B,C})。非主属性B和C均完全依赖于候选键A,满足2NF;但由于B→C存在传递依赖(C传递依赖于A),不满足3NF要求,因此属于2NF。

3、在关系数据库中,设关系模式R(学号,课程号,成绩,教师,教师办公室),已知每门课程只有一名教师授课,每位教师只有一个办公室,但一名教师可授多门课程。若将R分解为R1(学号,课程号,成绩)与R2(课程号,教师,教师办公室),则该分解()。

A.既无损连接又保持函数依赖

B.无损连接但不保持函数依赖

C.有损连接但保持函数依赖

D.有损连接且不保持函数依赖

答案:A

解析:

1、无损连接:R1∩R2={课程号},R2中“课程号→教师”成立,故课程号为R2的超码,满足无损连接充分条件。

2、保持函数依赖:原R的函数依赖集F={课程号→教师,教师→办公室}。分解后,R2保留了课程号→教师,教师→办公室,R1无相关属性,故F在R1∪R2上的投影仍逻辑蕴涵F,因此保持函数依赖。综上选A。

4、某事务T对数据项A加了共享锁(S锁),此时另一事务T′对A能成功加上的锁是()。

A.排他锁(X锁)

B.共享锁(S锁)

C.意向排他锁(IX锁)

D.以上皆可

答案:B

解析:

S锁与S锁兼容,与X锁冲突;意向锁(IX、IS)用于表级意向,与行级S锁不直接冲突,但题目问的是“对数据项A能成功加上的锁”,即行级锁,因此只有共享锁(S)可以立即获得,排他锁(X)需等待。故选B。

5、已知关系模式R(A,B,C,D,E)及其函数依赖集F={A→BC,C→D,D→E},若将R分解为ρ={R1(A,B,C),R2(C,D),R3(D,E)},则该分解是否具有无损连接性?

答案:是,该分解具有无损连接性。

解析:

判断分解是否具有无损连接性可使用”追迹算法(Chase算法)“或”无损连接分解定理”。这里采用函数依赖判定法:

根据函数依赖集F可知:

A→BC表明A可以决定B和C

C→D表明C可以决定D

D→E表明D可以决定E

分解后的模式为:

R1(A,B,C)包含A→BC

R2(C,D)包含C→D

R3(D,E)包含D→E

通过传递依赖A→BC→D→E,可以还原原始关系模式的所有属性间的依赖关系。具体验证可通过构造初始表格:

A

B

C

D

E

R1

a

b

c

d1

e1

R2

a2

b2

c

d

e2

R3

a3

b3

c3

d

e

根据A→BC,R1和R2在A上无相同值,无法合并;但根据C→D,R2和R3在C、D上有相同值可合并;最终通过A→BC和C→D的传递性,可以证明该分解是无损的。更严格的证明需使用无损连接分解定理:若分解ρ中某个子模式包含超键,则分解具有无损连接性。此处R1(A,B,C)包含键A,因此分解是无损的。

6、在数据库事务的四种标准隔离级别中,哪种隔离级别可以完全避免”幻读(PhantomRead)“现象?

答案:可串行化(Serializable)隔离级别。

解析:

四种标准隔离级别及其可能出现的问题如下:

1、读未提交(ReadUncommitted):最低级别,可能出现脏读、不可重复读和幻读

2、读已提交(ReadCommitted):可避免脏读,但仍可能出现不可重复读和幻读

3、可重复读(RepeatableRead):可避免脏读和不可重复读,但仍可能出现幻读

4、可串行化(Serializable):最高级别,完全避免脏读、不可重复读和幻读

幻读是指在同一事务中,两次执行相同的范围查询时,由于其他事务插入或删除了符合该查询条件的记录,导致第二次查询看到了”幻影”般的新记录。虽然”可重复读”级别能保证同一记录的多次读取结果一致,但它只对已读取的数据行加锁,不对范围加锁,因此无法阻止其他事务在该范围内插入新数据。

只有”可串行化”级别通过对查询范围加锁或使用多版本并发控制

文档评论(0)

1亿VIP精品文档

相关文档