数据库的隔离级别、事务的特性、范式

来源:互联网 发布:git clone ssh 端口 编辑:程序博客网 时间:2024/06/05 17:01

MySQL数据库为我们提供的四种隔离级别:

1、Read uncommitted (可读未提交):写事务阻止其他写事务,可以避免更新遗失,但是不能阻止其他读事务,会出现脏读。

2、 Read committed (可读已提交):写事务会阻止其他读事务,可避免脏读的发生,但是不可以重复读。

3、 Repeatable read (可重复读):读事务阻止其他写事务,不阻止读事务,写包括delete和update,但是不包括insert,所以会产生幻读。  

4、Serializable (串行化):读加共享锁,写加排它锁,这样读取事务可以并发,但是读写、写写之间是互斥的,基本上是一个个执行事务,所以叫串行化。

事务的四种特性:

1、原子性:事务包含的所有操作要么全部成功,要么全部失败回滚

2、一致性:一个事务执行之前和执行之后都必须处于一致性状态

3、隔离性:当多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰

4、持久性:指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的
 
数据库的范式:

1、第一范式:原子数据项不可分(数据表的每一列)

2、第二范式:实体属性完全依赖于主关键字

3、第三范式:在一个关系中不包含已在其他关系中包含的非主关键字信息。

  


  


阅读全文
0 0
原创粉丝点击