谈谈事务和锁在数据库中作用

谈谈事务和锁在数据库中作用
一、事务准则(ACID)
1、执行原子性(Atomic):要么做,要么不做;
2、功能一致性(Consistency):DBMS的数据从一个状态到另外一个状态应满足一致性;
3、彼此数据隔离性(Isolation):多个事务可并发执行,同一事务也可相互隔离:
4、作用持久性(Durability):事务对数据库的影响是持久的,发生故障应可恢复。
实际使用的事务是用户定义的事务,它包括一系列操作或者语句
在多服务器环境中,使用用户定义的分布式事务,保证操作的一致性
事务的定义
    事务是指一个单元的工作,这些工作要么全做,要么全部不做。作为一个逻辑单元,必须具备四个
属性:自动性、一致性、独立性和持久性。自动性是指事务必须是 一个自动的单元工作,要么执行全部
数据的修改,要么全部数据的修改都不执行。一致性是指当事务完成时,必须使所有数据都具有一致的
状态。在关系型数据库 中,所有的规则必须应用到事务的修改上,以便维护所有数据的完整性。所有的
内部数据结构,例如树状的索引与数据之间的链接,在事务结束之后,必须保证正 确。独立性是指并行
事务的修改必须与其他并行事务的修改相互独立。一个事务看到的数据要么是另外一个事务修改这些事
务之前的状态,要么是第二个事务已经修 改完成的数据,但是这个事务不能看到正在修改的数据。这种
特征也称为串行性。持久性是指当一个事务完成之后,它的影响永久性的产生在系统中,也就是这种修
改写到了数据库中。
    事务机制保证一组数据的修改要么全部执行,要么全部不执行。SQL Server使用事务保证数据的一
致性和确保在系统失败时的可恢复性。事务是一个可以恢复的单元的工作,由一条或者多条Transact-
SQL语句组 成,可以影响到表中的一行或者多行数据。事务打开以后,直到事务成功完成之后提交为止
,或者到事务执行失败全部取消或者滚回去为止。






锁是保证并发控制的手段
可以锁定的资源包括行、页、簇、表和数据库 
锁的类型主要包括共享锁和排它锁
特殊类型的锁包括意图锁、修改锁和模式锁
共享锁允许其他事务继续使用锁定的资源
排它锁只允许一个事务访问数据
系统本身可以处理死锁
用户可以根据实际情况定制锁的一些特征
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同
时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致
性。
加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发
出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不
能对此数据对象进行更新操作。
事务和锁
当执行事务操作时,Oracle会再被作用的表上枷锁,防止其他用户修改表的结构。这里对我们的用户来
讲是非常作用的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值