文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

数据库的2PL两段锁协议与范式

2024-04-02 19:55

关注

1.2PL

2PL定义:1.所有的读写操作之前均需加锁;2.解锁操作后不允许再出现加锁操作;

S锁:加S锁后其他事务可读,不可写,直至加锁事务结束;

X锁:加X锁后其他事务均不可以读或写,直至事务结束;

事务执行的过程分为两个阶段,一是获得封锁阶段,二是释放封锁阶段;2PL可能产生死锁;

2PL可以防止读脏数据、丢失修改等;是事务可串行化的必要条件,不是充分条件;


可串行化:多个操作并发执行时,如不进行并发控制,可能出现错误的结果。但如果把所有并发操作全部串行执行,又失去了并发操作的优势。所以提出了可串行化的概念。可串行性:当且仅当一组事务的交叉执行结果与某一串行执行的执行结果一致时,这组事务具有可串行性;

2.一级锁、二级锁、三级锁

一级锁:所有写操作之前加X锁,事务结束释放,可以防止丢失修改;

二级锁;所有写操作之前加X锁,事务结束释放;所有读操作前加S锁,操作结束释放,可以防止丢失修改和读脏数据;

三级锁:所有写操作之前加X锁,事务结束释放;所有读操作前加S锁,事务结束释放,可以防止丢失修改、读数据和不可重复读;

二、范式

第一范式:属性不可分;

第二范式:所有非主属性完全依赖于码;

第三范式:符合2NF,同时没有传递依赖;

BC范式:符合3NF,且主属性不依赖于主属性;即若R属于1NF,且所有属性不传递依赖于码;每个非平凡依赖关系的左边均包含键码;每个依赖关键的决定因素必须包含键码;

4NF:要求把同一表内的n:m的关系删除;





阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