2019 年上半年数据库系统工程师考试

基础知识

● 计算机执行程序时,CPU中(1)的内容是一条指令的地址。

(1)A、运算器 B、控制器 C、程序计数器 D、通用寄存器

参考答案:(1)C

● DMA控制方式是在(2)之间直接建立数据通路进行数据的交换处理。

(2)A、CPU与主存 B、CPU与外设

​ C、主存与外设D、外设与外设

参考答案:(2)C

直接主存存取(Direct Memory Access,DMA)是指数据在主存与I/O设备间(即主存与外设之间)直接成块传送。
CPU与外设之间是程序直接控制传送方式。

CPU与主存之间是总线。

● 在计算机的存储系统中,(3)属于外存储器。

(3)A、硬盘 B、寄存器 C、高速缓存 D、内存

参考答案:(3)A

● 某系统由3个部件构成,每个部件的千小时可靠度都为R,该系统的千小时可靠 度为(1-(1-R)^2)R,则该系统的构成方式是(4)

(3)A、3个部件串联 B、3个部件并联 C、前两个部件并联后与第三个部件串联 D、第一个部件与后两个部件并联构成的子系统串联

参考答案:(4)C

● 令序列X、Y、Z的每个元素都按顺序进栈,且每个元素进栈和出栈仅一次。则不 可能得到的出栈序列是(5)

(5) A、 X Y Z B、 X Z Y C、 Z X Y D、 Y Z X

参考答案:(5)C

● 以下关于单链表存储结构特征的叙述中,不正确的是(6)

(6) A、表中结点所占用存储空间的地址不必是连续的

​ B、在表中任意位置进行插入和删除操作都不用移动元素

​ C、所需空间与结点个数成正比

​ D、可随机访问表中的任一结点

参考答案:(6)D

● B-树是一种平衡的多路查找树。以下关于B-树的叙述中,正确的是(7)

(7) A、根结点保存树中所有关键字且有序排列

​ B、从根结点到每个叶结点的路径长度相同

​ C、所有结点中的子树指针个数都相同

​ D、所有结点中的关键字个数都相同

参考答案:(7)B

B-树中,所有非终端结点也就是非叶子结点,都会包含关键字,A选项错误。

B-树中,所有叶子结点都出现在同一层次上并且不带信息(可以看作是外部结点或查找失败的结点),层次相同也就是高度相同,从根结点到每个叶子结点的路径长度相同,B选项正确。

B-树中,所有非终端结点包含的关键字数量是不确定的,指向的子树个数也是不确定的,所以C选项和D选项错误。

● 对于给定的关键字序列{47, 34, 13, 12, 52, 38, 33, 27, 5},若用链地址法(拉 链法)解决冲突来构造哈希表,且哈希函数为H(key)=key%11,则(8)

(8) A、哈希地址为1的链表最长

​ B、哈希地址为6的链表最长

​ C、 34和12在同一个链表中

​ D、 13和33在同一个链表中

参考答案:(8)C

链地址法(拉链法):在查找表的每一个记录中增加一个链域,链域中存放下一个具有相同哈希函数值的记录的存储地址。即利用链域将发生冲突的记录链接在一个链表里。
本题对于给定的关键字序列{47, 34, 13, 12, 52, 38, 33, 27, 5},哈希函数为H(key)=key%11,则其哈希值分别为{3, 1, 2, 1, 8, 5, 0, 5, 5}
可以看到哈希地址为5的冲突最多,其对应的链表最长,A选项和B选项错误。
34和12的哈希值都为1,放在同一个链表中,C选项正确。
13的哈希值为2,33的哈希值为0,不在同一个链表中,D选项错误。

● 某有向图G的邻接表如下图所示,可看出该图中存在弧<v2, v3>,而不存在从顶点 V1出发的弧。以下关于图G的叙述中,错误的是(9)

img

(9) A、 G中存在回路

​ B、 G中每个顶点的入度都为1

​ C、 G的邻接矩阵是对称的

​ D、不存在弧<v3, v1>

参考答案:(9)C

● 已知有序数组a的前10000个元素是随机整数,现需查找某个整数是否在该数组中。以下方法中,(10)的查找效率最高。

(10) A、二分查找法B、顺序查找法

​ C、逆序查找法D、哈希查找法

参考答案:(10)A

● 下列攻击行为中,(11)属于被动攻击行为。

(11) A、伪造 B、窃听 C、 DD0S攻击 D、篡改消息

参考答案:(11)B

(12)防火墙是内部网和外部网的隔离点,它可对应用层的通信数据流进行监控和过滤。

(12) A、包过滤 B、应用级网关 C、数据库 D、 WEB

参考答案:(12)B

防火墙技术可分为网络级防火墙和应用级防火墙两类。网络级防火墙用来防止整个网络出现外来非法的入侵。例如,分组过滤和授权服务器就属于这一类。前者检查所有流入本网络的信息,然后拒绝不符合事先制订好的一套准则的数据,而后者则是检查用户的登录是否合法;应用级防火墙是从应用程序来进行接入控制,通常使用应用网关或代理服务器来区分各种应用。例如,可以只允许WWW应用,而阻止FTP应用。

题目中要求对应用层的通信数据流进行监控与过滤,这个要求使用包过滤防火墙是做不到的,必须使用应用层的防火墙——应用级网关。

(13)并不能减少和防范计算机病毒。

(13) A、安装、升级杀毒软件 B、下载安装系统补丁

​ C、定期备份数据文件 D、避免U盘交叉使用

参考答案:(13)C

● 下述协议中与安全电子邮箱服务无关的是(14)

(14) A、 SSL B、 HTTPS C、 MIME D、 PGP

参考答案:(14)C

MIME它是一个互联网标准,扩展了电子邮件标准,使其能够支持,与安全无关。与安全电子邮件相关的是S/MIME安全多用途互联网邮件扩展协议。
A选项SSL和B选项HTTPS涉及到邮件传输过程的安全,D选项PGP(全称:Pretty Good Privacy,优良保密协议),是一套用于信息加密、验证的应用程序,可用于加密电子邮件内容。

● 在(15)校验方法中,采用模2运算来构造校验位。

(15) A、水平奇偶 B、垂直奇偶 C、海明码 D、循环冗余

