数据库系统基础、设计及应用第7章

合集下载

数据库原理及应用(第2版)--课后习题参考答案

数据库原理及应用(第2版)--课后习题参考答案

9.在利用概念层数据模型描述数据时,一般要求模型要满足三个要求。下列描述中,不属于概念层 数据模型应满足的要求的是 A A.能够描述并发数据 B.能够真实地模拟现实世界 C.容易被业务人员理解 D.能够方便地在计算机上实现 10.数据模型三要素是指 B
3
·4·
A.数据结构、数据对象和数据共享 B.数据结构、数据操作和数据完整性约束 C.数据结构、数据操作和数据的安全控制 D.数据结构、数据操作和数据的可靠性 11.下列关于实体联系模型中联系的说法,错误的是 A.一个联系可以只与一个实体有关 B.一个联系可以与两个实体有关 C.一个联系可以与多个实体有关 D.一个联系也可以不与任何实体有关 D
·1·
第 1 章 数据概述
一.选择题 1.下列关于数据库管理系统的说法,错误的是 C A.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型 B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现 C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件 D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名 2.下列关于用文件管理数据的说法,错误的是 D A.用文件管理数据,难以提供应用程序对数据的独立性 B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序 C.用文件存储数据的方式难以实现数据访问的安全控制 D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数 据的效率 3.下列说法中,不属于数据库管理系统特征的是 C A.提供了应用程序和数据的独立性 B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合 C.用户访问数据时,需要知道存储数据的文件的物理信息 D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失 5.在数据库系统中,数据库管理系统和操作系统之间的关系是 A.相互调用 B.数据库管理系统调用操作系统 C.操作系统调用数据库管理系统 D.并发运行 6.数据库系统的物理独立性是指 D A.不会因为数据的变化而影响应用程序 B.不会因为数据存储结构的变化而影响应用程序 C.不会因为数据存储策略的变化而影响数据的存储结构 D.不会因为数据逻辑结构的变化而影响应用程序 7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作 系统之间,属于 A A.系统软件 B.工具软件 C.应用软件 D.数据软件 8.数据库系统是由若干部分组成的。下列不属于数据库系统组成部分的是 A.数据库 B.操作系统 C.应用程序 D.数据库管理系统 B D

第7章 数据库设计-数据库原理及应用-微课视频版-李唯唯-清华大学出版社

第7章 数据库设计-数据库原理及应用-微课视频版-李唯唯-清华大学出版社

主要内容
CONTENTS
1 两个实体集之间的联系 2 多个实体集之间的联系 3 实体集内部的联系 4 用E-R图表示概念模型
1. 两个实体集之间的联系

5. 数据字典--处理过程
• 处理过程描述业务处理的处理逻辑和输入、输出。
• 处理过程描述 ={处理过程编号,处理过程名,说明,输入: {数据流},输出:{数据流},处理:{简要说明}}
【例】“审核”处理过程的描述如下: 处理过程:审核 说明:审核入库单信息是否合格 输入:入库单 输出:合格或不合格入库单 处理:对采购员提交的入库单进行审核,检查入库单填写是否 符合要求,产品实际入库数量和金额与入库单上填写的数据是 否一致。
• 概念模型的特点 (1)能真实、充分地反映现实世界; (2)易于理解; (3)易于更改; (4)易于向关系、网状、层次等各种数据模型转换。
• 描述概念模型的工具 E-R模型
数据库原理及应用
Database Principle and Application
7.3.2 概念模型的E-R表示方法
重庆理工大学 计算机科学与工程学院
1. 需求分析的任务
• 调查的重点是“数据”和“业务处理”。 • 确定业务规则。 • 业务规则:业务处理数据以及产生数据的方法和步骤。
2. 需求信息的搜集
• 需求信息收集步骤 ✓ 业务知识的研究 ✓ 制定调研计划 ✓ 选用调研方法进行调研
• 需求信息的来源 ✓ 客户 ✓ 最终用户 ✓ 管理人员
3. 需求分析的内容
4. 业务及数据分析
业务及数据分析的内容: • 确定业务 • 业务流程分析 • 业务规则分析 • 数据流程分析
5. 数据字典--数据项
• 数据项是是不可再分的数据单位。

