第6章 创建和维护数据库对象课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第6章 创建和维护数据库对象课件.ppt》由会员分享,可在线阅读,更多相关《第6章 创建和维护数据库对象课件.ppt(121页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、返回本章首页返回本章首页上一页上一页下一页下一页16.1 创建和管理索引6.2 创建和管理视图 6.3 创建和管理存储过程6.4 创建和管理触发器6.5 创建和管理关系图上一章上一章返回目录返回目录返回本章首页返回本章首页上一页上一页下一页下一页2 在数据库中,SQL Server可以使用两种方式访问数据库表中的数据: (1)使用表扫描方式访问数据: (2)使用索引方式访问数据 如果需要查询表中的所有记录,则表扫描可能是最有效的方法。但是,对于企业数据库而言,数据量庞大,往往查询只涉及表中的少量信息。采用表扫描的方式速度较慢,效率较低,而使用索引将有助于更快地获得信息。因此索引是数据库中常用而
2、重要的数据库对象,使用索引,可以有效地提高数据库的检索速度,改善数据库的性能。 带索引的表在数据库中要占据较多的空间,此外,为了维护索引,对数据进行插入、更新、删除操作的命令所花费时间将更长。所以设计索引时应根据数据库的实际情况设置相应的索引。返回本章首页返回本章首页上一页上一页下一页下一页31索引的设计原则索引的设计原则(1)要分析是否有必要为某个列创建索引;创建索引时,是否有利于查询。)要分析是否有必要为某个列创建索引;创建索引时,是否有利于查询。(2)如果一个表中建有较多索引,会影响)如果一个表中建有较多索引,会影响INSERT、UPDATE和和DELETE语句语句的性能。但是,对于不需
3、要修改数据的查询(的性能。但是,对于不需要修改数据的查询(SELECT语句),大量索引将语句),大量索引将有助于提高性能。有助于提高性能。(3)小型表一般不需要创建索引。)小型表一般不需要创建索引。(4)一般需要在频繁搜索的字段上创建索引,)一般需要在频繁搜索的字段上创建索引,(5)下列情况一般不要使用索引:)下列情况一般不要使用索引: 在查询中很少涉及的字段。在查询中很少涉及的字段。 在具有大量重复值的字段。在具有大量重复值的字段。 更新性能比查询性能更重要的列。更新性能比查询性能更重要的列。 定义为定义为text,ntext或或image数据类型的字段。数据类型的字段。(6)对表中的外键列
4、创建索引,在创建索引时,首先创建聚集索引,然后创建)对表中的外键列创建索引,在创建索引时,首先创建聚集索引,然后创建非聚集索引;当使用多种检索方式搜索信息时,应当创建复合索引。非聚集索引;当使用多种检索方式搜索信息时,应当创建复合索引。返回本章首页返回本章首页上一页上一页下一页下一页42索引的类型索引的类型SQL Server 2000 的索引主要有两种类型:的索引主要有两种类型: (1)聚集索引:聚集索引基于数据行的键值在表内排序和存储这些)聚集索引:聚集索引基于数据行的键值在表内排序和存储这些数据行。由于数据行按基于聚集索引键的排序次序存储,因此聚数据行。由于数据行按基于聚集索引键的排序次
5、序存储,因此聚集索引对查找行很有效。在聚集索引中,表中各行的物理顺序与集索引对查找行很有效。在聚集索引中,表中各行的物理顺序与索引键值的逻辑顺序相同,因此每个表只能有一个聚集索引。如索引键值的逻辑顺序相同,因此每个表只能有一个聚集索引。如果一个表没创建聚集索引,其数据行按堆集方式存储。果一个表没创建聚集索引,其数据行按堆集方式存储。(2)非聚集索引:非聚集索引具有完全独立于数据行的结构。非聚)非聚集索引:非聚集索引具有完全独立于数据行的结构。非聚集索引的最低行包含非聚集索引的键值,并且每个键值项都有指集索引的最低行包含非聚集索引的键值,并且每个键值项都有指针指向包含该键值的数据行。数据行不按基
6、于非聚集键的次序存针指向包含该键值的数据行。数据行不按基于非聚集键的次序存储。在非聚集索引内,从索引行指向数据行的指针称为行定位器。储。在非聚集索引内,从索引行指向数据行的指针称为行定位器。行定位器的结构取决于数据页的存储方式是堆集还是聚集。对于行定位器的结构取决于数据页的存储方式是堆集还是聚集。对于堆集,行定位器是指向行的指针。对于有聚集索引的表,行定位堆集,行定位器是指向行的指针。对于有聚集索引的表,行定位器是聚集索引键。器是聚集索引键。返回本章首页返回本章首页上一页上一页下一页下一页5 在SQL Server 2000中提供了以下四种创建索引的方法:使用企业管理器中的索引向导创建索引使用
7、企业管理器直接创建索引使用Transact-SQL语言创建索引使用企业管理器中索引优化向导创建索引在此介绍前三种创建索引的方法返回本章首页返回本章首页上一页上一页下一页下一页61. 使用企业管理器中的索引向导创建索引使用企业管理器中的索引向导创建索引 打开企业管理器,展开指定的服务器和数打开企业管理器,展开指定的服务器和数据库,从水平菜单中选择据库,从水平菜单中选择“工具工具”菜项的菜项的“向导向导”选项,就会打开选项,就会打开“选择向导选择向导”对话对话框,在该对话框中选择框,在该对话框中选择“创建索引向导创建索引向导”选选项,如图项,如图6-1所示。所示。返回本章首页返回本章首页上一页上一
8、页下一页下一页7图6-1 选择创建索引向导对话框返回本章首页返回本章首页上一页上一页下一页下一页8单击【确定】按钮后,则会出现“欢迎使用创建索引”对话框,在该对话框中单击【下一步】按钮则会打开“选择数据库和表”对话框,需要选择要创建索引的表及其所属的数据库。如图6-2所示,在这里,选择数据库TSGL和表“读者”。返回本章首页返回本章首页上一页上一页下一页下一页9图6-2 选择数据库和对象对话框返回本章首页返回本章首页上一页上一页下一页下一页10单击【下一步】按钮,则会出现读者表中现有的索引对话框,如图6-3所示。该对话框中显示了所选择表中的已经有的索引信息,在这里,由于创建表“读者”时没有指定
9、索引,但是建立的主键“借书证号”,因此表中的索引有PK_读者_1DE57479,为聚集索引,对应的字段为借书证号。返回本章首页返回本章首页上一页上一页下一页下一页11图6-3 显示当前索引信息对话框返回本章首页返回本章首页上一页上一页下一页下一页12单击【下一步】按钮,会出现“选择列”对话框,在该对话框中,选择所要建立索引的字段(只需要在复选框上单击即可),在这里选择“姓名”作为索引字段,如图6-4所示。单击【下一步】按钮。注意:如果在这个对话框中选择了多个字段,则基于这些字段的组合创建索引。返回本章首页返回本章首页上一页上一页下一页下一页13图6-4 选择创建索引的字段对话框返回本章首页返回
10、本章首页上一页上一页下一页下一页14此时会出现“指定索引选项”对话框,如图6-5所示。在该对话框中可以设置索引选项,各个选项的具体含义如下:使其成为聚集索引:指定该索引为聚集索引。因为在一个表中只能存在一个聚集索引,如果此时已经存在聚集索引,则该选项不能选,此时在该选项的后面将出现提示信息“该对象已经有一个聚集索引”。使其成为惟一性索引:指定将该索引创建为惟一性索引填充因子:设置填充因子,并设置系统在最初创建索引时索引页的填充程度。返回本章首页返回本章首页上一页上一页下一页下一页15图6-5 设置索引选项返回本章首页返回本章首页上一页上一页下一页下一页16设置完索引项后,单击【下一步】按钮,则
11、会弹出“完成索引向导”对话框,在该对话框中显示了索引的名称和包含在索引中的字段。在这个对话框中你还可以为索引重新命名,如图6-6所示。返回本章首页返回本章首页上一页上一页下一页下一页17图6-6 完成索引向导返回本章首页返回本章首页上一页上一页下一页下一页182. 使用企业管理器直接创建索引使用企业管理器直接创建索引(1)打开企业管理器,展开相关的数据库和表,)打开企业管理器,展开相关的数据库和表,并选择需创建索引的表(如:并选择需创建索引的表(如:“读者读者”表),表),并单击鼠标右键,由弹出的菜单中选择并单击鼠标右键,由弹出的菜单中选择“所所有任务有任务”下的下的“管理索引管理索引”选项(
12、见图选项(见图6-7)。)。打开打开“管理索引管理索引”对话框,如图对话框,如图6-8所示。在所示。在该对话框中可以选择要处理的数据库和表该对话框中可以选择要处理的数据库和表(如选择(如选择TSGL和和“读者读者”表),此时在表),此时在“现有索引现有索引”的列表框中会列出的列表框中会列出“读者读者” 表表中现存的所有索引。中现存的所有索引。返回本章首页返回本章首页上一页上一页下一页下一页19图6-7 选择管理索引选项对话框返回本章首页返回本章首页上一页上一页下一页下一页20图6-8 管理索引对话框返回本章首页返回本章首页上一页上一页下一页下一页21(2)选择创建索引的字段(如:为“姓名”字段
13、上创建新的索引),点击【新建】按钮,将弹出“新建索引”对话框(见图6-9),可以在索引名称文本框中输入索引名称并设置索引选项。返回本章首页返回本章首页上一页上一页下一页下一页22图6-9新建索引对话框返回本章首页返回本章首页上一页上一页下一页下一页23(3)设置索引选项后,单击【确定】按钮,返回到“管理索引”对话框,在这个对话框当中可以看到新创建的索引“IX_xinming”。单击【关闭】按钮,退出“管理索引”对话框,完成索引的创建。如果要修改一个现有的索引,只要在“管理索引”对话框中选中该索引,然后点击【编辑】按钮,便可以进入“编辑现有索引”对话框,可以按照创建索引的步骤设置对各索引选项进行
14、修改。如果要删除一个现有的索引,只要在“管理索引”对话框中选中该索引,然后按下【删除】按钮(见图6-8),即可完成对一个现有的索引的删除操作。返回本章首页返回本章首页上一页上一页下一页下一页243. 使用使用Transact-SQL语言创建索引语言创建索引使用使用Transact-SQL语言创建索引的命令是:语言创建索引的命令是:CREATE INDEX其基本语法格式:其基本语法格式:CREATE INDEX index_name ON table | view ( column ASC | DESC ,.n ) 主要参数说明:主要参数说明:index_name:用于指定创建索引的索引名。索引
15、名在表或视图中必须唯一,用于指定创建索引的索引名。索引名在表或视图中必须唯一,但在数据库中不必唯一。但在数据库中不必唯一。table:要创建索引的表名。:要创建索引的表名。View:要建立索引的视图的名称。:要建立索引的视图的名称。column:用于指定应用索引的字段名。指定两个或多个列名,可为指定:用于指定应用索引的字段名。指定两个或多个列名,可为指定列的组合值创建组合索引。列的组合值创建组合索引。ASC | DESC:确定具体某个索引列的升序或降序排序方向。默认设置:确定具体某个索引列的升序或降序排序方向。默认设置为为 ASC。返回本章首页返回本章首页上一页上一页下一页下一页251使用企业
16、管理器查看、修改和删除索引使用企业管理器查看、修改和删除索引要查看、修改索引,可以打开企业管理器,展开指要查看、修改索引,可以打开企业管理器,展开指定数据库,用鼠标右键单击要查看的表,从弹出定数据库,用鼠标右键单击要查看的表,从弹出的快捷菜单中选择的快捷菜单中选择“所有任务所有任务”下的下的“管理索引管理索引”选项,则会出现选项,则会出现“管理索引管理索引”对话框,如图对话框,如图6-10所示。所示。 返回本章首页返回本章首页上一页上一页下一页下一页26图6-10 管理索引对话框返回本章首页返回本章首页上一页上一页下一页下一页27对索引进行修改,可以选择要修改的索引,单击【编辑】按钮,则会弹出
17、“编辑现有索引”对话框,如图6-11所示。 图6-11 编辑现有索引对话框返回本章首页返回本章首页上一页上一页下一页下一页28 在该对话框中可以对索引进行相关的修改,也可以通过修改SQL脚本来达到目的,例如,点击【编辑SQL】按钮,会弹出“编辑Transact-SQL脚本”对话框,如图6-12所示,在此对话框内可以进行相应的编辑、测试、运行索引的SQL脚本。 返回本章首页返回本章首页上一页上一页下一页下一页29图6-12 编辑索引SQL脚本对话框返回本章首页返回本章首页上一页上一页下一页下一页30 修改索引的名称或改变所属的文件组的一些信息,需要打开属性对框,即右键单击要修改的表,在弹出的菜单
18、中选择“设计表”选项,再右键单击任意字段,从弹出的快捷菜单中选择“索引/键”,即可出现属性对话框,如图6-13所示。 返回本章首页返回本章首页上一页上一页下一页下一页31图6-13 属性对话框返回本章首页返回本章首页上一页上一页下一页下一页322使用使用Transact-SQL语言查看、删除索引语言查看、删除索引使用使用Transact-SQL语言删除索引的命令是:语言删除索引的命令是:DROP INDEX其语句基本语法格式:其语句基本语法格式:DROP INDEX table.index | view.index ,.n 主要参数说明:主要参数说明: table | view:是索引列所在的
19、表或索引视图。:是索引列所在的表或索引视图。 index:是要除去的索引名称。索引名必须符合标识符:是要除去的索引名称。索引名必须符合标识符的规则。的规则。 n:是表示可以指定多个索引的占位符。:是表示可以指定多个索引的占位符。该语句可删除一个或多个当前数据库中的索引。该语句可删除一个或多个当前数据库中的索引。返回本章首页返回本章首页上一页上一页下一页下一页333调用系统存储过程查看索引调用系统存储过程查看索引打开查询分析器,调用系统存储过程打开查询分析器,调用系统存储过程sp_helpindex来查看来查看表中的索引信息(如:读者表),如图表中的索引信息(如:读者表),如图6-14所示,由所
20、示,由查询分析器的查询分析器的“查询结果显示窗口查询结果显示窗口”,可以看出在,可以看出在index_name列显示该表的索引名(如:列显示该表的索引名(如:“PK_读者读者_1DE57479”),在),在index_description列显示索引的类列显示索引的类型(该索引是聚集的惟一索引)。在型(该索引是聚集的惟一索引)。在index_keys列显列显示建立索引的字段(如;借书证号)。示建立索引的字段(如;借书证号)。返回本章首页返回本章首页上一页上一页下一页下一页34图6-14 在查询分析器查看索引返回本章首页返回本章首页上一页上一页下一页下一页35 视图作为一种基本的数据库对象,是查
21、询一个表或多个表的另一种方法,它是通过把预先定义的查询存储在数据库中,然后就可以在查询语句中调用它。返回本章首页返回本章首页上一页上一页下一页下一页361视图的概念视图的概念 视图是一种虚拟的表或存储查询,它只包含表的一部分,其内容由查询需求定义。同真实表一样,视图包含一系列带有名称的列和行数据。但是,与表不同的是,保存在视图中的数据并不是物理存储的数据,因此,视图并不在数据库中以存储的数据值集形式存在。视图来源于一个或多个基表的行或列的子集,也可以是基表的统计汇总,或者是来源于另一个视图或基表与视图的组合。返回本章首页返回本章首页上一页上一页下一页下一页372视图的作用视图的作用 相对于所引
22、用的基础表来说,视图的作用类似于筛选。通过视图进行查询没有任何限制,通过它们进行数据修改时的限制很少,因此,使用Transact-SQL语句可以通过引用视图名称来使用虚拟表。 返回本章首页返回本章首页上一页上一页下一页下一页38使用视图可以实现以下功能:(1)返回用户需要的数据:视图可以为用户提供一个受限制的环境,因此,对用户而言只能访问表中允许的数据,一些不需要、不合适的数据可以不在视图上显示,因此可以将用户限定在特定的行或列上。此外,如果权限允许,用户可以修改视图中的全部或部分数据。(2)使数据库查询方便、直观:尽管原数据库的设计可能很复杂,但是使用视图可以避免用户跟复杂的数据结构打交道,
23、可以使用易于理解的名字来命名视图,使数据库结构简单、清晰。对于复杂的查询,可以写在视图中,这样,用户就可以通过使用视图来实现复杂的操作,避免重复写一些复杂的查询语句。(3)可以方便数据的导出:可以通过视图来创建相对复杂的查询,把一个表或多个表的数据导出到另一个应用程序或外部文件中。(4)可以实现对创建视图的内部表进行数据修改:如插入新记录、更新记录以及删除记录等。 返回本章首页返回本章首页上一页上一页下一页下一页39创建视图时首先应该考虑如下原则:(1)只能在当前数据库中创建视图。(2)视图名称必须遵循标识符的规则,且对每个用户必须为唯一。视图名不得与该用户拥有的任何表的名称相同。(3)不能将
24、规则或 DEFAULT 定义与视图相关联。(4)不能将 AFTER 触发器与视图相关联,只有 INSTEAD OF 触发器可以与之相关联。(5)定义视图的查询不可以包含 ORDER BY、COMPUTE 或 COMPUTE BY 子句或 INTO 关键字。(6)不能在视图上定义全文索引定义,不能创建临时视图,也不能在临时表上创建视图。在SQL Server 2000中可以使用三种方法创建视图:使用企业管理器、使用Transact-SQL语言和使用企业管理器中的创建视图向导。返回本章首页返回本章首页上一页上一页下一页下一页401使用企业管理器创建视图使用企业管理器创建视图 (1)打开企业管理器,
25、展开要创建视图的数据库,用鼠标右键单击“视图”(见图6-15),从弹出的快捷菜单中,选择“新建视图”,并单击该选项,就会出现“新视图”对话框,如图6-16所示;或者右键单击要创建视图的数据库,从弹出菜单中选择“新建”下的“视图”。也会出现“新视图”对话框。返回本章首页返回本章首页上一页上一页下一页下一页41图6-15 选择新建视图对话框返回本章首页返回本章首页上一页上一页下一页下一页42图6-16 新建视图对话框返回本章首页返回本章首页上一页上一页下一页下一页43(2)在“新视图”对话框中,单击工具栏中的按钮,或者右键单击图表窗口,从弹出的菜单中选择“添加表“选项,会出现如图6-17所示的“添
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 创建和维护数据库对象课件 创建 维护 数据库 对象 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内