参考答案:(15)D

循环冗余校验CRC使用模二除法来构造校验位。

(16)是构成我国保护计算机软件著作权的两个基本法律文件。单个自然人的软件著作权保护期为(17)

(16) A、《软件法》和《计算机软件保护条例》

​ B、《中华人民共和国著作权法》和《中华人民共和国版权法》

​ C、《中华人民共和国著作权法》和《计算机软件保护条例》

​ D、《软件法》和《中华人民共和国著作权法》

(17) A、50年 B、自然人终生及其死亡后50年 C、永久限制 D、自然人终生

参考答案:(16)C(17)B

第一空,保护软著权的基本法律文件是《中华人民共和国著作权法》和《计算机软件保护条例》;第二空对于自然人的著作权除了身份权以外,保护期限为作者终生及其死后50年。题干并不严谨。

● 在Windows系统中,磁盘碎片整理程序可以分析本地卷,以及合并卷上的可用空间使其成为连续的空闲区域,从而使系统可以更高效地访问(18)

(18) A、内存储器 B、高速缓存存储器 C、文件或文件夹 D、磁盘空闲区

参考答案:(18)C

合并文件和文件夹的过程称为碎片整理。

● 某文件系统采用位示图(bitmap)记录磁盘的使用情况。若计算机系统的字长为64 位,磁盘的容量为1024GB,物理块的大小为4MB, 那么位示图的大小需要(19)个字。

(19) A、 1200 B、 2400 C、 4096 D、 9600

参考答案:(19)C

计算机字长为64位,那么利用位示图表示时每个字能够表示64个物理块的存储情况;磁盘的容量为1024GB,物理块的大小为4MB,则共有1024GB/4MB=1024*1024/4 =(256*1024)个物理块。(注意单位转换)
256*1024个物理块,每64个物理块占用一个字,所以需要256*1024/64=4096个字。

● 某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取出产品消费,用P、V操作实现进程间的同步模型如下图所示。假设信号量S1 的初值为1,信号量S2的初值为0,那么a、b、c处应分别填(20)

img

(20) A、V(S2)、P(S1)、V(S1)

​ B、V(S2)、P(S2)、V(S1)

​ C、P(S2)、V(S1)、V(S2)

​ D、P(S2)、V(S2)、V(S1)

参考答案:(20)B

S2初值为0,表示的是产品资源。 S1 初值为1,表示的是缓冲区空间资源。

根据图示,P1进程完成之后会放入缓冲区一个产品,下一步是通知P2消费者可以取产品,因此a空填写V(S2); P2 消费者取产品前需要检查是否有产品,因此b填写P(S2);P2取走产品后,缓冲区空闲,可以通知生产者继续生产产品,因此c空填写V(S1)。

● 设备驱动程序是直接与(21)打交道的软件模块。

(21) A、应用程序 B、数据库 C、编译程序 D、硬件

参考答案:(21)D

● 以下关于编译和解释的叙述中,正确的为(22)

① 编译是将高级语言源代码转换成目标代码的过程

② 解释是将高级语言源代码转换为目标代码的过程

③ 在编译方式下,用户程序运行的速度更快

④ 在解释方式下,用户程序运行的速度更快

(22) A、①③ B、①④ C、②③ D、②④

参考答案:(22)D

