SQL Server 2005数据库任务化教程 梁竞敏 黄华林 宋广科 等编著 任务四

上传人:E**** 文档编号:89391619 上传时间:2019-05-24 格式:PPT 页数:51 大小:152.50KB
返回 下载 相关 举报
SQL Server 2005数据库任务化教程  梁竞敏  黄华林  宋广科  等编著 任务四_第1页
第1页 / 共51页
SQL Server 2005数据库任务化教程  梁竞敏  黄华林  宋广科  等编著 任务四_第2页
第2页 / 共51页
SQL Server 2005数据库任务化教程  梁竞敏  黄华林  宋广科  等编著 任务四_第3页
第3页 / 共51页
SQL Server 2005数据库任务化教程  梁竞敏  黄华林  宋广科  等编著 任务四_第4页
第4页 / 共51页
SQL Server 2005数据库任务化教程  梁竞敏  黄华林  宋广科  等编著 任务四_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《SQL Server 2005数据库任务化教程 梁竞敏 黄华林 宋广科 等编著 任务四》由会员分享,可在线阅读,更多相关《SQL Server 2005数据库任务化教程 梁竞敏 黄华林 宋广科 等编著 任务四(51页珍藏版)》请在金锄头文库上搜索。

1、SQL Server 2005数据库任务化教程,梁竞敏 黄华林 宋广科 等编著,中国水利水电出版社,任务四 分销系统数据库 索引和视图的设计,一、任务目标,1 掌握索引的概念、索引的类型并熟悉索引的优点、缺点; 2 掌握索引的创建和维护。 3 掌握视图的概念、视图的创建方式; 4 掌握视图的应用,熟练通过视图进行的数据查询和数据维护操作。,二、教学任务,1 介绍索引的基本知识; 2 使用图形化工具创建索引; 3 使用Transact-SQL创建索引; 4 索引的维护; 5 为分销系统创建索引; 6介绍视图的基本知识; 7 使用图形化工具创建视图; 8 对视图的维护、管理; 9 通过视图进行的数

2、据查询和数据维护操作; 10 为分销系统创建视图。,4.1 分销系统索引的设计,用户对数据库最频繁的操作是进行数据查询。一般情况下,数据库在进行查询操作时需要对整个表进行数据搜索。当表中的数据很多时,搜索数据就需要很长的时间,这就造成了服务器的资源浪费。为了提高检索数据的能力,数据库引入了索引机制。索引是数据库中一种特殊数据类型的对象,不单可用来提高表中数据的查询速度,还能够实现某些数据完整性,4.1.1 索引的基础知识,索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引是依赖于表建立的,它提供了数据库中编排表中数据的

3、内部方法。一个表的存储是由两部分组成的,一部分用来存放表的数据页面,另一部分存放索引页面。索引就存放在索引页面上,通常,索引页面相对于数据页面来说小得多。当进行数据检索时,系统先搜索索引页面,从中找到所需数据的指针,再直接通过指针从数据页面中读取数据。,4.1.1 索引的基础知识,建立索引的目的有如下几点: (1)保证数据记录的唯一性。 (2)可以大大加快数据检索速度。 (3)可以加速表与表之间的连接。 (4)加快ORDER BY和GROUP BY操作。 (5)提高系统性能。,4.1.2 索引的分类,SQL Server中提供了以下几种索引: (1)聚簇索引 (2)非聚簇索引 (3)唯一性索引

4、,4.1.3 索引的操作,1.使用图形工具创建索引 2.使用CREATE INDEX创建索引,4.1.3 索引的操作,任务4-1:为分销系统数据库中的客户资料表创建一个唯一性非聚集索引index_KHMC。,4.1.3 索引的操作,详细步骤如下:图4-3 新建索引窗口 在SQL Server Management Studio的对象资源管理器中,展开分销系统数据库中的表客户资料。右击【索引】,在弹出的快捷键菜单中选择【新建索引】。 打开【新建索引】窗口,在【索引名称】项中输入索引名称index_KHMC;在【索引类型】的下拉列表中选择“非聚集”,并启用【唯一】复选项,如图4-3。,4.1.3

