【软考-架构】3.3、模式分解-事务并发-封锁协议

✨资料&文章更新✨

GitHub地址:https://github.com/tyronczt/system_architect

文章目录

模式分解(难点)

保持函数依赖分解:分解出来的多个关系模式,保持原来的依赖集不变。

无损分解

无损分解:分解后的关系模式能够还原出原关系模式,就是无损分解,不能还原就是有损。

当分解为两个关系模式,可以通过以下定理判断是否无损分解:

定理:如果R的分解为p={R1,R2},F为R所满足的函数依赖集合,分解p具有无损连接性的充分必要条件是R1 ∩ R2->(R1-R2)或者R1 ∩ R2->(R2-R1)

💯考试真题

候选关键字分析

候选关键字的求法:根据依赖集,找出从未在右边出现过的属性,必然是候选键之一,以该属性为基础,根据依赖集依次扩展,看能否遍历所有属性,将无法遍历的加入候选键中。

  • 属性集 U={A,B,C,D,E},函数依赖集 F={B→A,D→A,A→E,AC→B}。
  • 候选键需满足 :能推导出所有属性且极小。
    • CD 是候选键:
  • CD→D→A→E,且 AC→B(通过 C∈CD 和 A∈D+)。
    • 其他组合(如 BC、AC)无法推导出所有属性。
  • 结论:候选关键字为 A(选项 A:CD)。

无损性判断

公式:R1 ∩ R2->(R1-R2)或者R1 ∩ R2->(R2-R1)

R1 ∩ R2 = C ; R1-R2 = ABE ; R2-R1 = D;

C → ABE & C → D 都不成立,所以为有损分解;

函数依赖

原依赖 D→A 无法在 R1 或 R2 中保留(因 D 仅在 R2,而 A 不在 R2),依赖未完全保持。

最终答案

  • 候选关键字:A. CD
  • 分解性质:D. 不具有无损连接性,也不保持函数依赖

并发控制

原子性、一致性、隔离性、持续性。

封锁协议

X锁是排它锁(写锁)。若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他事务都不能再对A加任何类型的锁,直到T释放A上的锁。

S锁是共享锁(读锁)。若事务T对数据对象A加上S锁,则只允许T读取A,但不能修改A,其他事务只能再对A加S锁(也即能读不能修改),直到T释放A上的S锁。

💯考试真题

第一题

答案:C

第二题

排他锁(X锁)是独占锁,禁止其他所有锁;共享锁(S锁)允许其他共享锁,但禁止排他锁。

答案:D、C

相关推荐
匠在江湖1 小时前
裸机单片机任务调度器实现:基于规范分层(COM/APP/SRV/DRV)架构,(附 任务调度器 / 微秒延时函数 / 串口重定向 源码)
单片机·嵌入式硬件·架构
gaize12131 小时前
服务器怎么选择与配置才能满足企业需求?
运维·服务器·架构
加个鸡腿儿2 小时前
经验分享2:SSR 项目中响应式组件的闪动陷阱与修复实践
前端·css·架构
一条咸鱼_SaltyFish2 小时前
[Day15] 若依框架二次开发改造记录:定制化之旅 contract-security-ruoyi
java·大数据·经验分享·分布式·微服务·架构·ai编程
早日退休!!!4 小时前
ARM A核、ARM M核、X86与RISC-V架构:寄存器作用及上下文处理差异报告
arm开发·架构·risc-v
数说星榆1814 小时前
在线高清泳道图制作工具 无水印 PC
大数据·人工智能·架构·机器人·流程图
万岳科技系统开发5 小时前
开源跑腿系统源码整体架构解析:从下单到配送的完整流程
架构
乾元5 小时前
现场运维机器人的工程化落地——移动探针采集 + AI 诊断,在真实网络中的实现路径
运维·网络·人工智能·架构·机器人·自动化
自燃人~5 小时前
RocketMQ 架构与设计原理
架构·rocketmq
一线大码5 小时前
服务端架构的演进与设计
后端·架构·设计