两种语言处理程序的根本区别是:在编译方式下,机器上运行的是与源码程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程,程序运行速度快;而在解释方式下,解释程序和源程序(或其某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序,边解释边执行,程序运行速度慢。

●函数调用和返回控制是用(23)实现的。

(23) A、哈希表 B、符号表 C、栈 D、优先队列

参考答案:(23)C

●通用的高级程序设计语言一般都会提供描述数据、运算、控制和数据传输的语言成分,其中,控制包括顺序、(24)和循环结构。

(24) A、选择 B、递归 C、递推 D、函数

参考答案:(24)A

●以下关于系统原型的叙述中,不正确的是(25)

(25) A、可以帮助导出系统需求并验证需求的有效性

​ B、可以用来探索特殊的软件解决方案

​ C、可以用来指导代码优化5

​ D、可以用来支持用户界面设计

参考答案:(25)C

1、原型方法适用于用户需求不清、需求经常变化的情况,可以帮助导出系统需求并验证需求的有效性;
2、探索型原型的目的是弄清目标的要求,确定所希望的特性,并探讨多种方案的可行性,可以用来探索特殊的软件解决方案;
3、原型法能够迅速地开发出一个让用户看得见的系统框架,可以用来支持用户界面设计。
原型法不能用来指导代码优化。

●已知模块A给模块B传递数据结构X,则这两个模块的耦合类型为(26)

(26) A、数据耦合B、公共耦合C、外部耦合D、标记耦合

参考答案:(26)D

数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的。
标记耦合 :一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。本题描述的是标记耦合。
公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。
外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。

●以下关于软件测试的叙述中,正确的是(27)

(27) A、软件测试的目的是为了证明软件是正确的

​ B、软件测试是为了发现软件中的错误

​ C、软件测试在软件实现之后开始,在软件交付之前完成

​ D、如果对软件进行了充分的测试,那么交付时软件就不存在问题了

参考答案:(27)B

●数据流图建模应遵循(28)的原则。

(28)A、自顶向下、从具体到抽象

​ B、自顶向下、从抽象到具体

​ C、自底向上、从具体到抽象

​ D、自底向上、从抽象到具体

参考答案:(28)B

数据流图是结构化分析的工具,结构化方法就是采用自顶向下逐层分解的思想进行分析建模的。随着分解层次的增加,抽象的级别也越来越低,即越来越接近问题的解。数据流图建模应遵循:自顶向下、从抽象到具体的原则。

●浏览器开启了无痕浏览模式后,(29)依然会被保存下来。

(29)A、浏览历史 B、搜索历史 C、已下载文件 D、临时文件

参考答案:(29)C

无痕浏览是指不留下上网浏览记录的互联网浏览方式。在隐私浏览过程中,浏览器不会保存任何浏览历史、搜索历史、下载历史、表单历史、Cookie或Internet临时文件。

●下列网络互连设备中,工作在物理层的是(30)

(30)A、交换机 B、集线器 C、路由器 D、网桥

参考答案:(30)B

物理设备 OSI模型 传输的数据单位 主要功能
中继器 物理层 位(比特流) 实现局域网网段互连的,用于扩展局域网网段的长度
集线器 物理层 位(比特流) 多路中继器
网桥 数据链路层 连接两个不同的网段,对帧进行过滤与转发
二层交换机 数据链路层 多端口网桥,按物理地址对帧进行数据转发
三层交换机 数据链路层/网络层 帧/数据包 在二层交换机的基础上增加了部分网络层的功能
路由器 网络层 数据包 连接不同的子网,根据IP地址进行路由选择与数据的分组交换
网关 应用层 报文 进行协议转换,可以使不同类型的网络系统之间进行通信

●当出现网络故障时,一般应首先检查(31)

(31)A、系统病毒 B、路由配置 C、物理连通器 D、主机故障

参考答案:(31)C

●TCP和UDP协议均提供了 (32)能力。

(32)A、连接管理 B、差错校验和重传 C、流量控制 D、端口寻址

参考答案:(32)D

TCP和UDP均提供了端口寻址功能。连接管理、差错校验和重传以及流量控制均为TCP的功能。
UDP是一种不可靠的、无连接的协议,没有连接管理能力,不负责重新发送丢失或出错的数据消息,也没有流量控制的功能。

●数据模型的三要素中不包括(33)

(33)A、数据结构 B、数据类型 C、数据操作 D、数据约束

参考答案:(33)D

数据模型的三要素中包括数据结构、数据操作和数据约束。

●某本科髙校新建教务管理系统,支撑各学院正常的教学教务管理工作。经过初步分析,系统中包含的实体有学院、教师、学生、课程等。考虑需要将本科学生的考试成绩 及时通报给学生家长,新增家长实体;考虑到夜大、网络教育学生管理方式的不同,需要 额外的管理数据,新增进修学生实体:规定一个学生可以选择多门课程,每门课程可以被 多名学生选修;一个教师可以教授多门课程,一门课程只能被一名教师讲授。(34)实体 之间为多对多联系,(35)属于弱实体对强实体的依赖联系。

(34)A、学生、学院 B、教师、学院 C、学生、课程 D、教师、课程

(35)A、家长、学生 B、学生、教师 C、学生、学院 D、教师、学院

参考答案:(34)C(35)A

●给定关系模式如下,学生(学号,姓名,专业),课程(课程号,课程名称),选课(学 号,课程号,成绩)。查询所有学生的选课情况的操作是(36);查询所有课程的选修情况的操作是(37)

(36)A、学生JOIN选课 B、学生LEFT JOIN选课

​ C、学生RIGHT JOIN选课 D、学生FULL JOIN选课

(37)A、选课JOIN课程 B、选课LEFT JOIN课程

​ C、选课RIGHT JOIN课程D、选课FULL JOIN课程

参考答案:(36)B(37)C

●关系代数表达式的查询优化中,下列说法错误的是(38)

(38)A、提早执行选择运算

​ B、合并乘积与其后的选择运算为连接运算

​ C、如投影运算前后存在其它的二目运算,应优先处理投影运算

​ D、存储公共的子表达式,避免重新计算

参考答案:(38)C

如投影运算前后存在其它的二目运算,应结合起来以避免重复扫描

●给定关系R(A,B, C,D)与S(C,D, E,F),则R x S与R▷◁S操作结果的属性个数分别为(39);与表达式π2,3,4(δ2<5(R▷◁S))等价的SQL语句如下:

SELECT R. B, R. C, R. D FROM R, S WHERE (40)

(39)A、 8, 6 B、 6, 6 C、 8, 8 D、 7, 6

(40)A、 R. OS. C OR R. D=S. D OR R. B<S. C

​ B、 R. C=S. C OR R. D=S. D OR R. B<S. E

​ C、 R. C=S. C AND R. D=S. D AND R. B<S. C

​ D、 R. C=S. C AND R. D=S. D AND R. B<S. E

参考答案:(39)A(40)D

●某企业人事管理系统中有如下关系模式,员工表Emp(eno, ename, age, sal, dname),属性分别表示员工号、员工姓名、年龄、工资和部门名称;部门表Dept(dnatne,phone),属性分别表示部门名称和联系电话。需要查询其它部门比销售部门(Sales)所有员工年龄都要小的员工姓名及年龄,对应的SQL语句如下:

SELECT ename, age FROM Emp

WHERE age (41)

(SELECT age FROM Emp WHERE dname=, Sales’ ) AND (42)

(41)A、<ALL B、<ANY C、IN D、EXISTS

(42)A、dname=’Sales’ B、dname<>’Sales’ C、dname<’Sales’ D、dname>’Sales’

参考答案:(41)A(42)B

● 对分组查询结果讲行筛选的是(43),其条件表达式中可以使用聚集函数。

(43)A、 WHERE 子句 B、 GROUP BY 子句

​ C、 HAVING 子句 D、 ORDER BY 子句

参考答案:(43)C

● 授权语句GRANT中,以下关于WITH GRANT OPTION子句的叙述中,正确的是(44)

(44)A、用于指明该授权语句将权限赋给全体用户

​ B、用于指明授权语句中,该用户获得的具体权限类型

​ C、用于指明授权语句中,获得授权的具体用户是谁

​ D、用于指明获得权限的用户还可以将该权限赋给其他用户

参考答案:(44)D

● 以下有关触发器的叙述中,不正确的是(45)

(45)A、触发器可以执行约束、完整性检查

​ B、触发器中不能包含事务控制语句

​ C、触发器不能像存储过程一样,被直接调用执行

​ D、触发器不能在临时表上创建,也不能引用临时表

参考答案:(45)B

触发器不能在临时表上创建,但可以引用临时表。

● 以下关于最小函数依赖集的说法中,不正确的是(46)

(46)A、不含传递依赖 B、不含部分依赖 C、每个函数依赖的右部都是单属性 D、每个函数依赖的左部都是单属性

参考答案:(46)D

最小函数依赖集左侧没有冗余的属性,右侧只有一个属性

● 对于关系模式R (X, Y, Z, W),下面有关函数依赖的结论中错误的是(47)

(47)A、若 X→Y, WY→Z,则 WX→Z B、若 XY→Z,则 X→Z

​ C、若 X→Y,Y→Z,则 X→Z D、若 X→YZ,则 X→Z

参考答案:(47)B

● 关系模式R<{A, B, C}, {AC-B, B-C}>的候选码之一是(48);由于该模式存在主属性对码的部分函数依赖,其规范化程度最高属于(49)

(48)A、A B、AB C、ABC D、以上都不是

(49)A、INF B、2NF C、3NF D、BCNF

参考答案:(48)B(49)C

本题候选码为AB和AC两个。
主属性为ABC,没有非主属性,所以不存在非主属性对码的部分函数依赖和传递函数依赖,至少满足3NF,又因为存在主属性对码的部分函数依赖,因此不满足BCNF。

● 将一个关系r分解成两个关系rl和r2,再将分解之后的两个关系rl和r2进行自然连接,得到的结果如果比原关系r记录多,则称这种分解为(50)

(50)A、保持函数依赖的分解 B、不保持函数依赖的分解

​ C、无损连接的分解 D、有损连接的分解

参考答案:(50)D

无损连接分解:指将一个关系模式分解成若干个关系模式后,通过自然连接和投影等运算仍能还原到原来的关系模式,本题题干描述与之相悖,因此,是有损分解。

● 用于提交和回滚事务的语句为(51)

(51)A、END TRANSACTION 和 ROLLBACK TRANSACTION

​ B、COMMIT TRANSACTION 和 ROLLBACK TRANSACTION

​ C、SAVE TRANSACTION 和 ROLLUP TRANSACTION

​ D、COMMIT TRANSACTION 和 ROLLUP TRANSACTION

参考答案:(51)B

● 并发操作可能带来的数据不一致性有(52),解决的办法是并发控制,主要技术是(53)

(52)A、丢失修改、不可重复读、读脏数据

​ B、丢失修改、死锁、故障

​ C、丢失修改、不可重复读、冗余

​ D、故障、死锁、冗余

(53)A、加密 B、封锁 C、转储 D、审计

参考答案:(52)A(53)B

● 如果事务T获得了数据项R上的共享锁,则T对R(54)

(54)A、只能读不能写 B、只能写不能读

​ C、即可读又可写 D、不能读不能写

参考答案:(54)A

● 将具有特定功能的一段SQL语句(多于一条)在数据库服务器上进行预先定义并编译,以供应用程序调用,该段SQL程序可被定义为(55)

(55)A、事务 B、触发器 C、视图 D、存储过程

参考答案:(55)D

● 下面说法错误的是(56)。

(56)A、存储过程中可以包含流程控制

​ B、存储过程被编译后保存在数据库中

​ C、用户执行SELECT语句时可以激活触发器

​ D、触发器由触发事件激活,并由数据库服务器自动执行

参考答案:(56)C

触发器是存储在服务器中的程序单元,当数据库中某些事件发生时(比如insert\update\delete),数据库自动启动触发器,执行触发器中的相应操作。

● 数据库系统应该定期备份,如果备份过程中仍有更新事务在运行,则备份结果是不一致的,这种备份称为(57)

(57)A、动态备份 B、静态备份 C、增量备份 D、日志备份

参考答案:(57)A

冷备份也称为静态备份,是将数据库正常关闭,在停止状态下,将数据库的文件全部备份(复制)下来。
热备份也称为动态备份,是利用备份软件,在数据库正常运行的状态下,将数据库中的数据文件备份出来。
完全备份:备份所有数据
差量备份:仅备份上一次完全备份之后变化的数据
增量备份:备份上一次备份之后变化的数据

● 关于日志文件,下列说法错误的是(58)

(58) A、保存了更新前的数据 B、保存了更新后的数据

​ C、无需其它文件可恢复事务故障 D、无需其它文件可恢复介质故障

参考答案:(58)D

介质故障(称为硬件故障)
是指外存故障,例如磁盘损坏、磁头碰撞,瞬时强磁场干扰等
这类故障将破坏数据库或部分数据库,并影响正在存取这部分数据的所有事务,日志文件也被破坏
恢复步骤:
①装入最新的数据库后备副本,使数据库恢复到最近一次转储时的一致性状态。
②转入相应的日志文件副本,重做已完成的事务
介质故障的恢复需要DBA的介入,具体的恢复操作仍由DBMS完成。
恢复过程:
①DBA只需要重装最近转储的数据库副本和有关的各日志文件副本。
②然后执行系统提供的恢复命令。

● 如果某一事务程序的运行导致服务器重新启动,这类故障属于系统故障,恢复过程中需要根据日志进行的操作为(59)

(59)A、 UNDO B、 UNDO 和 REDO

​ C、 REDO D、 ROLLBACK

参考答案:(59)B

系统故障恢复需要撤销故障发生时未完成的事务(UNDO),重做已经完成的事务(REDO)。

● 下面说法中错误的是(60)

(60)A、并发事务如果不加控制,可能会破坏事务的隔离性

​ B、可串行化调度是正确的调度

​ C、两段锁协议能够保证可串行化调度

​ D、两段锁协议能够确保不会产生死锁

参考答案:(60)D

● 在设计关系模式时,有时为了提高数据操作的性能,会故意增加冗余数据,使得 关系模式不满足3NF或BCNF,这种方法称之为反规范化,下列不属于反规范化手段的是(61)

(61)A、合并模式 B、增加冗余属性

​ C、创建视图 D、增加派生属性

参考答案:(61)C

反规范化常见手段:
增加派生性冗余列、增加冗余列、重新组表、分割表。

● 在索引改进中,一般的调整原则是:当(62)是性能瓶颈时,则在关系上建立索引;当(63)是性能瓶颈时,则考虑删除某些索引;管理人员经常会将有利于大多数据查询的所以设为(64)

(62)A、查询 B、更新 C、排序 D、分组计算

(63)A、查询 B、更新 C、排序 D、分组计算

(64)A、树索引 B、位图索引C、散列索引 D、聚族索引

参考答案:(62)A(63)B(64)D

● 在数据库系统运行中,经常会找出频繁执行的SQL语句进行优化。常见的优化策略有:尽可能减少多表查询或建立(65);用带(66)的条件子句等价替换OR子句; 只检索需要的属性列等。

(65)A、视图 B、物化视图 C、外键约束 D、临时表

(66)A、IN B、EXISTS C、UNION D、AND

参考答案:(65)B(66)A

常见的优化策略:

尽可能地减少多表查询或建立物化视图

以不相关子查询替代相关子查询

只检索需要的列

用带IN的条件子句等价替换OR子句

● 以下有关数据库审计的叙述中,错误的是(67)

(67)A、审计记录数据库资源和权限的使用情况

​ B、审计可以防止对数据库的非法修改

​ C、审计操作会影响系统性能

​ D、审计跟踪信息会扩大对存储空间的要求

参考答案:(67)B

审计是一种DBMS工具,审计的工作是记录和追踪,不能防止对数据库的非法修改。

●以下关于大数据的叙述中,错误的是(68)

(68)A、大数据的数据量巨大 B、结构化数据不属于大数据

​ C、大数据具有快变性 D、大数据具有价值

参考答案:(68)B

(69)不是目前NoSQL数据库产品的数据模型。

(69)A、图模型 B、文档模型 C、键值存储模型 D、层次模型

参考答案:(69)D

● 以下关于NoSQL数据库的说法中,正确的是(70)

(70) A、NoSQL数据库保证BASE特性

​ B、NoSQL数据库保证ACID特性

​ C、各种NoSQL数据库具有统一的架构

​ D、NoSQL数据库经常使用JOIN操作

参考答案:(70)A

NoSQL数据库保证的是BASE特性,而不是ACID特性

● The entity-relationship (E-R) data model is based on a perception of a real world that consists of a collection of basic objects, called (71),and of relationships among these objects. An entity is a “thing” or “object” in the real world that is distinguishable from other objects. Entities are described in a database by a set of (72) . A relationship is an association among several entities. The set of all entities of the same type and the set of all relationships of the same type are termed an entity set and relationship set, respectively. The overall logical structure (schema) of a database can be expressed graphically by an E-R diagram, which is built up from the following components: (73) represent entity set, (74) represent attributes, etc. In addition to entities and relations, the E-R model represents certain(75) to which the contents of a database must conform. The entity-relationship model is widely used in database design.

(71)A、 data B、 things C、 entities D、 objects

(72)A、 keys B、 attributes C、records D、 Rows

(73)A、 rectangles B、 ellipses C、 diamonds D、 lines

(74)A、 rectangles B、 ellipses C、 diamonds D、 lines

(75)A、 things B、 objects C、 conditions D、 constrains

参考答案:(71)C (72)B (73)A (74)B(75)D

实体-关系(E-R)数据模型基于对现实世界的感知而言,该现实世界由一组基本对象(称为实体)和这些对象之间的关系组成。实体是现实世界中与其他对象相区别的“事务”或“对象”。实体在数据库中由一组属性描述。关系是几个实体之间的关联。同一类型的所有实体的集合和同一类型的所有关系的集合分别称为实体集和关系集。数据库的总体逻辑结构(设计)可以用E-R图图形化表示,E-R图由以下组件组成:矩形表示实体集,椭圆表示属性等。除了实体和关系之外,E-R模型还表示数据库内容必须符合的某些约束。E-R模型在数据库设计中得到了广泛的应用。

应用技术

试题一:阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】

学校欲开发一学生跟踪系统,以更自动化、更全面地对学生在校情况(到课情况和健康状态等相关信息)进行管理和追踪,使家长能及时了解子女的到课情况和健康状态,并在有健康问题时及时与医护机构对接。该系统的主要功能是:

(1)采集学生状态。通过学生卡传感器,采集学生心率、体温(摄氏度)等健康指标及其所在位置等信息并记录。每张学生卡有唯一的标识(ID)与一个学生对应。

(2)健康状态告警。在学生健康状态出现向题时,系统向班主任、家长和医护机构健康服务系统发出健康状态警告,由医护机构健康服务系统通知相关医生进行处理。

(3)到课检查。综合比对学生状态、课表以及所处校园场所之间的信息对学生到课情况进行判定。对旷课学生,向其家长和班主任发送旷课警告。

(4)在校情况汇总。定期汇总在校情况,并将报告发送给家长和班主任。

(5)家长注册。家长注册使用该系统,指定自己子女,经学校管理人员审核后,向 家长发送注册结果。

(6)基础信息管理。学校管理人员对学生及其所用学生卡和班主任、课表(班级、 上课时间及场所等)、校园场所(名称和所在位置区域)等基础信息进行管理,对家长注册申请进行审核,将家长ID加入学生信息记录中使家长与其子女进行关联,一个学生至少有一个家长,可以有多个家长。课表信息包括班级、班主任、时间和位置等。

现采用结构化方法对学生跟踪系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。

img

问题内容:

【问题1】(5分)

使用说明中的词语,给出图1-1中的实体E1〜E5的名称。

参考答案:E1:学生 E2:学校管理人员 E3:班主任 E4:家长 E5: 医护机构健康服务系统

根据题干描述,与P5采集学生状态相关的是实体E1即学生;与P5家长注册相关的是实体E4 即家长;与P4汇总在校情况相关的是实体 E4家长与实体E3,即班主任;与P2健康状态告警相关是实体E3班主任、 E4家长,以及 E5即医护机构健康服务系统;与P6基础信息管理相关的是实体E2即学校管理人员。

【问题2】(4分)

使用说明中的词语,给出图1-2中的数据存储D1〜D4的名称。

参考答案:D1:学生状态信息表 D2:学生基础信息表 D3:校园场所信息表 D4:课表

“通过学生卡传感器,采集学生心率、体温(摄氏度)等健康指标及其所在位置等信息并记录”记录学生状态信息,即D1学生状态记录表;

“学校管理人员对学生及其所用学生卡和班主任、课表(班级、 上课时间及场所等)、校园场所(名称和所在位置区域)等基础信息进行管理”,即D4课表信息记录,D3校园场所记录,D2学生基础信息记录。

【问题3】(3分)

根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点(三条即可)。

参考答案:

数据流 起点 终点
课表信息 D4 P3
校园场所信息 D3 P3
关联家长 ID P6 D2

综合题干分析,“到课检查。综合比对学生状态、课表以及所处校园场所之间的信息对学生到课情况进行判定。对旷课学生,向其家长和班主任发送旷课警告。”P3到课检查缺失2条数据流入,分别是课表信息、校园场所信息,起点分别是 D4 、D3,终点是P3。

“对家长注册申请进行审核,更新家长状态,将家长ID加入学生信息记录中使家长与其子女进行关联”此处缺失数据流,家长ID,起点为P6,终点为D2。

【问题4】(3分)

根据说明中术语,说明图1-1中数据流“学生状态”和“学生信息”的组成。

参考答案:

学生状态:学生卡ID、学生心率、体温(摄氏度)等健康指标及其所在位置等信息

学生信息:学生ID、学生卡ID、家长ID、班主任ID、班级

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

【说明】

某创业孵化基地管理若干孵化公司和创业公司,为规范管理创业项目投资业务,需要开发一个信息系统。请根据下述需求描述完成该系统的数据库设计。

【需求描述】

(1)记录孵化公司和创业公司的信息。孵化公司信息包括公司代码、公司名称、法人代表名称、注册地址和一个电话;创业公司信息包括公司代码、公司名称和一个电话。 孵化公司和创业公司的公司代码编码不同。

(2)统一管理孵化公司和创业公司的员工。员工信息包括工号、身份证号、姓名、 性别、所属公司代码和一个手机号,工号唯一只每位员工。

(3)记录投资方信息,投资方信息包括投资方编号、投资方名称和一个电话。

(4)投资方和创业公司之间依靠孵化公司牵线建立创业项目合作关系,具体实施由孵化公司的一位员工负责协调投资方和创业公司的一个创业项目。一个创业项目只属于一个创业公司,但可以接受若干投资方的投资。创业项目信息包括项目编号、创业公司代码、 投资方编号和孵化公司员工工号。

【概念模型设计】

根据需求阶段收集的信息,设计的实体联系图(不完整)如图2-1所示。

img

【逻辑结构设计】

根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):