数据库系统概论第七章

数据库系统概论第七章
(1)要考虑到可扩充性 (2)强调用户的参与
7.3 概念结构设计
1、概念结构
(1) 能真实、充分地反映现实世界,包括事物和事物之间 的联系,能满足用户对数据的处理要求。是对现实世 界的一个真实模型。
(2) 易于理解。 (3) 易于更改和扩充。 (4) 易于向关系、网状、层次等各种数据模型转换。
数据库设计的关键:形成独立于具体DBMS的概念模型 描述概念模型的有力工具是E-R模型
逻辑阶段可采用的有效方法
ODL(Object Definition Language)方法
面向对象的数据库设计方法
7.1 数据库设计概述(续)
3、数据库设计的基本步骤
需求分析 概念结构设计 逻辑结构设计 物理结构设计 数据库实施 数据库运行和维护
7.2 需求分析
1、需求分析的任务
多元联系
三个或三个以上实体间的一个多元联系可以转换为一个关 系模式,与该多元联系相连的各实体间的码以及联系本身 的属性均转换为关系的属性,而关系的码为各实体码的组 合。
E1( k,a ) E2( h,b ) E3( i,c ) R( k,h,i,s )
7.4 逻辑结构设计(续)
具有相同的码的关系模式可合并。
7.3 概念结构设计(续)
3、数据抽象与局部视图设计
数据抽象
1)分类(classificatin) 2)聚集(Aggregation) 3)概括(Generalization)
定义某一类型概的念之组作间成为的成现一分实种。 世 它 子界 抽 集中 象 联一了系组对。对象它象内抽的部象类了型类,和型 这 成 之些 分 间对 之 的象间“具的is 有“su某ibss些peat共rot同fo”的f的” 特 的 语性 语 义和 义 。行。为

北京电大数据库基础网考典型题

北京电大数据库基础网考典型题

