数据库-MySQL相关

本文介绍了数据库的基础概念,包括事务的原子性、一致性、隔离性和持久性,以及不同隔离级别的含义。此外,还讲解了第一、二、三范式,帮助读者掌握数据结构的规范化。
摘要由CSDN通过智能技术生成

了解数据库的基础概念,能手撕 SQL语句,特别是联表查询


数据库事务及其特性

事务(transaction)是指构成单一逻辑工作单元的操作集合,并且所有操作要么全部执行成功,否则全部失败回滚。

事务具有四个特性:原子性,一致性,隔离性和持久性

特性(ACID):

  • 原子性(Atomicity):事务是不可分割的操作单元,事务的所有操作要么全部提交成功,要么全部失败回滚(用回滚日志实现,反向执行日志中的操作);

  • 一致性(Consistency):事务的执行必须使数据库保持一致性状态;在一致性状态下,所有事务对一个数据的读取结果都是相同的;

  • 隔离性(Isolation):一个事务所做的修改在最终提交以前,对其它事务是不可见的(并发执行的事务之间不能相互影响);

  • 持久性(Durability):一旦事务提交成功,对数据的修改是永久性的

数据库的隔离级别

隔离级别

  • 未提交读(Read Uncommited):在一个事务提交之前,它的执行结果对其它事务也是可见的,会导致脏读、不可重复读、幻读;

  • 提交读(Read Commited):一个事务只能看见已经提交的事务所作的修改,可避免脏读问题;

  • 可重复读(Repeatable Read):可以确保同一个事务在多次读取同样的数据时得到相同的结果(MySQL的默认隔离级别),可避免不可重复读;

  • 可串行化(Serializable):强制事务串行执行,使之不可能相互冲突,从而解决幻读问题。可能导致大量的超时现象和锁竞争,实际很少使用。

理解脏读、不可重复读、幻读

学习资料:

https://www.cnblogs.com/yubaolee/p/10398633.html

数据库的三范式

第一范式:要求有主键,并且要求每一个字段原子性不可再分;

第二范式:要求所有非主键字段完全依赖主键,不能产生部分依赖;

第三范式:所有非主键字段和主键字段之间不能产生传递依赖。

剩余内容,请通过下方获取方式购买后跳转阅读~


获取方式

本专栏内容为付费内容,你可以按照实际需求下单购买,谢谢你的支持~

软件测试工程师修炼手册

https://img-blog.csdnimg.cn/direct/958baf1e23904f3c8f7aaf9451e329c2.jpeg#pic_center

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肖遥Janic

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值