数据库原理第九章

合集下载

数据库系统原理课后答案 第九章

数据库系统原理课后答案 第九章

9.1 名词解释(1)OODBS:是指面向对象数据库系统,它既具数据库管理的基本功能,又能支持面向对象的数据模型。

(2)ORDBS:基于对象关系数据模型的DBS称为对象关系数据库系统(ORDBS)。

(3)平面关系模型:传统的关系模型称为“平面关系模型”,它要求关系模式具有第一范式(1NF)性质,关系具有规范化的结构。

也就是规定属性值是不可分解的,即不允许属性值具有复合结构(元组或关系)。

(4)嵌套关系模型:是从平面关系模型发展而成的。

它允许关系的属性值又可以是一个关系,而且可以出现多次嵌套。

嵌套关系突破了1NF的定义框架,是“非1NF关系”。

(5)复合对象模型:在嵌套关系模型上进一步放宽要求。

在关系定义上,集合与元组不再有交替出现的严格限制,此时的关系中,属性类型可以是基本数据类型、结构类型(元组类型)或集体类型(即关系类型)。

(6)数据的泛化/细化:是对概念之间联系进行抽象的一种方法。

当在较低层上的抽象表达了与之联系的较高层上抽象的特殊情况时,就称较高层上抽象是较低层上抽象的"泛化",而较低层上抽象是较高层上抽象的"细化"。

(7)对象关系模型:在传统关系数据基础上,提供元组、数组、集合等更为丰富的数据类型及处理新数据类型操作的能力而形成的数据模型。

(注:传统关系模型只支持字符、数值、字串,布尔值等等基本数据类型及其处理功能)(8)类型级继承性:当继承性发生在类型级时,子类型继承了超类型的属性。

也就是说,超类型所具有的属性,在子类上也具有。

(9)表级继承性:继承性也可发生在表级,(就是元组集合上发生继承),子表继承超表全部属性,超表中每个元组最多可以与子表中一个元组对应,而子表中的每个元组在超表中恰有一个元组对应,并在继承的属性值上具有相同的值。

(10)引用类型:数据类型可以嵌套定义,在嵌套引用时,不是引用对象本身,而是个用对象标识符(即指针),这种指针被称为引用类型。

数据库原理与SQL-Server第九章PPT课件

数据库原理与SQL-Server第九章PPT课件

上一页
.
下一页
返回本章首6 页
第九单元 保证数据一致性
数据库原理与SQL Server
3. 隔离性
如果有两个或者多个事务,这些事务必须 按照一定的顺序先后执行,而不能在执行 一个事务的同时,又穿插执行另外的一个 事务,也就是说,多事务并发执行时,应 保证执行的结果是正确的,如同单用户环 境一样。这可以通过锁来实现。
上一页
.
下一页
返回本章首12 页
第九单元 保证数据一致性
数据库原理与SQL Server
9.2.5 分布式事务
SQL Server 2000可以通过网络,实现跨服务器 的数据操作,这种事务称为“分布式事务”。 分布式事务是一种非常强大的功能,但必须通 过网络来传送数据,因此出错的几率也就大大 增加了。为了解决这个问题,分布式事务的处 理被分成两个阶段:准备阶段和提交阶段,也 就是所谓的两阶段提交。
(3)事务管理器调用MS DTC,通知远程服务器开始参与 该分布式事务。
(4)应用程序执行提交事务或回滚事务的语句来结束事务。 此时事务管理器将调用MS DTC来管理两阶段提交过 程,本服务器和远程服务器提交或回滚事务。
第九单元 保证数据一致性
数据库原理与SQL Server
第九章 保证数据完整
9.1 批处理 9.2 事务 9.3 锁 9.4 @@ERROR 实训九 错误的捕获和处理
上一页
.
下一页
返回返本回目章录首1 页
第九单元 保证数据一致性
数据库原理与SQL Server
9.1 批处理
批是一组SQL语句的集合,一个批以批结束符GO而终结。 批中的所有语句被一次提交给SQL Server 2000,SQL Server 2000将这些语句编译为一个执行单元,如果出现 编译错误,SQL Server 2000将取消整个批处理内所有语 句的执行。

数据库原理与应用第九章

