《数据库原理及应用项目7事务、索引和视图的创建与应用课件.ppt》由会员分享,可在线阅读,更多相关《数据库原理及应用项目7事务、索引和视图的创建与应用课件.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库原理与应用数据库原理与应用讲授人CONTENTS项目项目1 数据库设计数据库设计项目项目2 搭建搭建SQL Server 2008 数据库管理系统环境数据库管理系统环境项目项目3 创建和管理数据库创建和管理数据库项目项目4 创建和管理数据表创建和管理数据表项目项目5 表中数据操作表中数据操作项目项目6 进行进行T-SQL程序设计程序设计项目项目8 存储过程的创建和使用存储过程的创建和使用项目项目7 事务、索引和视图的创建事务、索引和视图的创建与应用与应用项目项目9 触发器的创建和使用触发器的创建和使用 项目项目10 SQL Server的安全性管理的安全性管理项目项目11 数据库的备份和
2、恢复数据库的备份和恢复项目项目12 SQL Server数据转换数据转换项目项目13 SQL Server代理服务任务代理服务任务项目项目7 事务、索引和视图事务、索引和视图 的创建与应用的创建与应用任务7.1-7.3项目目标项目导读项目实训知识巩固能力目标02知识目标01项目目标项目目标了解事务的概念和特性。掌握事务创建。了解索引的类型和特点。掌握索引的创建。了解视图的概念和作用。掌握视图的创建。能够熟练创建和提交事务的简单方法。能够完成索引的创建、管理、维护和删 除等操作。能够实现视图的创建、修改、使用和删 除等操作。CONTENTS任务任务7.1 7.1 知识准备知识准备任务任务7.3
3、7.3 知识和技能扩展知识和技能扩展任务任务7.2 7.2“网络论坛网络论坛”数据库数据管理数据库数据管理 7.1.1 7.1.1 事务的概念和特性事务的概念和特性任务任务7.1 知识准备知识准备事务(Transaction)是单个的工作单元。事务应该具有4种属性:原子性、一致性、隔离性和持久性。(1)原子性:事务的原子性保证事务包含的一组更新操作是原子不可分的,对数据库而言全做或者全不做,不能部分地完成。(2)一致性:一致性要求事务执行完成后,将数据库从一个一致状态转变到另一个一致状态。(3)隔离性:隔离性意味着一个事务的执行不能被其他事务干扰。(4)持久性:系统提供的持久性保证要求一旦事务
4、提交,那么对数据库所作的修改将是持久的,无论发生何种机器和系统故障都不应该对其有任何影响。7.1.3 7.1.3 视图的概念和作用视图的概念和作用任务任务7.1 知识准备知识准备视图是由一个或多个基本表或其他视图导出的表。使用视图有以下几个优点。(1)简化查询语句(2)增加可读性(3)保证数据逻辑独立性(4)增加数据的安全性和保密性视图也有不少缺点,如操作视图会比直接操作基础表慢,所以尽量要避免在大型表上创建视图,也尽量不要创建嵌套视图。7.2.1 7.2.1 任务描述及分析任务描述及分析任务任务7.2 “网络论坛网络论坛”数据库数据数据库数据 管理管理 1.在进行用户注册时,需要保证用户名的
5、唯一性。一般做法是第一步先检查用户名是否重复,如果不重复再进行第二步,添加用户。但是这样的做法在极端情况下还是会出现问题,因此需要把这两步合并在一起成为一个整体,如果成功了则完成,否则放弃添加。2.下面考虑此任务,在网上论坛中需要提供主题搜索功能,在未添加索引的情况下,当主帖数据表Topic记录数超过10万条以上时,查询的时间会大幅增加,为加快查询速度,我们需要在Topic表的Title字段增加索引。3.在网上论坛中还有需要根据用户查询到该用户的发言内容,因此我们需要把用户名和他的发言标题同时显示。7.2.2 7.2.2 创建事务创建事务任务任务7.2 “网络论坛网络论坛”数据库数据数据库数据
6、 管理管理 用户自定义事务的定义方法主要有以下几个步骤。1.开始事务 语法格式:在SQL Server中,显式地开始一个事务可以使用BEGIN TRANSACTION语句。7.2.2 7.2.2 创建事务创建事务任务任务7.2 “网络论坛网络论坛”数据库数据数据库数据 管理管理 用户自定义事务的定义方法主要有以下几个步骤。3.撤销事务语法格式:若要撤销一个事务,可以使用ROLLBACK TRANSACTION语句,它使得事务回滚到起点,撤销自最近一条BEGIN TRANSACTION语句以后对数据库的所有更改,同时也标志了一个事务的结束。另外,一条ROLLBACK WORK语句也能撤销一个事务
7、,语法格式:7.2.2 7.2.2 创建事务创建事务任务任务7.2 “网络论坛网络论坛”数据库数据数据库数据 管理管理 用户自定义事务的定义方法主要有以下几个步骤。4.回滚事务SAVE TRANSACTION的语法格式:ROLLBACK TRANSACTION语句除了能够撤销整个事务,还可以使事务回滚到某个点。不过在这之前需要使用SAVE TRANSACTION语句来设置一个保存点。SAVE TRANSACTION语句会向已命名的保存点回滚一个事务。如果在保存点被设置后,当前事务对数据进行了更改,则这些更改会在回滚中被撤销。语法格式:7.2.3 7.2.3 创建索引创建索引下面为数据库Book
8、BBSDB中的Topic表创建一个不唯一性非聚集索引TopicTitle,操作步骤如下。任务任务7.2 “网络论坛网络论坛”数据库数据数据库数据 管理管理 1.1.利用对象资源管理器创建索引利用对象资源管理器创建索引(2)单击“添加”按钮,打开从dboTopic中选择“列”窗口,在窗口中的“表列”列表中启用“Title”复选框,如图7.2所示。图 7.2 选择索引列7.2.3 7.2.3 创建索引创建索引下面为数据库BookBBSDB中的Topic表创建一个不唯一性非聚集索引TopicTitle,操作步骤如下。任务任务7.2 “网络论坛网络论坛”数据库数据数据库数据 管理管理 1.1.利用对象
9、资源管理器创建索引利用对象资源管理器创建索引(3)单击“确定”按钮,返回“新建索引”窗口,然后再单击“新建索引”窗口的“确定”按钮,“索引”节点下便生成了一个名“TopicTitle”的索引,说明该索引创建成功,如图7.3所示。图 7.3 创建好的索引7.2.3 7.2.3 创建索引创建索引使用CREATE INDEX语句来创建索引,这是最基本的索引创建方式,并且这种方法最具有适应性,可以创建出符合自己需要的索引。使用这种方法,可以指定索引类型。任务任务7.2 “网络论坛网络论坛”数据库数据数据库数据 管理管理 2.2.利用利用T-SQLT-SQL语句创建索引语句创建索引 语法格式:7.2.4
10、 7.2.4 创建视图创建视图(1)在SQL Server Management Studio的“对象资源管理器”中,选择“数据库”,然后右击“视图”项,选择“新建视图”命令,如图7.4所示。任务任务7.2 “网络论坛网络论坛”数据库数据数据库数据 管理管理 1.1.利用对象资源管理器创建视图利用对象资源管理器创建视图图 7.4 新建视图(2)在“添加表”对话框中选中我们要用来创建视图的表,然后单击“添加”按钮将选中的表添加到“视图设计器”中,单击“关闭”按钮退出“添加表”对话框。如图7.5所示。图 7.5 添加表对话框(3)在“视图设计器”中,在上方的“关系图”窗格里选择视图中要显示的列,如
11、果选择,则表示把数据表的所有列都放在视图中,在下面的“SQL”窗格中,会生成相应的T-SQL代码,如图7.6所示。图 7.6 视图设计器窗口(4)在“SQL”窗格中可以修改现有的T-SQL语句,修改完毕后单击工具栏上的“执行”按钮就可以在下方的“结果”窗格中看到此段代码的执行结果。(5)单击“按钮保存”,弹出“选择名称”对话框,填写视图名称,单击“确定”按钮保存并退出,如图7.7所示。图 7.7 选择名称对话框(6)验证视图。在“新建查询”窗口中执行如下代码,结果如图7.8所示。图 7.8 验证语句及执行结果7.2.4 7.2.4 创建视图创建视图在SQL Server 2008中,使用CRE
12、ATEVIEW 语句创建视图。任务任务7.2 “网络论坛网络论坛”数据库数据数据库数据 管理管理 2.2.利用利用T-SQLT-SQL语句创建视图语句创建视图语法格式:任务任务7.3 知识与技能扩展知识与技能扩展2.2.索引的删除索引的删除(1)通过对象资源管理器删除索引启动SQL Server Management Studio,在“对象资源管理器”中展开数据库BookBBS选择“表”中“dbo.users的索引”,选择其中要删除的索引,单击鼠标右键,在弹出的快捷菜单上选择“删除”菜单项,在打开的“删除对象”窗口中单击“确定”按钮即可。(2)通过T-SQL命令删除索引从当前数据库中删除一个或
13、多个索引。语法格式:【示例7-2】删除 Bookbbs 数据库中 users 表上的聚集索引 C_id。程序代码如下:任务任务7.3 知识与技能扩展知识与技能扩展3.3.通过视图查看数据通过视图查看数据查询视图数据既可以使用SQL Server Management Studio,也可以使用SELECT语句。使用SQL Server Management Studio查询视图数据的步骤如下。(1)展开“对象资源管理器”在“数据库”中选“BookBBS数据库”。(2)选中并展开“视图”项,右击UserTopic视图,在快捷菜单中选择“打开视图”命令后进入数据浏览窗口,可和查看表数据一样查看Use
14、rTopic视图中的数据。使用SELECT语句查询视图的数据与查询表的语法一致。如:SELECT*FROM UserTopic。任务任务7.3 知识与技能扩展知识与技能扩展4.4.视图重命名视图重命名(1)通过对象资源管理器重命名视图在对象资源管理器中右击需要重命名的视图,在快捷菜单中选择“重命名”命令,然后输入新的视图名称即可。(2)通过T-SQL命令重命名视图利用系统存储过程sp_rename重命名视图。系统存储过程sp_rename更改当前数据库中用户创建对象的名称,此对象可以是表、列、索引、视图或用户定义数据类型等。语法格式:项目实训项目实训实训实训 1 打开打开BookSaleDB数
15、据库并新建查询数据库并新建查询分析(1)在建好的“BookSaleDB”数据库中,需要先在相关表“Publishers”和“Categories”表中增加记录。(2)在“Books”表中添加图书资料。(3)在“BookStock”表中添加库存数量记录。实现思路及关键步骤(1)进行事务操作模拟。(2)单击“开始”“程序”Microsoft SQL Server 2008SQL Server Management Studio命令。(3)在弹出的“连接服务器”对话框中选择默认实例及Windows验证方式,单击“连接”按钮。(4)如果对象资源管理器不可见,选择“视图”菜单的“对象资源管理器”命令。(
16、5)在对象资源管理器中,扩展“数据库”节点,选择BookSaleDB数据库。(6)在工具栏中单击“新建查询”按钮。(7)在查询窗口输入:项目实训项目实训实训实训 1 打开打开BookSaleDB数据库并新建查询数据库并新建查询分析(1)在建好的“BookSaleDB”数据库中,需要先在相关表“Publishers”和“Categories”表中增加记录。(2)在“Books”表中添加图书资料。(3)在“BookStock”表中添加库存数量记录。实现思路及关键步骤(8)在工具栏中单击“执行”按钮并查看结果。项目实训项目实训实训实训 3 创建一个能够显示图书标题和对应类别名称创建一个能够显示图书标
17、题和对应类别名称 的视图的视图分析(1)通过使用SQL Server Management Studio可以方便直观地创建视图。(2)需要理解表间连接。实现思路及关键步骤 方法一:通过对象资源管理器创建。(1)在“对象资源管理器”中选择“BookSaleDB”数据库。(2)展开后在“视图”上单击右键,选择新建视图,然后选择Books和Categories表,选中Books表的Id和Title,还有Categories表的Name前的复选框。(3)保存为BookCategorie的视图。方法二:通过如下代码进行创建。知识巩固知识巩固一、选择题1.SQL Server中的事务以()3种模式运行。A
18、.自动提交事务 B.显式事务 C.隐式事务 D.默认事务2.事务应该具的属性有()。A.原子性 B.一致性 C.隔离性 D.持久性3.在Microsoft SQL Server 2008系统中,基本的索引类型是()。A.聚集索引 B.非聚集索引 C.唯一索引 D.非唯一索引4.下面()不是T-SQL的事务处理命令。A.BEGIN TRAN B.BEGIN TRANSACTIONC.BEGIN D.COMMIT5.创建视图的必要因素不包括以下()。A.表 B.字段 C.名称 D.主键 知识巩固知识巩固二、问答和操作练习1.为什么需要通过事务进行数据库操作?2.创建索引有什么好处?需要注意什么问题?3.创建视图的目的是什么?4.为什么事务一般在非数据库环境实现?Thank You