孵化公司(公司代码,公司名称,法人代表名称,注册地址,电话)

创业公司(公司代码,公司名称,电话)

员工(工量,身份证号,姓名,性别,(a),手机号)

投资方(投资方编号、投资方名称,电话)

项目(项目编号,创业公司代码,(b),孵化公司员工工号)

问题内容:

【问题1】(5分)

根据问题描述,补充图2-1的实体联系图。

参考答案:

(1)根据题干描述,“统一管理孵化公司和创业公司的员工”,图示给出孵化公司与员工1:*的联系,需要补充创业公司与员工1:*的联系;
(2)根据题干描述,“具体实施由孵化公司的一位员工负责协调投资方和创业公司的一个创业项目。”这里有一个三元联系,联系的实体应该是员工、投资方和创业公司,这个联系就是图示中的“项目”,三方之间为1:*:1联系。

【问题2】(4分)

补充逻辑结构设计结果中的(a)、(b)两处空缺及完整性约束关系。

参考答案:

(a)公司代码

(b)投资方编号

完整性约束

(a)主键:工号 外键:公司代码

(b)主键:项目编号 外键:投资方编号、创业公司代码、孵化公司员工工号

根据题干描述“创业项目信息包括项目编号、创业公司代码、投资方编号和孵化公司员工工号。”结合关系模式:
项目(项目编号,创业公司代码,(b),孵化公司员工工号) ,缺少的部分为投资方编号。根据一般情况,这里的项目编号是针对单个项目而来,又因为“具体实施由孵化公司的一位员工负责协调投资方和创业公司的一个创业项目。一个创业项目只属于一个创业公司,但可以接受若干投资方的投资。” 所以本关系中每个创业项目只对应一个创业公司,一个员工协调,但可以对应多个投资方,因此项目关系的主键为(项目编号,投资方编号)组合键。创业公司代码是创业公司主键,投资方编号是投资方主键,孵化公司员工工号是员工主键,因此本关系存在投资方编号、创业公司编号、孵化公司员工工号三个外键。