第1章数据库系统概论一、单选题1.数据库管理系统(DBMS是(C )C. 一组软件2.在数据库中存储的是(D )D.数据及数据之间的联系3.若一个关系为R(学生号,姓名,性别,年龄),则哪个属性适合作为该关系的主码?(A)A.学生号4.在数据库的三级模式结构中,模式有(A )A. 1个5.数据库系统的核心是(A )。

A.数据库管理系统6.数据库系统与文件系统的主要区别是(D )。

D.文件系统没有解决数据冗余和数据独立性问题,而数据库系统解决了这些问题7.关系数据库系统中所使用的数据结构是(B ) B.二维表8.关系模型中,一个关键字是(B )。

B.可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成9.如果一个班只能有一个班长,而且一个班长不能同时担任其他班的班长,班级和班长两个实体之间的关系属于(A )。

A. —对一联系二、判断题1.在对象数据模型中,对象不但能够继承,而且能够嵌套。

(V )2.在文件管理阶段,文件之间是相互联系的,在数据库管理阶段,文件之间是相互独立的。

(X )3.分布式数据库系统既支持客户的局部应用,又支持客户的全局应用。

(V )4.主码是一种候选码码,主码中的属性个数没有限制。

(V )5.在文件系统中,不容易做到数据共享,而在数据库系统中,容易做到数据共享。

(V )6.若一个联系涉及到两个实体则称为二元联系,若只涉及到一个实体则称为一元联系。

(V )7.在存取数据库的数据的过程中,使用了两个数据缓冲区,分别为系统缓冲区和用户缓冲区。

(V )8.若实体A和B是1对多的联系,实体B和C是1对1的联系,则实体A和C是1对1的联系。

(X )9.数据库系统中四类用户分别为数据库管理员、数据库设计员、应用程序员和终端用户(V )第2章关系运算一、单选题1.域是实体中相应属性的(A )A.取值范围2.把保存关系定义的关系称为对应数据库的( B )B.兀关系3.在下面所给的属性中,哪个属性适宜作为主关键字?( D )D.身份证号码4.设关系R和S的元组个数分别为10和30,关系T是R与S的笛卡尔积则T的元组个数是(C )C.3005.设D,D2和D3域的基数分别为2,3和4,贝U DXDXD的元组数为(B )B. 246.设一个关系A具有a1个属性和a2个元组,关系B具有b1个属性和b2个元组,则关系A B具有的元组个数为(B )B. a2 b27.设一个集合A={3,4,5,6,7},集合B={1,3,5,7,9},则A减B的差集中包含有个元素。

数据库系统原理及应用教程第四版课后答案 第7章

数据库系统原理及应用教程第四版课后答案 第7章
71关系数据模式的规范化理论72关系模式的分解算法学号姓名年龄性别系主任课程名成绩98001李华20程序设计8898001李华20数据结构7498001李华20数据库8298001李华20电路6598002张平21程序设计9298002张平21数据结构8298002张平21数据库7898002张平21电路8398003陈兵20数学系赵敏高等数学7298003陈兵20数学系赵敏数据结构9498003陈兵20数学系赵敏数据库8398003陈兵20数学系赵敏离散数学87传递传递bcnf不仅强调其他属性对码的完全的直接的依赖而且强调主属性对码的完全的直接的依赖它包括3nf一定属于3nf3nf只强调非主属性对码的完全直接依赖这样就可能出现主属性对码的部分依赖和传递依赖
则: 学号传→递 系主任。所以学生_系3NF。 如果分解为: 学生(学号,姓名,年龄,性别,系名); 教学系(系名,系主任). 显然分解后的各子模式均属于3NF。
6. BCNF的定义
关系模式R〈U,F〉1NF。若X→Y且YX时X必含有码,则R〈U, F〉BCNF。 也就是说,关系模式R〈U,F〉中,若每一个决定因素都包 含码,则R〈U,F〉BCNF。由BCNF的定义可以得到结论,一 个满足BCNF的关系模式有: 1) 所有非主属性对每一个码都是完全函数依赖。 2) 所有的主属性对每一个不包含它的码,也是完全依赖。 3) 没有任何属性完全函数依赖于非码的任何一组属性。
完全函数依赖、传递函数依赖
2) 在R〈U〉中,如果X→Y,并且对于X的任何一个真子集 X’,都有X’ Y,则称Y对X完全函数依赖,记作:XF→Y; 若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖, 记作: X→Y。P 例如,在教学关系模式:(学号,课程名)→F 成绩,(学号, 课程名)→P 姓名 3) 在R〈U〉中,如果X→Y,(YX),Y X,Y→Z,则称Z对 X传递函数依赖。传递函数依赖记作X → Z。传递 传递例如,在教学模式中,因为:学号→系名,系名→系主 任;所以:学号 传→递 系主任。

数据库系统概论(王珊第四版)-第七章

数据库系统概论(王珊第四版)-第七章

返回用户征求
意见直至满意

抽象


数据


设计


局部

视图
逻 辑 结 构 设 计
分E-R图
总E-R图
7.3.3 数据抽象与局部视图设计
一、数据抽象
1. 分类 定义某一类概念作为现实世界中一组对象的类型; 这些对象具有某些共同的特性和行为; 它抽象了对象值和型之间的“is member of”的语义; 在E-R模型中,实体型就是这种抽象.
SA方法把任何一个系统抽象为如下形式。
数据存储
信息要求
数据流
数据流
数据来源
处理
数据输出
处理要求
三、数据流图(DFD, Data Flow Diagram)
描述数据在系统中流动和变换的过程,表达了数据和处理 过程的关系;以图形的方式刻画数据从输入到输出的移动变换 过程; 数据流程分析的主要工具;系统分析人员与用户进行交流的 手段和系统设计的主要依据之一
二、局部视图设计
设计分E-R图的具体步骤:
1)选择局部应用
选择一个适当层次的数据流图,图中每一部分对应一个局 部应用.
2)逐一设计分E-R图
标定局部应用中的实体、实体的属性、标识实体的码,确 定实体之间的联系及其类型,并进行必要的调整。
课程管理局部应用分E-R图
在课程管理局部应用中主要涉及实体的属性: 学生:{姓名,学号,性别,年龄,所在系,年级,平均成 绩} 课程:{课程号,课程名,学分} 教师:{职工号,姓名,性别,职称} 教科书:{书号,书名,价钱} 教室:{教室编号,地址,容量}
7.1.3 数据库设计的基本步骤
一、数据库设计的准备工作

