当前位置:Gxlcms > 数据库问题 > 数据库原理

数据库原理

时间:2021-07-01 10:21:17 帮助过:3人阅读

一、数据库三大范式:

  1、列不可再分。
  2、属性依赖于主键。
  3、属性直接依赖于主键,不依赖其他属性。

二、数据库事务的四大特性:(ACID)
  1、原子性:一个事务的所有操作要么全部完成,要么全部失败回滚。
  2、一致性:事务提交前后,数据库整体保持一致性状态。如A、B之间转账后,总金额不变。
  3、隔离性:并发事务间不能互相干扰,应保持隔离。
  4、持久性:事务成功提交后,对数据库的改变应该是永久性的。

三、事务不隔离产生的问题:
  1、脏读:一个事务读取了另一个事务还没有提交的数据。
  2、不可重复读:一个事务读取时,另一个事务修改并提交了数据。(update、delete)
  3、幻读:一个事务读取时,另一个事务新增并提交了数据。(insert)

四、数据库事务隔离级别:
  1、Serializable(串行化):可避免脏读、不可重复读、幻读。
  2、Repeatable read(可重复读):可避免脏读、不可重复读。
  3、Read committed(读已提交):可避免脏读。
  4、Read uncommitted(读未提交):最低级别,无法保证。

mysql默认事务隔离级别为:Repeatable read(可重复读)

sqlserver默认事务隔离级别为:Read committed(读已提交)

spring的@Transaction默认使用数据库的隔离级别

 

数据库原理

标签:acid   范式   产生   tran   zab   nbsp   UNC   ali   一致性   

人气教程排行