数据库原理与应用第九章
2.唯一性约束 唯一性创建的方法通常有两种:SQL语句和SQL Server管
理平台,这里介绍使用SQL Server管理平台的方法。 在SQL Server 2005管理平台中,展开指定的数据表和数
据库,右击要操作的数据表,从弹出的快捷菜单中选择“修改” 命令,打开修改数据表界面,在要设置唯一性的属性上右击, 从弹出的快捷菜单中选择“索引/键”命令,打开“索引/键”对 话框,单击“添加”按钮后对话框将出现新的索引/键名称,用 户可以修改该索引/键的名称并设置“是唯一的”为“是”,完 成唯一约束的设置。
列的为空性决定表中的行是否可为该列包含空值。空值 (或NULL)不同于零(0)、空白或长度为零的字符串(如 "")。NULL的意思是没有输入,出现NULL通常表示值未知或 未定义。
9.2 约束的定义与操作
9.2.2 操作约束
约束的操作主要包括增加、修改和删除约束,其方法通 常有两种,SQL 语句和SQL管理平台。下面介绍使用SQL管 理平台的方法。
| <table_constraint> } [ ,...n]
9.1 数据表的定义与操作
9.1.3 删除数据表
删除数据表可以采用命令和管理平台两种方式删除表。这 里主要介绍使用管理平台删除数据表。
在SQL Server 2005管理平台中,展开指定的数据库和数据 表,右击要删除的数据表,从弹出的快捷菜单中选择“删除” 命令,将打开“删除对象”窗口,单击“确定”按钮即删除数 据表。单击“关系依赖图”按钮,可显示所有该表依赖的对象 以及依赖该对象的对象,当有对象依赖该表时,想删除该表就 必须先删除依赖该表的其他表,否则该表不能被删除。
在SQL Server 2005管理平台中,展开指定的数据表和 数据库,右击要操作的数据表,从弹出的快捷菜单中选择 “修改”命令,打开修改数据表界面,在要修改约束的属性 上右击,从弹出的快捷菜单中选择合适的约束命令,然后按 照创建各约束的步骤在对创建的约束进行增加、修改或删除 即可。

第9章SQL SERVER 2012

第9章SQL SERVER 2012
数据库原理与应用教程
9.1.3 SQL Server 2012的主要组件与实用程序
Hale Waihona Puke ❖ SQL Server Management Studio管理器的使用
❖ Microsoft SQL Server Management Studio(SQL Server 集成管理器)是 Microsoft SQL Server 2012 提供的一种新 集成环境,用于访问、配置、控制、管理和开发 SQL Server 的所有组件。SQL Server Management Studio 将早 期版本的 SQL Server 中所包含的企业管理器、查询分析器 和 Analysis Manager 功能整合到单一的环境中。此外, SQL Server Management Studio 提供了用于数据管理和图 形工具和功能丰富的开发环境。
图9.5 属性工具栏
数据库原理与应用教程
❖ 方法二:在已注册的服务器中,右键单击您的服务器名,选择“连接”, 再单击“新建查询”。在这种情况下,查询编辑器将使用已注册的服务 器的连接信息。如图9.6所示。
图9.6 显示查询窗口
数据库原理与应用教程
❖ 在查询窗口输入Transact-SQL查询语句,执行后,可以将查 询结果以3种不同的方式显示。点击编辑窗口的空白处,在 右键弹出的快捷菜单中,选择“将结果保存到”中的三个显 示方式:以文本格式显示结果、以网络显示结果、将结果保 存到文件。如图9.7所示。
SQL Server 2012 的综合分析、集成和数据迁移功能使 各个企业无论采用何种基础平台都可以扩展其现有应用程序 的价值。构建于 SQL Server 2012 的 BI(Business Intelligence,商业智能) 解决方案使所有员工可以及时获 得关键信息,从而在更短的时间内制定更好的决策。

《MySQL数据库原理、设计与应用》第9章课后习题答案

《MySQL数据库原理、设计与应用》第9章课后习题答案

第九章一、填空题1.数据库2.原子3.START TRANSACTION4.AUTOCOMMIT5.READ UNCOMMITTED二、判断题对1.对2.对3.错4.对5.对三、选择题1. C2.B、C、D3. B4. B5. D四、简单题1.请简述什么是事务。

答:在MySQL中,事务就是针对数据库的一组操作,它可以由一条或多条SQL语句组成,且每个SQL语句是相互依赖的。

只要在程序执行过程中有一条SQL语句执行失败或发生错误,则其他语句都不会执行。

也就是说,事务的执行要么成功,要么就返回到事务开始前的状态,这就保证了同一事务操作的同步性和数据的完整性。

2.请简述什么是事务的ACID特性。

答:①原子性是指一个事务必须被视为一个不可分割的最小工作单元。

②一致性是指在事务处理时,无论执行成功还是失败,都要保证数据库系统处于一致的状态,保证数据库系统从不返回到一个未处理的事务中。

③隔离性是指当一个事务在执行时,不会受到其他事务的影响。