【问题3】(6分)

若创业项目的信息还需要包括投资额和投资时间,那么:

(1)是否需要增加新的实体来存储投资额和投资时间?

(2)如果增加新的实体,请给出新实体的关系模式,并对图2-1进行补充。如果不需 要增加新的实体,请将“投资额”和“投资时间”两个属性补充并连线到图2-1合适的对象上,并对变化的关系模式进行修改。

参考答案:

关系本身可以具有属性,根据题目要求,创业项目的信息还需要包括投资额和投资时间,这些内容可以直接添加到项目关系上,本题项目关系主键为(项目编号,投资方)组合键,可以据此添加投资额和投资时间,因此不需要增加实体,可以直接在项目关系模式中增加这2个属性即可。

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

【说明】

某快递公司对每个发出的快递进行跟踪管理,需要建立一个快递跟踪管理系统,对该公司承接的快递业务进行有效管理。

【需求描述】

1.公司在每个城市的每个街道都设有快递站点。这些站点负责快递的接收和投递。站点信息包括站点地址、站点名称、责任人、一部联系电话、开始营业时间、结束营业时间。 每个站点每天的营业时间相同。每个站点只能有一个责任人。

2.系统内需记录快递员、发件人的基本信息。这些信息包括姓名、身份证号、一个联系地址、一部联系电话。快递站点的责任人由快递员兼任,且每个快递站点只有一个责任人。每个快递员只负责一个快递站点的揽件和快递派送业务。发件人和快递员需实名认证。

