在设计E-R图时,具体按照以下步骤完成:初始化工程。......
2025-09-30
1.事务的概念
事务是一种机制以及一种操作序列,它包含了一组数据库操作命令,这些命令作为一个整体一起向系统提交或撤销,要么全部执行,要么全部不执行。因此事务是一个不可分割的工作逻辑单元。在数据库系统上执行并发操作时,事务是作为最小的控制单元使用的。这特别适用于多用户同时操作的数据通信系统,例如订票、银行、保险公司以及证券交易系统等。
认识事务
2.事务的四大属性(ACID)
(1)原子性(Atomicity):事务是一个完整的操作。原子性用于标识事务是否完全地完成,一个事务的任何更新要在系统上完全完成,如果由于某种原因出错,事务不能完成它的全部任务,系统将返回到事务开始前的状态。这里以银行转账为例,如果在转账的过程中出现错误,整个事务将会回滚。只有当事务中的所有部分都成功执行了,才将事务写入磁盘并使变化永久化。
(2)一致性(Consistency):当事务完成时,数据必须处于一致状态,这主要通过保证系统的任何事务最后都处于有效状态来实现。如果事务成功地完成,那么系统中的所有变化将正确地应用,系统处于有效状态;如果在事务中出现错误,那么系统中的所有变化将自动地回滚,系统返回到原始状态。因为事务开始时系统处于一致状态,所以现在系统仍然处于一致状态。仍以银行转账为例,在账户转换和资金转移前,账户处于有效状态。如果事务成功地完成,并且提交事务,则账户处于新的有效状态。如果事务出错,终止后,账户返回到原先的有效状态。
(3)隔离性(Isolation):对数据进行修改的所有并发事务是彼此隔离的。如果有两个事务运行在相同的时间内,执行相同的功能,事务的隔离性将确保在系统中对于每一事务认为只有该事务在使用系统,这种属性有时称为串行化。为了防止事务操作间的混淆,必须串行化或序列化请求,使得在同一时间仅有一个请求用于同一数据。以银行转账为例,如果在转账过程中有另一个过程根据账户余额进行相应处理,而它在事务完成前就能使人们看到它造成的变化,那么这个过程的决策可能建立在错误的数据之上,因为事务可能终止回滚。隔离性不仅保证多个事务不能同时修改相同的数据,而且能够保证事务操作产生的变化直到变化被提交或终止时才能对另一个事务可见,并发的事务彼此之间毫无影响。这就意味着所有要求修改或读取的数据已经被锁定在事务中,直到事务完成才能被释放。(https://www.chuimin.cn)
(4)持久性(Durability):事务完成后,它对系统的影响是持久的。在银行转账的例子中,资金的转移是持久的,一直保持在系统中。这听起来似乎简单,但这依赖于将数据写入磁盘,特别需要指出的是,数据是在事务完全完成并提交后才被写入磁盘的。
3.事务的分类
(1)显式事务:用BEGIN TRANSACTION明确指定事务的开始。
(2)隐性事务:打开隐性事务的语法格式为:SET implicit_transactions ON。当以隐性事务模式操作时,SQL Server将在提交或回滚事务后自动启动新事务。无须描述事务的开始,只需要提交或回滚事务。
(3)自动提交事务:SQL Server的默认模式,它将每条单独的T-SQL语句视为一个事务。如果成功执行,则自动提交,否则回滚。
相关文章
进行关系的主键、外键和约束设置。将转换后的关系规范化为第三范式。实体用户表转换为关系为:Users实体文章表转换为关系为:Article联系转换为关系模式。文章与分解了的评论的联系是一对多的,所以只需要将联系与多端实体所对应的关系模式合并,加入一端实体文章的主码和联系的属性即可。分解的关系如下:Comment4.问题讨论概念模型与关系模型之间的对应关系如何?......
2025-09-30
利用SSMS和T-SQL语句创建、修改、删除博客数据库BlogDB视图,并利用视图完成对基本表的修改工作。单击“视图设计器”工具栏中的“执行SQL”按钮,可以查看查询结果。在“对象管理器”中,展开“数据库”→“BlogDB”节点,用鼠标右键单击“视图”节点,从出现的菜单中选择“打开视图”命令,浏览视图结果。......
2025-09-30
事务的隔离级别就是用来设置事务在读取数据时的隔离状态,提高数据并发使用效率的一种手段。事务的隔离级别由低到高可分为5个级别。MySQL默认级别,这种隔离级别可以避免“不可重复读取”,达到可重复读取。更改事务的隔离级别的语法代码如下:事务隔离级别的作用范围分为两种: 全局级:对所有的会话有效 会话级:只对当前的会话有效例如,设置会话级隔离级别为READ COMMITTED:或:设置全局级隔离级别为READ COMMITTED:......
2025-09-30
事务和事务管理是数据库系统中的两个重要概念。图8.1事务模型图8.1中,事务T将数据库从一致状态转换成另一个一致状态,事务执行期间,数据库可能临时处于不一致状态。事务管理就是这样一种机制,它负责让数据库始终保持一个一致状态,即便是并发存取或发生故障。例8.1中有一个假设,即事务总是会按目的终止。如果事务成功完成,我们称为事务提交。事务夭折的原因多种多样。......
2025-09-30
依照软件测试的基本含义来讲,普遍认为云测试是由测试和云两者构成。即云测试是一种通过云环境实施软件测试的过程。目前,在云环境中测试的研究主要集中在云资源的调度和优化上。工业界已推出很多云测试的工具。此外,还要测试面向客户的API和安全服务等。混合云测试环境中,服务提供商在混合云基础设施上部署基于云的应用程序来检查其质量。表8-1 三种类型云测试的具体任务......
2025-09-30
假如有莱钢集团与保利建设两家企业,它们谈成了一笔生意,即保利建设向莱钢采购2亿元的建筑钢材。两家公司都拥有某银行的账户,所以双方财务人员决定通过该银行进行转账。例6.1:执行上述SQL语句,结果如图6.1所示。图6.1莱钢、保利的账户金额现在来模拟转账:将保利建设的余额转账500万到莱钢集团的账户。使用这样的转账软件会让银行严重亏损,甚至破产。解决这一问题,可以使用事务。事务可以将转账所需的两条UPDATE语句当作一个整体。......
2025-09-30
T-SQL对SQL Server的使用非常重要,所有应用程序与SQL Server的通信都通过向服务器发送T-SQL语句来进行,是唯一能和SQL Server数据库系统进行交互的语言。......
2025-09-30
相关推荐