④持久性是指事务一旦提交,其对数据库的修改就是永久性的。

五、实训题1.请利用事务实现在用户下订单时,检查商品库存是否充足。

START TRANSACTION;1# 查询id为1的商品的库存SELECT stock FROM sh_goods WHERE id = 1;# 根据结果回滚或提交COMMIT;2.请利用事务在用户下订单前,检测当前用户是否已被激活,若未激活,则需激活此用户后,才能再次下订单。

START TRANSACTION;# 查询id为1的用户是否激活SELECT is_active FROM sh_user WHERE id = 1;# 根据结果回滚或提交COMMIT;2。

《数据库原理及应用》第九章报表

《数据库原理及应用》第九章报表

报表概述
建立报表和建立窗体的过程基本一样,报 表与窗体的不同之处主要表现在: 窗体最终显示在屏幕上,而报表还可以 打印在纸上。 窗体可以与用户进行信息交互,而报表 没有交互功能。
报表所能响应的事件比窗体少一些,但对于打 印控制来说已足够了。
Access报表的三种视图
设计视图:用于创建和编辑报表的结构、布 局、数据的分组与汇总特性;但该视图无法 看到报表的设计工作是否达到了预期的打印 效果。 打印预览视图:用于查看报表的页面数据输 出形态;该视图所显示的报表布局、内容与 实际打印结果是一致的,即所见既所得。如 检查报表的布局是否与预期的一致、报表对 事件的响应是否正确、报表对数据的格式化 是否正确等等。
可通过插入文本框或其他一些类型控件进行设计 例如,在报表的页面页脚内插入一个文本框,直 接输入或将其控件来源取值为: ="第" & [Page] & "页,共" & [Pages] & "页“ 或者:“插入”菜单→“页码”,插入后,报表 中自动添加一个显示页码计算表达式的文本框:
=“第” & [Page] & “页”
创建图表报表(P174) 创建标签报表(P174)
“报表向导”创建报表的步骤
1. 首先确定报表的数据源及字段。 2. 如果选择的字段属于一个表或查询,则向导会提 示是否添加分组级别;如果选择的字段是属于多 个表或查询(一个基于多表的查询),则会让选择查 看数据的方式,然后同样会显示添加分组级别对 话框。 3. 指定报表中记录的排列次序,最多可以按4个字段 对记录进行排序。 4. 选择报表的布局方式:递阶、块、分级显示、左/ 右对齐等 5. 选择报表的样式:组织、大胆、正式、淡灰、紧 凑等。 6. 确定“报表”计----修饰报表

数据库原理配套课件Lesson 09

数据库原理配套课件Lesson 09

9.1 关系数据库系统的查询处理 9.2 关系数据库系统的查询优化 9.3 代数优化 9.4 物理优化 *9.5 查询计划的执行 9.6 小 结
本讲目标
关系查询处理和查询优化(续)
本章内容:
关系数据库管理系统的查询处理步骤 查询优化的概念 基本方法和技术
查询优化分类 :
代数优化:指关系代数表达式的优化 物理优化:指存取路径和底层操作算法的选择
查询优化的选择依据
基于规则(rule based) 基于代价(cost based) 基于语义(semantic based)
4. 查询执行
依据优化器得到的执行策略生成查询执行计划 代码生成器(code generator)生成执行查询计划
的代码 两种执行方法
自顶向下 自底向上
9.1 关系数据库系统的查询处理
适合小表,不适合大表
(2)索引扫描方法 (Index Scan)
适合于选择条件中的属性上有索引(例如B+树索引或 Hash索引)
通过索引先找到满足条件的元组主码或元组指针,再通 过元组指针直接在查询的基本表中找到元组
选择操作的实现(续)
[例9.1] SELECT * FROM Student WHERE <条件表达式>
[例9.2] SELECT * FROM
Student, SC
WHERE Student.Sno=SC.Sno;
连接操作的实现(续)
(1)嵌套循环算法(nested loop join) (2)排序-合并算法(sort-merge join 或merge join) (3)索引连接(index join)算法 (4)信息工程学院
并发控制 数据库设计 关系数据理论

数据库系统原理教程课后习题及答案(第九章)

数据库系统原理教程课后习题及答案(第九章)

第9章数据库恢复技术1.试述事务的概念及事务的4 个特性。

答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

事务具有4 个特性:原子性(Atomicity )、一致性(consistency )、隔离性( Isolation )和持续性(Durability )。

这4 个特性也简称为ACID 特性。

原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。

一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。

隔离性:一个事务的执行不能被其他事务干扰。

即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。

持续性:持续性也称永久性(Perfnanence ) ,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