5、索引的操作, 在输入索引名称和选择索引类型后,接着要添加索引键列。单击【添加】按钮,在弹出的窗口的列表中选择【客户名称】复选框,如图4-3。图4-4 新建的索引 单击【确定】按钮,返回【新建索引】窗口,然后再单击【新建索引】窗口的【确定】按钮,【索引】节点下便生成了一个名为index_KHMC的索引,则说明该索引创建成功。,4.1.3 索引的操作,2.使用CREATE INDEX创建索引 在Transact-SQL语句中可以用Create Index语句在一个已经存在的表上创建索引,语法结构如下: CREATE UNIQUE CLUSTERED | NONCLUSTERED INDEX ind

6、ex_name ON table | view ( column ASC | DESC ,.n ) WITH ,.n ON filegroup := PAD_INDEX | FILLFACTOR = fillfactor | IGNORE_DUP_KEY | DROP_EXISTING | STATISTICS_NORECOMPUTE | SORT_IN_TEMPDB ,4.1.3 索引的操作,任务4-2:用Transact-SQL语句完成任务4-1。 在SQLQuery窗口中执行如下命令: USE 分销系统 GO CREATE UNIQUE NONCLUSTERED INDEX index_

7、KHMC ON 客户资料(客户名称) go,4.1.3 索引的操作,3.查看索引信息 可以使用系统存储过程Sp_helpindex也可查看特定表上的索引信息。 任务4-3:使用系统存储过程Sp_helpindex也可查看客户资料表上的索引信息。 在SQLQuery窗口中执行如下命令: USE 分销系统 GO exec Sp_helpindex 客户资料图4-5 客户资料表上的索引信息 go,4.1.3 索引的操作,4.删除索引 在图形化工具中,右击某个表上的某个索引,执行右键菜单命令【删除】,即可删除该索引。 使用Transact-SQL语句也可以删除索引,格式如下: Drop Index 表

8、名.索引名 可以用一条Drop Index语句删除多个索引,索引之间要用逗号分开。,4.1.3 索引的操作,任务4-4:用Transact-SQL语句删除客户资料表的索引index_KHMC。 在SQLQuery窗口中执行如下命令: use 分销系统 go Drop Index 客户资料.Index_KHMC go,4.1.4 设置索引的选项,Create Index语句中,有很多选项,对其中几个重要选项作如下介绍。,4.1.4 设置索引的选项,Create Index语句中,有很多选项,对其中几个重要选项作如下介绍。 1.FILLFACTOR选项 2.PAD_INDEX选项,4.1.5 分销

9、系统中的索引,在销售模块中,经常要通过客户名称来查询销售订单表中的信息,应该给销售订单表的客户名称列创建索引Index_KHMC;也经常会通过总金额来查询销售订单表中的信息或排序,也应该给销售订单表的总金额列创建索引Index_ZJE;还经常会通过查询某段日期期间的销售订单表的信息或进行统计,还应该给销售订单表的日期列创建索引Index_RQ。,4.1.5 分销系统中的索引,任务4-5:用Transact-SQL语句给销售订单表的总金额列创建索引Index_ZJE。 在SQLQuery窗口中执行如下命令: USE 分销系统 GO CREATE NONCLUSTERED INDEX index_

10、ZJE ON 销售订单(总金额) go,4.1.5 分销系统中的索引,任务4-6:用Transact-SQL语句给销售订单表的日期列创建索引Index_RQ。 在SQLQuery窗口中执行如下命令: USE 分销系统 GO CREATE NONCLUSTERED INDEX index_RQ ON 销售订单(日期) go,4.2 分销系统视图的设计,视图是关系数据库中提供给用户以多种角度观察数据库中数据的重要机制。视图是基于某个查询结果的虚表,用户通过视图来浏览感兴趣的数据,而数据的物理存放位置仍在基础表中。,4.2.1 视图的概念,视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含

