- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章数据库语言SQL要点
* 解决方法 用户1的操作执行完,再执行用户2的操作。 将一组操作组成一个事务 ,事务中进行封锁,保证事务的可串行性。 可串行性:一个时刻只有一个事务,相互之间没有重叠。 * (2) 原子性 示例6.41 假设银行数据库有关系 Accounts (acctNo, balance) 考虑从账户123向账户456转帐$100。可以先检查账户123中是否至少有$100,若有,则执行以下两个步骤: 1. 通过如下SQL修改语句向账户456加上$100 2. 通过如下SQL修改语句从账户123减去$100 UPDATE Accounts SET balance=balance+100 WHERE acctNo=456; UPDATE Accounts SET balance=balance-100 WHERE acctNo=123; * 问题 设想:金额转入账户2 之后,系统故障。 数据库状态:账户2 增加金额,账户1未减金额 对银行造成损失 问题:数据处于不一致状态 结论:数据库操作的某些组合,需原子地完成 即要么都做 要么都不做。 * 2. 事务 事务:必须被原子地执行的一个或多个数据库操作的集合,(如:一组SQL语句,一条SQL语句或一段程序) 要么所有操作都执行,要么所有操作都不执行。 另外SQL要求事务缺省地以可串行化方式执行。 在SQL语言中定义事务的相关语句 START TRANSACTION 事务开始 COMMIT TRANSACTION 提交,事务成功结束 ROLLBACK TRANSACTION 撤消(夭折、回滚) * 课本示例42 假设要把例6.41中的转帐操作变成一个事务。 在访问数据库之前要执行START TRANSACTION。 如果发现资金不够转帐,则执行ROLLBACK命令。 但是,如果有足够资金,那么执行那两条修改语句,然后执行COMMIT。 * 保证事务正确执行的ACID性质 A:原子性 事务中的操作或者都执行或者都不执行。 C:一致性 事务执行前后数据库满足所有约定的一致性条件。 I :独立性 两个事务同时执行不相互干扰。 D:持久性 事务完成后即使系统故障,事务的结果长期保存。 例如:账户余额不能是负数 * 3. 只读事务 航班预定和银行转帐的例子,都包含一个先读 然后(可能)向数据库中写一些数据的事务。这种事务容易出现可串行化问题。 然而当一个事务只读数据而不写数据时,就可以更自由地让该事务与别的事务并发执行。 * 示例 例:读数据判定座位是否有效 一次可以执行多个查询程序的调用,不用担心会对数据库造成永久性的伤害。 可能出现最坏的情况是,读取某个座位是否空闲的数据时,该座位正在被某个别的程序预定或释放。当前查询得到的答案只在当前时刻有效。 SELECT seatNo FROM Flights WHERE fltNo=123 AND fltDate=DATE ‘2008-12-25’ AND seatStatus=‘available’; * 只读事务的设置 如果SQL执行系统被告知当前事务只读,则许多访问同一数据的只读事务可以并发地运行,但是写同一数据的事务不可以。 只读、读写的设置 SET TRANSACTION READ ONLY SET TRANSACTION READ WRITE (默认) 只读事务可以更自由地与其他事务并行 * 4. 读脏数据 脏数据(dirty data):未提交事务所写的数据 脏读取(dirty read):对脏数据的读取 读脏数据的风险: 写数据的事务夭折,脏数据被移走,像不曾存在。 如果别的事务读了这个脏数据,并提交对脏数据的计算或使用。 * * 读脏数据有时出问题,有时无关紧要 例1:以下述步骤进行账户转移 1. 将钱加到账户2 2. 检测账户1是否有足够的钱 没有:从账户2减去此金额 (相当于回滚) 有: 从账户1减去此金额 假设有可能读脏数据。 账户:A1($100) A2 ($200) A3($300) T1 $150? T2 $250? * 可能的执行顺序: T2 将$250 加到A3;A3有$55
您可能关注的文档
最近下载
- 2025团校入团考100题题库及答案(完整本).pdf VIP
- 现场标识管理规范培训.pptx
- 在全市市场监管工作培训班开班式上的讲话.docx VIP
- KAT 22.1-2024 KAT 22.2-20224矿山隐蔽致灾因素普查规范(第一部分总则和第二部分煤矿).docx VIP
- 职业教育资源与当地产业布局匹配情况调研报告.pdf VIP
- 中药饮片加工与炮制PPT.pptx VIP
- 某液化气站安全现状评价报告-精品.doc VIP
- (完整版)船舶消防管理和检查技术要求 .pdf VIP
- (消防培训)WW船舶消防管理和检查技术要求最全版.doc VIP
- 第二单元 水 复习课 教案 教科版科学三年级上册.docx VIP
有哪些信誉好的足球投注网站
文档评论(0)