软考:中级软件设计师:数据库并发控制,完整性约束,数据库安全

软考:中级软件设计师:数据库并发控制

提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性

关于互联网大厂的笔试面试,都是需要细心准备的
(1)自己的科研经历,科研内容,学习的相关领域知识,要熟悉熟透了
(2)自己的实习经历,做了什么内容,学习的领域知识,要熟悉熟透了
(3)除了科研,实习之外,平时自己关注的前沿知识,也不要落下,仔细了解,面试官很在乎你是否喜欢追进新科技,跟进创新概念和技术
(4)准备数据结构与算法,有笔试的大厂,第一关就是手撕代码做算法题
面试中,实际上,你准备数据结构与算法时以备不时之需,有足够的信心面对面试官可能问的算法题,很多情况下你的科研经历和实习经历足够跟面试官聊了,就不需要考你算法了。但很多大厂就会面试问你算法题,因此不论为了笔试面试,数据结构与算法必须熟悉熟透了
秋招提前批好多大厂不考笔试,直接面试,能否免笔试去面试,那就看你简历实力有多强了。
(5)考网警的大佬,务必把软考:中级软件设计师的内容学好学透,学广,学多


文章目录

  • 软考:中级软件设计师:数据库并发控制
    • @[TOC](文章目录)
  • 软考:中级软件设计师:数据库并发控制
  • 封锁协议
  • 数据库的完整性约束
  • 数据库安全
  • 总结

软考:中级软件设计师:数据库并发控制

事务
软考:中级软件设计师:数据库并发控制,完整性约束,数据库安全_第1张图片
银行转账
转出方,转入方
俩 不能独立,必须联动
我转出,拟转入,必须完成,一个完不成都不行这就是一致性
原子性,就是不可拆分哦,原子性
隔离性:别人跟我无关?事务之间独立,互不影响
干完就不能更变了。持续性

软考:中级软件设计师:数据库并发控制,完整性约束,数据库安全_第2张图片

软考:中级软件设计师:数据库并发控制,完整性约束,数据库安全_第3张图片
右上角,1步骤干了
2步骤干,实际上2步骤干完-8之后,把3步骤的-5覆盖了结果
所以最后其实是=2

-5那个地方虽然是有个结果为5
但是被-8那的结果覆盖了
这就是更新出错的问题
丢失更新

不可重复读
软考:中级软件设计师:数据库并发控制,完整性约束,数据库安全_第4张图片
由于另一个事务把A操作了编程了70

你T1想再验证这个东西是不行的
结果不可重复读

读脏数据,你一个事务搞数据,被别的数据骚了
软考:中级软件设计师:数据库并发控制,完整性约束,数据库安全_第5张图片
尤其是T1它rollback了,则gg
你T2没啥用啊

为了解决这些问题

封锁协议

软考:中级软件设计师:数据库并发控制,完整性约束,数据库安全_第6张图片
T1先加锁再读取A,这样T2没法读哦
防止丢失修改

![在这里插入图片描述](https://img-
软考:中级软件设计师:数据库并发控制,完整性约束,数据库安全_第7张图片
23级封锁协议

串行玩,两段缩,但是容易死锁

数据库的完整性约束

软考:中级软件设计师:数据库并发控制,完整性约束,数据库安全_第8张图片
主键:它有特定的约束——唯一,不可null

参照完整性,部门号这种,参照部门的那些数据,超出原则不行哦

用户自定义,默认,范围,等等控制一波

好说

触发器,写脚本来约束数据的要求,复杂一点

数据库安全

软考:中级软件设计师:数据库并发控制,完整性约束,数据库安全_第9张图片
不同级别的用户,是可以做权限控制的
防止他们乱搞

远程的时候,有密码加密玩

view,限定操作,最好是只能查看,不要更新删除,它会操作原表格


总结

提示:重要经验:

1)
2)
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

你可能感兴趣的:(软件工程,国考,oracle,数据库,安全,完整性约束,并发控制,事务的原子性)