3.快递需要提供详实的信息,包括发件人姓名、身份证号、一部发件人电话号码、发件人地址、收件站点、收件人姓名、收件地址、一部收件人电话、投递时间、物品类别、 物品名称及物品价值。每个发件人和收件人在系统里只能登记一个电话和地址。

4.每个快递员接手一份快递后,需在系统中录入每个快递的当前状态信息,包括当前位置、收到时间、当前快递员和上一段快递员。状态信息包括待揽件、投递中、已签收。 如果快递己签收,应记录签收人姓名及一个联系电话。每个快递在一个站点只能对应一个负责的快递员。

注:试题不需要考虑快递退回的相关问题。

【逻辑结构设计】

根据上诉需求需求,设计出如下关系模式:

快递(快递编号,收件人姓名,收件地址编号,收件人电话,投递时间,物品类别,物品名称,物品价值),其中收件地址编号是地址实体的地址编号。

快递员(姓名,身份证号,电话号码,联系地址编号,工作站点编号)

快递站点(站点编号,站点名称,责任人编号,站点地址编号,开始营业时间,联系电话,结束营业时间)。责任人编号是负责该站点的快递员的身份证号。

地址(地址编号,所在省,所在市,所在街道,其他),其他信息是需补充的地址信息。

快递投递(快递编号,快递员编号,发件人姓名,发件人身份证号,发件人电话号码, 发件人地址编号),其中发件人地址编号为发件人地址的地址编号,揽件站点编号为接收该快递的站点编号。