数据库系统概论第五版PDF

数据库系统概论第五版PDF

数据库系统概论第五版PDF简介《数据库系统概论第五版PDF》是一本介绍数据库系统的入门教材,旨在帮助读者理解数据库系统的基本概念、原理和应用。

本书由柯里斯·李(Morris R. Li)和布鲁斯·斯图尔特(Bruce G. Lindsay)合著,是数据库领域的经典教材之一。

内容概述本书共分为八个章节,每章介绍了数据库系统的不同方面。

下面是各章节的简要概述。

第一章:引论该章节介绍了数据库的基本概念和发展历程。

通过对数据库系统的定义和优势的解释,给读者提供了对数据库系统的初步了解。

第二章:关系数据模型该章节介绍了关系数据模型,包括关系模型的构成要素、关系数据库设计和关系代数。

通过对关系数据模型的详细介绍,读者可以理解关系数据库的基本原理和数据组织方式。

第三章:SQL语言该章节介绍了SQL语言,包括SQL的基本语法、数据的查询和修改操作。

通过对SQL语言的学习和实践,读者可以掌握数据库操作的基本技巧。

第四章:数据库设计该章节介绍了数据库设计的基本原理和方法。

包括数据模型的设计、关系模式的规范化和数据库的物理组织方式。

通过对数据库设计的学习,读者可以理解如何设计一个高效稳定的数据库系统。

第五章:数据库编程该章节介绍了数据库编程的基本概念和技术。

包括存储过程、触发器和函数的编写,以及数据库事务的管理。

通过对数据库编程的学习,读者可以掌握如何编写高效的数据库应用程序。

第六章:关系数据库标准化及数据完整性该章节介绍了关系数据库的标准化和数据完整性保证。

包括关系数据模式的规范化、实体完整性和参照完整性的实现。

通过对数据库标准化和数据完整性的学习,读者可以设计出符合标准和完整性要求的数据库系统。

第七章:物理数据库设计和调优该章节介绍了物理数据库设计和调优的基本原理和方法。

包括数据库索引的设计、查询优化和数据存储方式的选择。

通过对物理数据库设计和调优的学习,读者可以设计出高效的数据库系统和查询方案。

数据库原理及应用教案

数据库原理及应用教案

