MySql数据库事务的4大特性
2017-08-05 08:53
239 查看
转载地址:http://blog.csdn.net/lulei1217/article/details/50954226
1、原子性(Atomicity)事务中包含的程序作为数据库的逻辑工作单位,它对数据库中的数据进行操作时,要么全部执行,要么都不执行。
举个例子,你给小A转账500块时。这个时候银行的数据库会将你卡里的金额减500,同时小A卡里的金额增加500。不存在你的钱被扣,小A的钱没加。或者你的钱没扣,小A的钱增加了。
2、一致性(Consistancy)
一个事务执行前和执行后,数据库都必须要处于一致性的状态。
这句话是怎么理解:就是你给小A的卡里转了500块,不管怎么样你卡里的钱和小A卡里的钱的总和是不变的。不会出现你们两的钱相加之和会出现变化的。
3、分离性、独立性(Isolation)
分离性是指在并发的事务是相互隔离的。即一个事务的内部操作及正在操作的数据必须被封锁起来,不会被其他的事务来企图修改。这一点和Java中多线程编程的同步锁很像。
举个例子:假如你给小A打钱过去,同时小B也在给小A打钱。这时候数据库服务器中要么会让你的事务先执行,或者让小B的事务先执行。不存在你两个的打钱动作会同时来修改小A卡里的金额。
4、持久性(Durability)
持久性是指当数据库系统出现故障了,要确保已经提交的事务的更新是不会丢失的。即数据库中的数据的修改是永久性的。就算系统出现了故障,我们也可以使用数据库的备份和恢复来保证数据的修改。
举个例子:当你从卡里面取出500块,在银行的数据库中你的卡里的金额会减少500。就算银行的数据库进行维修,等到再次恢复的时候你的卡里的钱还是减少500的。不存在取了钱,由于数据库的故障你卡里的钱不变这种情况。
1、原子性(Atomicity)事务中包含的程序作为数据库的逻辑工作单位,它对数据库中的数据进行操作时,要么全部执行,要么都不执行。
举个例子,你给小A转账500块时。这个时候银行的数据库会将你卡里的金额减500,同时小A卡里的金额增加500。不存在你的钱被扣,小A的钱没加。或者你的钱没扣,小A的钱增加了。
2、一致性(Consistancy)
一个事务执行前和执行后,数据库都必须要处于一致性的状态。
这句话是怎么理解:就是你给小A的卡里转了500块,不管怎么样你卡里的钱和小A卡里的钱的总和是不变的。不会出现你们两的钱相加之和会出现变化的。
3、分离性、独立性(Isolation)
分离性是指在并发的事务是相互隔离的。即一个事务的内部操作及正在操作的数据必须被封锁起来,不会被其他的事务来企图修改。这一点和Java中多线程编程的同步锁很像。
举个例子:假如你给小A打钱过去,同时小B也在给小A打钱。这时候数据库服务器中要么会让你的事务先执行,或者让小B的事务先执行。不存在你两个的打钱动作会同时来修改小A卡里的金额。
4、持久性(Durability)
持久性是指当数据库系统出现故障了,要确保已经提交的事务的更新是不会丢失的。即数据库中的数据的修改是永久性的。就算系统出现了故障,我们也可以使用数据库的备份和恢复来保证数据的修改。
举个例子:当你从卡里面取出500块,在银行的数据库中你的卡里的金额会减少500。就算银行的数据库进行维修,等到再次恢复的时候你的卡里的钱还是减少500的。不存在取了钱,由于数据库的故障你卡里的钱不变这种情况。
相关文章推荐
- MySql数据库事务的4大特性
- 事务的特性和隔离级别
- spring事务传播特性和事务隔离级别
- 事务的特性ACID原子性一致性隔离性持久性
- Spring事务的传播特性
- 什么是事务,事务的ACID特性
- 数据库事务的四大特性以及事务的隔离级别
- 数据库事务的四大特性以及事务的隔离级别
- ACID--事务四大特性
- SPRING的事务传播特性
- Spring事务的传播特性和隔离级别
- 自己动手,了解jdbc的事务特性
- 【原创】spring中的事务传播特性
- Oracle、Mysql之事务及四大特性
- atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js
- 事务的四大特性
- MySQL之事务的四大特性
- 数据库的事务,事务的特性以及回滚
- 事务的四大特性
- 数据库事务的4个特性理解