快递跟踪(快递编号,当前负责人编号,前一负责人编号,当前状态,收到时间, 当前站点编号)。

快递签收(快递编号,签收人姓名,签收人联系电话)。

问题内容:

根据以上描述,回答下列问题:

【问题1】(6分)

对关系“快递投递”,请回答以下问题:

(1) 列举出所有候选键。

(2) 它是否为3NF,用100字以内文字简要叙述理由。

(3) 将其分解为BCNF,分解后的关系名依次为:快递投递1,快递投递2,…,并 用下划线标示分解后各关系模式的主键。

参考答案:

候选键:快递编号

不是3NF,快递投递关系模式存在非主属性对码“快递编号”的传递函数依赖,如快递编号→发件人身份证号,发件人身份证号→(发件人姓名,发件人电话号码,发件人地址编号);

快递投递1(发件人身份证号,发件人姓名,发件人电话号码,发件人地址编号)
快递投递2(快递编号,快递员编号,发件人身份证号)

【问题2】(6分)

对关系“快递跟踪”,请回以下问题:

(1) 列举出所有候选键。

(2) 它是否为2NF,用100字以内文字简要叙述理由。

(3) 将其分解为BCNF,分解后的关系名依次为:快递跟踪1,快递跟踪2,…,并 用下划线标示分解后各关系模式的主键。

参考答案:

候选键:(快递编号,当前负责人编号)

不是2NF,快递追踪关系模式存在非主属性对码的部分函数依赖,如当前负责人编号→当前站点编号

快递追踪1(快递编号,当前快递员编号,前一负责人编号,当前状态,收到时间)
快递追踪2(当前快递员编号,当前站点编号)

其实'当前站点编号'已经在站点信息中出现,并可以通过当前负责人编号查询,无需再用关系模式处理。

【问题3】(3分)

快递公司会根据快递物品和距离收取快递费,每件快递需由发件人或收件人支付快递费给公司。同一个发件人同时发起多个快递,必须分别支付。快递公司提供预支付和到付两种支付方式。为了统计快递费的支付情况(详细金额和时间),试增加“快递费支付”关系模式,用100字以内文字简要叙述解决方案。

参考答案:

快递费支付(支付编号,快递编号,支付方式,支付金额,支付时间,快递员编号,支付人身份证号,支付状态)

根据题干要求,同一个发件人需要对多个快递分别支付,因此需要记录快递编号; 快递公司提供预支付和到付两种支付方式,因此需要记录支付方式;题干指出统计快递费支付情况(详细金额和时间),因此需要记录支付金额和支付时间;对于支付过程,应该由发件人或收件人支付给公司,可以理解为实际操作是公司快递员收取,因此需要记录支付人身份证号,收费人编号(或快递员编号),为了方便统计,还可以增加支付编号,支付状态等属性。

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

【说明】

某学生信息管理系统的部分数据库关系模式如下:

学生:Student ( stuno, stuname, stuage, stusex, schno),各属性分别表示学生的学号、姓名、年龄、性 别,以及学生所属学院的编号;

学院:School ( schno, schname, schstunum ),各属性分别表示学院的编号、名称及学生人数;

俱乐部:Club (clubno,clubname, clubyear, clubloc ),各属性分别表示俱乐部的编号、名称、成立年 份和活动地点;

参加:JoinClub ( stuno, clubno. joinyear ),各属性分别表示学号、俱乐部编号,以及学生加入俱乐部 的年份。

有关关系模式的说明如下:

(1) 学生的性别取值为‘F’和‘M' (F表示女性,M表示男性)。

(2) 删除一个学院的记录时,通过外键约束级联删除该学院的所有学生记录。

(3) 学院表中的学生人数值与学生表中的实际人数要完全保持一致。也就是说,当学生表中增减记录时,就要自动修改相应学院的人数。

问题内容:

根据以上描述,回答下列问题,将SQL语句的空缺部分补充完整。

【问题1】(4分)

请将下面创建学生表的SQL语句补充完整,要求定义实体完整性约束、参照完整性 约束,_以及其他完整性约束。

CREATE TABLE Student (

stuno CHAR(11) (a),

stuname VARCHAR(20),

stuage SMALLINT,

stusex CHAR(1) (b ),

schno CHAR(3) (c) ON DELETE (d));

参考答案:

(a)PRIMARY KEY

(b)CHECK ( stusex IN ('F','M') )

(c)REFERENCES School(schno)

(d)CASCADE

【问题2】(5分)

创建倶乐部人数视图,能统计每个倶乐部已加入学生的人数,属性有clubno> clubname 和clubstunum。对于暂时没有学生参加的俱乐部,其人数为0。此视图的创建语句如下, 请补全。

CREATE VIEW CS_NUMBER ( clubno, clubname, clubstunum ) AS

SELECT JoinClub.clubno, (e) , (f)

FROM JoinClub, Club

WHERE JoinClub.clubno = Club.clubno

(g) BY JoinClub.clubno (h)

SELECT clubno, clubname, 0 FROM Club

WHERE clubno NOT IN

(SELECT DISTINCT clubno FROM (i));

参考答案:

(e)Club.clubname

(f)COUNT(JoinClub.stuno) AS clubstunum

(g)GROUP

(h)UNION

(i)JoinClub

【问题3】(4分)

每当系统中新加或删除一个学生,就需要自动修改相应学院的人数,以便保持系统中学生人数的完整性与一致性。此功能由下面的触发器实现,请补全。