11、一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。那些用于产生视图的表叫做视图的基础表。一个视图也可以从另一个视图产生。,4.2.1 视图的概念,使用视图有很多的优点,主要表现在: (1)视点集中 (2)简化操作 (3)定制数据 (4)合并分割数据 (5)安全性,4.2.2 视图的创建,在SQL Server中,创建视图有两种方式:一种是在SQL Server Management Studio中使用图形化的工具创建,另一种是通过Transact-SQl语句中的Create View来创建。,4.2

12、.2 视图的创建,任务4-7:为分销系统数据库创建一个视图,要求连接销售订单表和销售订单明细表。 详细步骤如下:图4-6 创建视图并添加表 在SQL Server Management Studio的对象资源管理器中,展开分销系统数据库,击【视图】节点,在弹出的快捷菜单中选择【新建视图】命令,如图4-6。 在【添加表】窗口中,选择要创建的视图的基础表销售订单表和销售订单明细表,再单击选择【添加】按钮。如果还需要添加其他表,是可以继续选择添加基础表,如果不再需要添加,则单击【关闭】按钮。如图4-6所示。,4.2.2 视图的创建, 在视图窗口的【关系图窗格】中,显示销售订单表和销售订单明细表的全部

13、列信息,在此可以选择视图中查询的列,这里选择了销售订单表的日期列与销售订单明细表的销售订单号、序号、商品名称、规格型号、数量、单价、金额。对应地,在【条件窗格】中就列出了选择的列,在【显示SQL】窗格中就就显示了两个表的连接语句,表示了这个视图包含的数据内容,如图4-7所示。 单击常用工具栏的【保存】按纽,在弹出的【选择名称】窗口中输入视图名称XSMX_view,单击【确定】按纽即可。然后就可以看到【视图】节点下增加了一个视图XSMX_view。,4.2.2 视图的创建,2.用Create View语句创建视图 在SQL Server中,也可以用Create View语句来创建视图,语法如下:

14、 CREATE VIEW database_name.owner_name.view_name(column,) WITH ENCRYPTION|SCHEMABINDING|VIEW_METADATA AS select_statement WITH CHECK OPTION,4.2.2 视图的创建,任务4-8:用Transact-SQL语句完成任务4-7。 在SQLQuery窗口中执行如下命令: USE 分销系统 GO create view XSMX_view as SELECT 日期,销售订单明细表.销售订单号,序号,商品名称,规格型号,数量,单价,金额 FROM 销售订单 INNER

15、JOIN 销售订单明细表ON 销售订单.销售订单号= 销售订单明细表.销售订单号 go,4.2.3 管理视图,创建视图后,需要对视图进行管理,比如,修改视图的定义、删除不再需要的视图、参看视图的定义文本以及查看视图与其它数据库对象之间的依赖关系等各方面的管理。,4.2.3 管理视图,1.使用图形化的工具修改和删除视图 在SQL Server Management Studio的对象资源管理器中,展开分销系统数据库的【视图】节点,右击某个视图,在弹出的右键菜单中,选择【删除】命令即可删除视图;选择【修改】命令则打开与创建视图时一样的视图窗口,对视图的修改就和创建视图的过程类似了。,4.2.3 管

16、理视图,2.用Transact-SQL语句修改和删除视图 在SQL Server中,可以用Alter View语句来修改视图,语法如下: ALTER VIEW . . view_name ( column ,.n ) WITH ,.n AS select_statement WITH CHECK OPTION := ENCRYPTION | SCHEMABINDING | VIEW_METADATA ,4.2.3 管理视图,任务4-9:修改视图XSMX_view,去掉视图中的“金额”列,新增一个由数量与单价的乘积得到的“计算金额”列。 USE 分销系统 GO alter view XSMX_view as SELECT 销售订单.日期,销售订单明细表.销售订单号,序号,商品名称,规格型号,数量,单价,数量*单价 as 计算金额 FROM 销售订单 INNER JOIN 销售订单明细表 ON 销售订单.销售

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号