数据库原理及应用教案第一章:数据库概述1.1 数据库基本概念介绍数据库的定义、发展历程和分类解释数据、数据项、数据结构、数据模型等基本概念1.2 数据库系统结构介绍数据库系统的三级模式结构:模式、外模式和内模式解释映像和数据库管理系统(DBMS)的作用1.3 数据库设计与管理介绍数据库设计的原则和方法讲解数据库管理的基本任务和功能第二章:关系数据库理论2.1 关系模型介绍关系模型的基本概念:关系、属性、元组、域等解释关系运算:选择、投影、连接等2.2 关系数据库的规范化讲解函数依赖、码的概念介绍范式理论:第一范式、第二范式、第三范式等2.3 数据库设计方法讲解E-R模型向关系模型的转换方法介绍数据库设计的过程和步骤第三章:SQL语言及其应用3.1 SQL基本概念介绍SQL语言的组成部分:数据定义、数据操纵、数据查询、数据控制等解释SQL中的基本操作:创建表、插入数据、查询数据等3.2 数据库的增、删、改、查操作讲解SQL语言中数据的增加、删除、修改和查询的具体语法和操作步骤3.3 数据库的高级查询介绍SQL语言中的聚合函数、分组查询、排序等操作讲解子查询、连接查询等高级查询技术第四章:数据库安全与保护4.1 数据库安全性讲解数据库安全性的概念和意义介绍SQL语言中的权限管理和角色管理4.2 数据库完整性解释完整性约束的概念和作用讲解实体完整性、参照完整性、用户定义的完整性等约束的实现方法4.3 数据库备份与恢复介绍数据库备份的方法和策略讲解数据库恢复的概念、原理和实现方法第五章:数据库应用系统设计与实现5.1 数据库应用系统概述介绍数据库应用系统的概念、特点和架构讲解数据库应用系统的设计原则和方法5.2 数据库应用系统的设计与实现介绍数据库应用系统的设计过程:需求分析、概念设计、逻辑设计、物理设计等讲解数据库应用系统的实现步骤:数据库创建、应用程序开发、系统测试等5.3 数据库应用系统的案例分析分析实际数据库应用系统的案例,讲解其设计思路和实现方法第六章:事务管理6.1 事务基本概念介绍事务的定义、属性(ACID)解释事务的作用和事务日志的重要性6.2 事务控制讲解并发控制的概念和必要性介绍封锁机制、事务隔离级别和并发调度策略6.3 事务的持久化解释事务提交和回滚的过程讲解事务的持久化机制和事务崩溃后的恢复策略第七章:数据库性能优化7.1 查询优化概述介绍查询优化的目的和基本方法解释查询优化器的作用和工作原理7.2 查询优化技术讲解索引、统计信息在查询优化中的作用介绍查询优化中的各种算法和策略,如规则优化、启发式优化等7.3 数据库性能监控与调整讲解数据库性能监控的工具和方法介绍性能调整的策略和技巧,包括索引调整、缓存管理、参数调整等第八章:分布式数据库与数据仓库8.1 分布式数据库系统介绍分布式数据库的概念、体系结构解释分布式数据库中的数据分片、复制和站点协调机制8.2 数据仓库与OLAP讲解数据仓库的概念、结构和组件介绍在线分析处理(OLAP)工具和多维数据模型8.3 数据挖掘与知识发现解释数据挖掘的概念、任务和过程介绍数据挖掘中常用的算法和技术,如分类、聚类、关联规则等第九章:数据库新技术与发展9.1 云计算与数据库介绍云计算的概念和数据库在云计算中的应用讲解云数据库服务模型和数据库即服务(DBaaS)9.2 物联网与数据库解释物联网的基本架构和数据库在物联网中的作用介绍物联网数据库的设计考虑和应用案例9.3 大数据技术与数据库讲解大数据的概念、特征和处理技术介绍大数据数据库解决方案和分布式文件系统如Hadoop的运用第十章:数据库项目实践10.1 项目需求分析讲解需求分析的方法和步骤解释如何从用户角度出发,明确项目需求和预期目标10.2 数据库设计介绍数据库设计的原则和方法讲解如何根据需求分析结果设计数据库模式和表结构10.3 数据库实施与测试解释数据库实施的过程和注意事项讲解数据库测试的目的和方法,以及如何评估测试效果10.4 项目维护与升级介绍数据库项目维护的内容和策略讲解数据库升级的原因和方法,以及如何处理升级过程中的问题重点和难点解析重点一:数据库基本概念和数据库系统结构数据库基本概念的掌握是理解数据库其他知识的基础。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第7章 事务管理
第7章 事务管理
7.1 事务的概念
7.2 事务的基本操作
7.3 封锁机制 7.4 封锁的问题及解决方法 7.5 数据库恢复技术 实验7 事务管理与数据库备份
第7章 事务管理
7.1
事 务 的 概 念
7.1.1 引入事务处理的必要性
实际数据库操作中,一个操作常与其他操作具有某种程 度的关联。只有将这些互相关联的操作作为一个整体来进行, 才能保证它们的正确性。例如,假定银行要将“张京”账户 上的9800元钱转入“王莹”账户,需要连续执行两步操作: ● 从张京”账户上取出9800元; ● 为“王莹”账户存入9800元。
的过程中遇到了错误,则BEGIN TRANSACTION命令之后
的所有数据操作都将进行回滚,将数据库中数据恢复到该事 务执行之前的状态。
第7章 事务管理
SQL Server中,可以通过BEGIN TRANSACTION命令
启动事务。该命令的一般形式为
BEGIN TRAN[SACTION] [事务名| @事务名变量]
第7章 事务管理
【例7-1】 假定火车售票系统中有“售票”和“车次” 两个表,分别登记各代售点累计售出的车票数与全部车次的 剩余票数,其关系模式为
售票(代售点号,车次,日期,售出票数) 车次(车次,日期,剩余票数)
现在A0110售票点打算代售3张K236车次2012年10月20 日的车票,需要执行以下操作:
第7章 事务管理
(2) 一致性:一个事务不能违背定义在数据库中的任何
完整性检查。为了维护数据的一致性,所有的规则、约束、 检查都会被应用到事务中。因为所有的数据更改都是在事务 执行期间进行的,因而这些数据在事务开始和结束之前能够 确保一致。例如,在银行系统中,事务开始前,两个账户余 额的总额处于一致的状态,事务进行过程中,一个账户余额 改变,另一个账户余额未变,则这两个账户余额的总额处于 不一致状态,事务完成后,账户余额的总额即恢复为一致的 状态。
BEGIN TRANSACTION logTrans WITH MARK '查询存货表中的存货量数据' GO SELECT * FROM 存货 ORDER BY 货号 GO
第7章 事务管理
7.2.2 提交事务
使用COMMIT TRANSACTION命令来实现事务的提交操 作。事务提交标志着一个成功的从BEGIN TRANSACTION开 始的事务(隐性事务或显式事务)的结束,使得自从事务开始以 来所执行的所有数据修改的结果成为数据库的永久部分,并 释放事务所占用的资源。 数据库中为了保证数据的完整性和一致性,通常要在内 存中建立一个工作区,用于完成对数据库进行操作处理的各 种事务,这些处理结果在COMMIT命令执行之前并未保存到 数据库中,只有在执行COMMIT命令之后,内存工作区的内 容才被写入数据库。这样可以确保数据库中数据的完整性和 一致性。COMMIT TRANSACTION命令的一般形式为
第7章 事务管理
如果两个UPDATE语句都能够成功执行,则将协同完成
“A0110代售点售出3张K236车次2012年10月20日车票”这个 任务。但是,如果第一个UPDATE语句执行成功后,系统随 之发生故障,则有可能出现问题:假定K236次火车共有1200 张车票,2012年10月20日的车票已售出了1197张,其中A0110 代售点售出了150张,剩余车票3张。在第1个UPDATE语句成 功执行后,A0110代售点的“售出票数”更新为153。当排除 了系统故障并重新提供服务时,如果另一个代售点又请求代 售3张K236车次2012年10月20日车票,则将因K236车次的 “剩余票数”尚未更新而再次售出3张,结果多售出了3张车 票。导致这种错误的原因是系统重新提供服务时,数据库的
产生错误时,将会执行事务回滚的操作。
第7章 事务管理
【例7-2】 用SQL Server提供的显式事务模式定义例7-1
中的数据库更新事务。
BEGIN TRANSACTION
UPDATE 售票
SET 售出票数=售出票数+3 WHERE 代售点号='A0110' AND 车次='K236' AND 日期='2012-10-20'
COMMIT {TRAN | TRANSACTION} [事务名 | @事务名变量]
第7章 事务管理
发布一条COMMIT TRANSACTION语句时,SQL
Server将最近的一个已启动事务标记为准备提交。只有在提 交一个嵌套事务系列中的最外层事务时,SQL Server才将所 有修改都写入到数据库中。用户的责任是保证在做完了所有 预期的修改之后再发布COMMIT TRANSACTION语句。一 旦提交了一个事务,就再也不能回退它了。 【例7-5】 使用BEGIN TRANSACTION命令启动事务 myTrans,并使用COMMIT TRANSACTION命令提交该事务。
务,其用法和功能与BEGIN TRANSACTION命令类似。
第7章 事务管理
【例7-3】 使用BEGIN TRANSACTION命令启动事务
myTrans。
USE dbTest; /*打开数据库dbTest*/
GO
DECLARE @myTrans varchar(20); /*本行及下一行声明了事务名称*/ select @myTrans='myTransName';
所做的修改不受影响。
第7章 事务管理
7.2
7.2.1 启动事务
事务的基本操作
事务启动标记一个显式本地事务的起点。事务一旦启动, 便会一直执行下去,直到其中所有操作都准确无误地完成之 后,使用COMMIT TRANSACTION语句将该事务对数据库 中数据的操作结果永久地保存在数据库中,如果在运行事务
UPDATE 车次
SET 剩余票数=剩余票数-3 WHERE 车次='K236' AND 日期='2012-10-20' COMMIT TRANSACTION;
第7章 事务管理
3.事务的特点
为了事务能够并发执行且当发生故障时保证数据的完整 性,事务应该具备以下特性。 (1) 原子性:事务是由不可分割的操作序列构成的工作 单元,由事务管理子系统完成。事务中的全部元素作为一个 整体提交或回滚。如果一个事务执行失败,DBMS能够保证 已经执行了的那些操作不反映到数据库中。例如,银行转账 时通过一个事务更新两个账户的存款余额,如果该事务提交 了,则这两个账户都会更新;如果事务在执行了第一个更新 语句后因出现故障而不能执行第二个更新语句,则在数据库 恢复时将会消除第一个更新语句对数据库的影响。
第7章 事务管理
USE dbTest;
GO DECLARE @myTrans varchar(20);
select @myTrans ='myTransName';
第7章 事务管理
(3) 隔离性:由并发事务所做的修改必须与任何其他并
发事务所做的修改隔离。在事务查看数据时,数据所处的状 态要么是另一并发事务修改它之前的状态,要么是另一事务 修改它之后的状态,事务不会查看中间状态的数据。这称为 可串行性,因为它能够重新装载起始数据,并且重播一系列 事务,以使数据结束时的状态与原始事务执行的状态相同。 注:当事务执行修改数据操作时,如果任何其他进程正在同 时使用相同的数据,则直到该事务成功提交后,对数据的修 改才能生效。 (4) 永久性:事务在提交之后,所做的工作将会永久保 存下来,即使硬件和应用程的实际状态是不一致的。
第7章 事务管理
为了解决这样的问题,DBMS引入了事务处理机制,允
许用户将一系列具有内在联系的操作定义为一个事务,一个 事务就是一个逻辑单元,可以采取相应的策略来保证一个逻 辑单元内的操作要么全部执行要么都不执行。 在数据库系统上执行并发操作时,事务是作为最小的控 制单元来使用的。对于DBMS来说,一个事务就是一个不可 分割的逻辑上的工作单元。如果一次只允许一个用户使用, 则该系统为单用户系统;如果允许多个用户同时使用,则该 系统为多用户系统。在多用户系统中,经常会遇到多个用户 执行并发操作的情况,可将事务作为执行这种并发操作的最 小控制单元。
BEGIN TRANSACTION @myTrans; /*启动事务*/
GO SELECT * FROM 存货 /*本行及下一行设置执行事务的内容*/ ORDER BY 货号 GO
第7章 事务管理
【例7-4】 使用WITH MARK命令为事务logTrans建立
一个标记。
USE dbTest;
GO
[WITH MARK ['字符串']]
其中,“事务名”即该事务的名称;“@事务名变量”表示 用变量来指定事务的名称,并且变量只能声明为char、nchar、
varchar和nvarchar几种数据类型;WITH MARK表示指定在
日志中的标记事务;“字符串”表示描述被标记的字符串。
第7章 事务管理
(1) 事务提交:将成功完成的事务的执行结果(即更新)
永久化,并释放事务占有的全部资源。 (2) 事务回滚:中止当前事务,撤销对数据库所做的更
新,并释放事务占有的全部资源。
第7章 事务管理
2.事务的类型
SQL Server数据库提供了三种类型的事务模式:显式事 务、隐式事务和自定义事务。 (1) 显式事务是指显式地定义其开始和结束的事务,又 称为用户定义事务。当使用BEGIN TRAN和COMMIT语句 时发生显式事务。 (2) 隐式事务是指在当前事务提交或回滚后自动开始的 事务,需要用COMMIT语句和ROLLBACK语句回滚或结束 事务。 (3) 自动提交事务是指能够自动执行并自动回滚的事务, 即当一个语句成功执行后,事务被自动提交;当执行过程中
相关文档
最新文档