接下来的其他操作或故障不应该对其执行结果有任何影响。

2 .为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。

答:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。

如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。

例如某工厂的库存管理系统中,要把数量为Q 的某种零件从仓库1 移到仓库2 存放。

则可以定义一个事务T , T 包括两个操作;Ql = Ql 一Q , Q2= Q2 + Q。

如果T 非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q 。

3 .数据库中为什么要有恢复子系统?它的功能是什么?答:因为计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此必须要有恢复子系统。

数据库原理与实践(Access 2019)(第3版)董卫军 电子课件 第9章 宏的使用

数据库原理与实践(Access 2019)(第3版)董卫军 电子课件 第9章 宏的使用
OpenReport 操作:
可以在“设计”视图或“打印预览”中打开报表,或 者可以立即打印报表。也可以限制需要在报表中打印 的记录数。
OpenTable 操作:
使用 OpenTable 操作,可以在“数据表”视图、“设 计”视图或“打印预览”中打开表,也可以选择表的 数据输入模式。
Quit 操作:
3.事件驱动机制
用户 或应用程序
事件处理程 序集
事件
事件队列
取出事件
查找对应的事件处 理程序
找到
运行对应的事件处 理程序
没找到
9.2 创建宏
9.2.1 创建单操作宏
①单击功能区“创建”选项卡中“宏与代码”组中的 “宏”按钮,系统打开宏设计窗口。
②从宏窗口中的下拉列表选择操作; ③输入对应的参数; ④保存宏;
如果拖动的是宏,则添加执行此宏的操作; 如果拖动其他对象,则将添加打开相应对象的操作。
选择拖动查询对象中的“学生及本信息窗体2”对象, 可以看到其参数已经自动设置好。
2. 在宏设计器窗口中添加操作
9.2.3 创建多操作宏
9.2.4 宏的嵌套
宏的嵌套是指在宏中可以调用别的宏或宏操作。 ➢ 使用RunMacro操作,将操作参数“宏名”设置为希
OpenForm 操作:
打开“窗体”视图中的窗体、窗体设计视图、打印预 览或者数据表视图。可以为窗体选择数据项或窗口模 式,并限制窗体所显示的记录。
OpenQuery 操作:
可以在“数据表”视图、“设计”视图或“打印预览” 中打开选择查询或交叉表查询。该操作将运行一个操 作查询。可以为查询选择数据输入方式。
使用 Quit 操作可以退出 Microsoft Access。另外, Quit 操作还可以从几个有关退出 Access 之前保存数 据库对象的选项中指定一个。

数据库原理与应用第9章答案解析主编肖海蓉、任民宏

数据库原理与应用第9章答案解析主编肖海蓉、任民宏

数据库原理与应用第9章答案解析主编肖海蓉、任民宏第9章数据库的备份与恢复9.1数据库的备份9.1.1备份的相关概念9.1.2SQLServer2012数据备份方式9.1.3SQLServer2012备份设备的管理9.1.4SQLServer2012数据库备份9.2数据库的恢复9.2.1SQLServer2012数据恢复模型9.2.2SQLServer2012数据库恢复9.2.3SQLServer2012数据库的分离和附加9.3数据的转换9.3.1SQLServer2012数据导出9.3.2SQLServer2012数据导入本章小结习题9第9 章数据库的备份与恢复课后习题参考答案1、简答题(1)简述SQL Server 2012 数据备份方式,并说明它们之间的区别。

答:SQL Server 2012 中把数据备份分为数据库备份、文件及文件组备份两大类。

①数据库备份分为完整备份、差异备份、事务日志备份。

其中完整备份是将整个数据库的所有数据及数据库对象完全复制到备份文件中;增量备份也称为差异备份,是完整备份的补充;这种备份方式须首先执行过一次完整备份,之后每次增量备份仅是备份最近一次完全备份以后数据库发生变化的数据;事务日志备份即备份发生在数据库上的事务,只备份事务日志中的内容。

完整备份比较容易理解,即备份一个完整数据库的当前所有内容,日志备份和增量备份都是在数据库完整备份的基础上备份后期数据库变动更新的内容,二者的区别是各自备份的起点不同。

②文件与文件组备份;若在创建数据库时建立了多个数据库文件或文件组,则可以使用文件和文件组备份方式。

一般可以将数据库文件组和文件存储在不同的备份设备上,通常应用于经常更新的超大型数据库或分布在多个文件的数据库,是比较复杂的备份。

(2)简述如何创建备份设备。

答:备份设备可以通过SQL Server Management Studio 或T-SQL 语言来实现。