CREATE TRIGGER STU_NUM_TRG AFTER INSERT OR DELETE ON (j)

REFERENCING new row AS nrow, old row AS orow

FOR EACH(k)

BEGIN

​ IF INSERTING THEN

​ UPDATE School (l)

​ END IF;

​ IF DELETING THEN

​ UPDATE School (m);

​ END IF;

END;

参考答案:

(j)Student

(k)row

(l)SET schstunum = schstunum +1 WHERE schno = nrow.schno

(m)SET schstunum = schstunum -1 WHERE schno = orow.schno

【问题4】(2分)

查询年龄小于19岁的学生的学号、姓名及所属学院名,要求输出结果把同一个学院的学生排在一起。此功能由下面的SQL语句实现,请补全。

SELECT stuno, stuname, schname FROM Student, School WHERE Student.schno = School.schno

AND stuage <19 (n) BY (o);

参考答案:

(n)ORDER

(o)schname

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

【说明】某商业银行账务系统的部分关系模式如下:

账户表:Account (ano, aname, balance),其中属性含义分别为:账户号码,账户名称和账户余额。

交易明细表:TranDetails (too, ano, ttime, toptr, amount, ttype),其中属性分别为:交易编号,账户号码,交易时间,交易操作员,交易金额,交易类型(1-存款,2-取款,3-转账)。

余额汇总表:AcctSums (adate, atime, allamt),其中属性分别为:汇总日期,汇总时间,总余额。

常见的交易规则如下:

存/取款交易:操作员核对用户相关信息,在系统上执行存/取款交易。账务系统増加/ 减少该账户余额/并在交易明细表中增加一条存/取款交易明细。

转账交易:操作员核对用户相关信息,核对转账交易账户信息,在系统上执行转账交易。账务系统对转出账户减少其账户余额,对转入账户增加其账户余额,并在交易明细表中增加一条转账交易明细。

余额汇总交易:将账户表中所有账户余额累计汇总。

假定当前账户表中的数据记录如表5-1所示。

img

问题内容:

请根据上述描述,回答以下问题。

【问题1】(3分)

假设在正常交易时间,账户上在进行相应存取款或转账操作时,要执行余额汇总交易。下面是用SQL实现的余额汇总程序,请补全空缺处的代码。要求(不考虑并发性能)在 保证余额汇总交易正确性的前提下,不能影响其他存取款或转账交易的正确性。

CREATE PROCEDURE AcctSum(OUT :Amts DOUBLE)

BEGIN

SET TRANSACTION ISOLATION LEVEL(a);

BEGIN TRANSACTION;

SELECT sum(balance) INTO : Amts FROM Accounts;

if error// error是由DBMS提供的上一句SQL的执行状态

​ BEGIN

​ ROLLBACK;

​ return -2;

​ END

​ INSERT INTO AcctSums

​ VALUES (getDATE(), getTIME(), (b));

​ if error // error是由DBMS提供的上一句SQL的执行状态

​ BEGIN

​ ROLLBACK;

​ return-3;

​ END

​ (c);

END

参考答案:

(a)SERIALIZABLE

(b):Amts

(c)COMMIT

空根据题干要求“要求(不考虑并发性能)在保证余额汇总交易正确性的前提下,不能影响其他存取款或转账交易的正确性。”因此对效率不作要求,对隔离要求比较高,选择SERIALIZABLE方式。
READ UNCOMMITTED
执行脏读或 0 级隔离锁定,这表示不发出共享锁,也不接受排他锁。当设置该选项时,可以对数据执行未提交读或脏读;在事务结束前可以更改数据内的数值,也可以出现在数据集中或从数据集消失。该选项的作用与在事务内所有语句中的所有表上设置 NOLOCK 相同。这是四个隔离级别中限制最小的级别。

READ COMMITTED
指定在读取数据时控制共享锁以避免脏读,但数据可在事务结束前更改,从而产生不可重复读取或幻像数据。该选项是 SQL Server 的默认值。

REPEATABLE READ
锁定查询中使用的所有数据以防止其他用户更新数据,但是其他用户可以将新的幻像行插入数据集,且幻像行包括在当前事务的后续读取中。因为并发低于默认隔离级别,所以只在必要时才使用该选项。

SERIALIZABLE
在数据集上放置一个范围锁,以防止其他用户在事务完成之前更新数据集或将行插入数据集内。这是四个隔离级别中限制最大的级别。因为并发级别较低,所以应只在必要时才使用该选项。该选项的作用与在事务内所有 SELECT 语句中的所有表上设置 HOLDLOCK 相同。
(b)空是对参数的返回。
(c)空是事务正常提交结束,根据前面的格式可以看到,除了确认提交,还需要返回值,此时返回0。

【问题2】(8分)

引入排它锁指令LX()和解锁指令UX(),要求满足两段锁协议和提交读隔离级别。假设在进行余额汇总交易的同时,发生了一笔转账交易。从101账户转给104账户400元。 这两笔事务的调度如表5-2所示。

img

(1)请补全表中的空缺处(a)、(b);

(2)上述调度结束后,汇总得到的总余额是多少?

(3)该数据是否正确?请说明原因。

参考答案:

(a) 阻塞

(b) UX(101),UX(104),提交返回·

不正确

(1)(a)空读取104账户余额时,该数据已被加写锁,因此需要等待转账事务释放锁;(b)空是对锁的释放。
(2)本题主要考查的是,101账户余额在加锁之前已被读取,会影响结果。最终结果应该是500+350+550+600=2000。
(3)问题2的计算结果并不正确,101读取的是原始值而不是实时值,后面被转账事务作了修改。

【问题3】(4分)

在【问题2】的基础上,引入共享锁指令LS()和解锁指令US()。对【问题2】中的调度进行重写,要求满足两段锁协议。两个事务执行的某种调度顺序如表'5-3所示,该调度顺序使得汇总事务和转账事务形成死锁。请补全表中的空缺处(a)、(b)。

img

参考答案:

(a) LX(104),更新104账户余额

(b) LX(101),更新101账户余额

共享锁【S锁】
又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。

排他锁【X锁】
又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修改A。

posted @ 2024-05-22 18:26  王陸  阅读(42)  评论(0编辑  收藏  举报