1)使用SQL Server Management Studio 创建备份设备;①在对象资源管理器中,展开“服务器名称”→“服务器对象”→“备份设备”节点,右击“备份设备”节点,出现备份设备快捷菜单。

数据库原理与应用章节练习题及答案-第9章

数据库原理与应用章节练习题及答案-第9章

1.试述实现数据库安全性控制的常用方法和技术。

数据库安全性控制的常用技术包括用户标识与鉴别、存取控制、视图机制、审计、密码保护等。

2.什么是数据库中的自主存取控制方法和强制存取控制方法?在自主存取控制方法中,用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。

DBMS通过验证用户是否具有对访问数据有相应的权限来决定是否允许用户执行数据访问。

在强制存取控制中,DBMS所管理的全部实体被分为主体和客体两大类。

主体和客体都具有自己的安全级别。

但主体访问客体时,不仅要求主体具有访问客体的权限,而且要求主体的安全级和客体的安全级之间满足支配关系。

3.DBMS的完整性控制机制应具有哪些功能?DBMS的数据库完整性控制机制应具有以下三个功能:(1)定义功能:提供定义完整性约束条件的机制;(2)检查功能:检查用户发出的操作请求是否违背了约束条件。

一般有两种检查方式:一种是立即执行约束(即一条语句执行完成后立即检查),另一种是延迟执行约束(即在整个事务执行完毕后再检查约束);(3)违约响应功能:如果操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。

4.试述事务的概念及事务的四个特性。

数据库系统中的事务是一个不可分的操作序列,其中的操作要么全部都不执行,要把全部都执行。

事务一般应满足四个性质,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。

这四个性质在数据库领域中一般合称为事务的ACID性质。

(1)原子性事务的原子性是指一个事务内部的所有操作要么全部都执行,要么一个也不执行,即所有操作是一个整体。

(2)一致性事务的一致性是指事务的执行保证数据库从一个一致状态转到另一个一致状态,即数据不会应事务的执行而导致不一致。

但是,事务的内部无须满足数据库的一致性。

MySQL数据库原理及应用第9章教案

MySQL数据库原理及应用第9章教案

第9章MySQL中的事务及并发控制事务是多用户系统的一个数据操作基本单元,一个事务在执行过程中对资源的占用方式是动态的,同一时刻需要的资源是有限的。

如果事务按串行的方式执行,那么系统资源会大量处于空闲状态,为了提高系统资源的利用率,充分实现数据资源的共享,应允许多个事务并行地执行。

因此,数据库管理系统必须对多事务的并发操作加以控制,提供一整套完善的并发控制机制,以防止多用户并发使用数据库时造成数据错误和程序运行错误,从而保证数据的完整性。

【学习目标】●事务的概念及事务的ACID特性:原子性、持久性、隔离性和一致性●事务SQL控制语句●事务的可串行化调度●并发操作的三种问题:丢失修改、读脏数据和不可重复读●MySQL中的封锁机制及三个级别封锁协议9.1 事务9.1.1 事务的概念如果一个业务逻辑中包含的若干操作,要么都成功执行要么不执行其中任何一个操作,是一个不可分割的工作单元,那么这组操作序列我们定义为事务。

9.1.2 事务的ACID特性事务是用户定义的一组操作序列,这些操作要么全做要么全不做,事务的四个特性包括:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。

1. 原子性:事务里面的操作要么都执行,要么都不执行2. 一致性:事务执行之前和执行之后数据库状态保持一致3. 隔离性:一个事务的执行不被其他事务干扰4. 持久性:事务对数据库的改变是永久性的9.1.3 MySQL事务控制语句MySQL中可以使用BEGIN开始事务,使用COMMIT结束事务,中间可以使用ROLLBACK回滚事务。

COMMIT的作用是提交,即提交事务的所有操作,事务提交是将事务中所有对数据的更新写回到磁盘上的物理数据库中去,事务正常结束;ROLLBACK的作用是回滚,即在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的操作全部撤销,回滚到事务开始时的状态。

数据库原理与应用教程(第3版)第9章 sql server 2005基础第三版

数据库原理与应用教程(第3版)第9章 sql server 2005基础第三版

28
完成安装
2021/8/5
29
9.3 配置SQL Server 2005
• 利用SQL Server配置管理器(SQL Server Configuration Manager)实现。
• 单击“开始”“Microsoft SQL Server 2005”“配置工具”“SQL Server Configuration Manager”。
Studio工具
2021/8/5
2
9.1 SQL Server 2005平台构成
• 数据库引擎 • 分析服务(Analysis Services) • 集成服务(Integration Services) • 复制技术 • 通知服务(Notification Services) • 报表服务(Reporting Services) • 服务代理(Service Broker) • 全文搜索
国家“十一五”规划教材
数据库原理与应用教程(第3版)
2021/8/5
1
第9章 SQL Server 2005基础
• 9.1 SQL Server 2005平台构成 • 9.2 安装SQL Server 2005 • 9.3 配置SQL Server 2005 • 9.4 SQL Server Management
满足企业版的全部操作系统。 Windows 2000的Professional,同时安装SP4。 Windows XP Professional,同时安装SP2或更高版本。
满足企业版和标准版的全部操作足企业版、标准版和工作组版的全部操作系统。 Windows XP Home Edition,同时安装SP2或更高版本。 Windows Server 2003 Web Edition,同时安装SP1或更高版

数据库原理及应用(何玉洁)-第9章

数据库原理及应用(何玉洁)-第9章
16
17
“保存查询”对话框 保存查询” 保存查询
18
2000基础 第9章 SQL Server 2000基础
1
9.1 SQL Server 2000概述 概述
2000共提供了四个服务 共提供了四个服务: SQL Server 2000共提供了四个服务: 1、SQL Server 2000的最核心的服务 的最核心的服务。 是SQL Server 2000的最核心的服务。 2、SQL Server Agent 能够根据系统管理员预先设定好的计划自动执行相 应的功能。 应的功能。 Coordinator(DTC) 3、Distributed Transaction Coordinator(DTC) 分布式事务处理协调器是一个事务管理器 是一个事务管理器, 分布式事务处理协调器是一个事务管理器,在DTC 支持下, 支持下,客户可以在一个事务中访问不同服务器上的数 据库。 据库。 4、Microsoft Search 能够对字符数据进行检索。
7
8
2、查询分析器
SQL查询分析器( Analyaer) SQL查询分析器(Query Analyaer)是一个 查询分析器 图形化的查询工具, 图形化的查询工具,用于以文本的方式编辑 Transact-SQL语句,然后发送给服务器, Transact-SQL语句,然后发送给服务器,并接 语句 受执行的结果。使用这个工具, 受执行的结果。使用这个工具,用户可以交互 地设计和测试Transact-SQL语句、 地设计和测试Transact-SQL语句、批处理和脚 Transact 语句 本。
5
图9-19 连接成功后的企业管理器
6
Server数据库 SQL Server数据库 Master数据库 Master数据库 是一个非常重要的数据库, 是一个非常重要的数据库,记录了一些关于 Server系统相关信息 系统相关信息。 SQL Server系统相关信息。 注意:千万不要在master master数据库中创建用户 注意:千万不要在master数据库中创建用户 的对象 Model数据库 Model数据库 可用来作为创建系统中的所有数据库模板。 可用来作为创建系统中的所有数据库模板。 Msdb数据库 Msdb数据库 用来处理有关SQL Server代理程序内的警 用来处理有关SQL Server代理程序内的警 操作员及作业等工作, 告、操作员及作业等工作,例如当警告发生时通 知哪个操作员等相关记录。 知哪个操作员等相关记录。 Tempdb数据库 Tempdb数据库 包含所有的暂存表格与暂存存储过程。 包含所有的暂存表格与暂存存储过程。

《数据库原理与应用》(第三版) 课件 第9章 游标

《数据库原理与应用》(第三版) 课件 第9章 游标

9.2创建游标——DECLARE CURSOR
其参数意义说明如下:
●cursor_name
设定Transact-SQL服务器游标的名称。 ●INSENSITIVE
指定创建所定义的游标使用的数据的临时复本。对游标的所有请求都从tempdb中
的这一临时表中得到应答。因此,在对该游标进行提取操作时返回的数据中不反映对
如果指定LOCAL,则将游标的作用域设定为局部。这样,对于在其中创建的批处理、存 储过程或触发器来说,该游标名称仅在这个局部范围内有效。
如果指定GLOBAL,则将游标的作用域设定为全局。这样,在由连接执行的任何存储过程
或批处理中,都可以引用该游标名称。 >如果GLOBAL和LOCAL参数都未指定,则默认值由default to local cursor数据库选项的
设置控制。
2023/9/9

9.2创建游标——DECLARE CURSOR
第9章游标
· 9.1游标概述 · 9.2创建游标——DECLARE CURSOR · 9.3打开游标——OPEN
· 9.4检索游标数据——FETCH · 9.5更新游标数据 · 9.6关闭和删除游标
2023/9/9
第9章游标
9.1游标概述
9.1.1游标的概念
游标可以看作是一种指针,通过这种指针,SQL Server提供了对一个结果集
[STATIC|KEYSETIDYNAMICIFAST_FORWARD]
[READ_ONLY ISCROLL_LOCKSIOPTIMISTIC] [TYPE_WARNING ]
FOR select_statement
[ FOR UPDATE [ OF column_name[,..n]]]
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
但是,事务并非总能顺利完成,这种事务被称为中止事务 若要确保事务的原子性,中止事务对数据库所做的任何改变必须撤销 一旦中止事务造成的变更被撤销,就说事务已回滚
2013年6月2日星期日
数据库系统原理
15
事务状态(续)

为了详细研究事务运行过程中状态的变化,建立了一个简单的抽象事务
模型。事务必须处于以下状态之一:
系统中可能存在各种各样的事务,有些时间较短,有些较长 如果事务串行执行,短事务可能要等待它前面的长事务完成, 这可能导致难以预测的延迟 并发执行也可以减少平均响应时间(average response time),即 一个事务从开始到完成所需要的平均时间

减少等待时间


2013年6月2日星期日

事务访问数据使用如下的两个操作:

read(X):从数据库传送数据项X到读操作事务的局部缓冲区 write(X):从写操作事务的局部缓冲区把数据项X传回数据库

2013年6月2日星期日
数据库系统原理
9
事务的特性(续)

例9.1事务从账户A过户50元到账户B。该事务可定义为: T:read(A); A:=A50; write(A); read(B); B:=B+50; write(B).
2013年6月2日星期日
数据库系统原理
10
事务的特性(续)

原子性:

假设事务Ti执行前,账户A和账户B分别有1000元和2000元。现在假 设在事务Ti执行时,系统出现故障,导致Ti的执行没有成功完成 这种故障可能是电源故障、硬件故障或软件故障等 再假设故障发生在write(A)操作之后,write(B)执行之前。这种故障, 数据库反映出来的是账户A有950元,而账户B有2000元。该故障的 结果导致系统销毁了50元,系统的这种状态就称为不一致状态 系统必然会在某一时刻处于不一致状态,如何保证这种不一致性在 数据库系统中是不可见,是要求事务保持原子性的原因 具有原子性的事务,其所有活动要么在数据库中全部反映出来要么 全部不反映
2013年6月2日星期日
数据库系统原理
27
并发执行可能导致的问题


当多个事务并发访问同一数据对象时,如果不加控制就可能破坏事务的 隔离性,导致数据的不一致 事务并发执行可能导致丢失修改、读“脏”数据和不可重复读等问题 1. 丢失修改 两个或多个事务同时从数据库中读取相同的数据对象并进行修改, 后提交的事务的修改覆盖了先提交的事务的修改,导致先提交的事 务的修改丢失 2. 读“脏”数据 读“脏”数据是指事务Ti修改某一数据,并将其写回磁盘,事务Tj 读取同一数据后,事务Ti由于某种原因被撤消。这时,被事务Ti修 改过的数据恢复原值,事务Tj读到的数据就与数据库中的数据不一 致,是不正确的数据,又称为“脏”数据

事务做的更新在事务结束之前已经写入磁盘 有关事务已执行的更新和已写到磁盘上的更新信息必须足以让 数据库在系统出现故障后,能够重新构造事务所做的更新

2013年6月2日星期日
数据库系统原理
14
事务状态

成功完成的事务称为已提交事务
在无任何故障的情况下,所有事务能够成功完成其各执行步骤


持久性:一个事务完成后,它对数据库的改变必须是永久的,即使系统
出现故障时也是如此
2013年6月2日星期日
数据库系统原理
8
事务的特性(续)

事务是恢复和并发控制的基本单位

本章将以一个简化的银行系统为例,该系统由A、B、C账户以及访
问、更新这些账户的一组事务组成。暂且假设数据库永久驻留在磁 盘上,有些部分临时驻留在主存储器中

即使每个事务都能确保一致性和原子性,但如果几个事务并发执行, 它们的操作会以某种人们所不希望的方式交叉执行,这也会导致不 一致的状态 在例9.1中,当A中总金额已被减去50元并已写回A,而B中总金额被 加上50元后还未被写回时,数据库暂时是不一致的


此时,另一个并发执行的事务Tj在这个中间时刻读取A和B的值 并进行 A+B的计算,将会得到不一致的值 若事务Tj基于它所读取的不一致值对A和B进行更新,即使两个 事务顺利完成,数据库仍可能处于不一致状态
数据库系统原理
5
9.1 事务的概念

9.1.1 事务的特性

9.1.2 事务状态
9.1.3 SQL中的事务定义

2013年6月2日星期日
数据库系统原理
6
事务的特性

事务具有ACID四个特性:

原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability)

SQL标准还规定系统必须保证可串行化和不存在级联回滚,该标准 的可串行化要求具体调度的执行结果必须与一个可串行调度的
2013年6月2日星期日
数据库系统原理
22
9.2 并发执行概述
9.2 并发执行

9.2.1 概述

9.2.2 并发执行可能导致的问题
2013年6月2日星期日
数据库系统原理
24
概述

多个事务可以串行执行,即每一时刻只有一个事务运行,其他事务必须 等到这个事务结束以后方能运行。 事务处理系统允许多个事务并发执行,多个事务并发更新数据会引起数 据的不一致性问题 在事务并发执行的条件下,为保证数据的一致性,就需要并发控制机制 去进行一些特殊的处理 如果仅要求事务串行执行,事务的处理就简单,但整个系统的利用率不 高

活动状态(active):初始状态,事务执行时处于该状态 部分提交状态(partially committed):最后一条语句被执行后的状态


失败状态(failed):正常的执行不能继续后的状态
中止状态(aborted):事务回滚并且数据库已被恢复到事务开始执行 前的状态


提交状态(committed):成功完成后的状态



2013年6月2日星期日
数据库系统原理
11
事务的特性(续)

一致性:

要求事务执行不改变A、B之和 如果没有一致性要求,事务就会创造或销毁钱! 容易验证,如果数据库在事务执行前是一致的,那么事务执行后仍


将保持一致性
2013年6月2日星期日
数据库系统原理
12
事务的特性(续)

隔离性:
数据库系统原理
3
9.1事务的概念
事务的概念

事务是用
不做,是一个不可分割的工作单元

例如,在关系数据库中,一个事务可以是:

一条SQL语句 一组SQL语句 整个程序



事务是并发控制与调度的基本单位,也是数据库恢复的基本单位
2013年6月2日星期日


事务的隔离性确保事务并发执行后的系统状态与这些事务以某种一 个接一个的次序执行后的状态是等价的
2013年6月2日星期日
数据库系统原理
13
事务的特性(续)

持久性:

一旦事务成功完成,即资金转账已经发生,系统就必须保证任何系 统故障都不会引起这次转账相关数据的丢失

假设计算机系统的故障会导致内存数据丢失,但已写入磁盘的数据 却不会丢失,在这种条件下,通过以下任何一条可确保事务的持久 性:


ABORT-TRANSACTION标志事务进入失败状态,系统消除事务中
所有操作对数据库和其他事务的影响,结束事务的运行
2013年6月2日星期日
数据库系统原理
17
事务状态(续)
部 分 提 交 状态
提交 状态
活动 状态
失败 状态 图9-1 事务的状态转换图 中止 状态
2013年6月2日星期日
数据库系统原理
18
事务状态(续)

一个事务进入失败状态后,数据库管理系统首先消除该事务的操作对数 据库和其它事务的影响,然后使事务进入中止状态,然后系统有两种选 择处理: 重启事务(restart) 仅当引起事务中止的软硬错误不是由事务的内部逻辑所产生时 才可以重启事务 重启事务将被看成是一个新事务 废除事务(kill) 若中止错误是由于事务的内部逻辑错误,如零做除数、程序有 误,或者输入错误,或者程序所需数据在数据库中没有找到等 情况下,要进行该事务的废除
2013年6月2日星期日
数据库系统原理
19
SQL对事务的支持

SQL的数据操纵语言包含一些与事务活动有关的语句。SQL中事务的开 始是隐含的,事务的结束用下列SQL语句之一来表示:

COMMIT WORK:提交当前事务并开始一个新的事务。 ROLLBACK WORK:中止当前事务。 这两个语句中的关键字WORK 是可选的,这些语句强制每个打开 的游标关闭,这就引起了所有数据库定位的丢失 有些SQL实现能在COMMIT时防止自动地CLOSE和数据库定位的 丢失,但对ROLLBACK不支持 如果一个程序结束前没有用这两条命令,其对应的更新结果或者提 交或者回滚(具体哪一个会发生,标准没有规定)视具体实现而定



2013年6月2日星期日
数据库系统原理
25
概述(续)

数据库系统使用并发执行机制的动机和操作系统中使用多道程序设计的 动机是一样的,主要有如下两条理由:

提高吞吐量和资源的利用率

一个事务由多个步骤组成,一些步骤涉及I/O活动,而另一些涉 及到CPU活动

计算机系统中CPU与磁盘可以并行运行。

隔离级别的格式为 ISOLATION LEVEL <级别> 这里<级别>从高到低依次为
相关文档
最新文档