SQL server 2008 索引与数据完整性.ppt

SQL server 2008 索引与数据完整性.ppt

ID:52549982

大小:2.22 MB

页数:52页

时间:2020-04-10

SQL server 2008 索引与数据完整性.ppt_第1页
SQL server 2008 索引与数据完整性.ppt_第2页
SQL server 2008 索引与数据完整性.ppt_第3页
SQL server 2008 索引与数据完整性.ppt_第4页
SQL server 2008 索引与数据完整性.ppt_第5页
SQL server 2008 索引与数据完整性.ppt_第6页
SQL server 2008 索引与数据完整性.ppt_第7页
SQL server 2008 索引与数据完整性.ppt_第8页
SQL server 2008 索引与数据完整性.ppt_第9页
SQL server 2008 索引与数据完整性.ppt_第10页
资源描述:

《SQL server 2008 索引与数据完整性.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第6章索引与数据完整性6.16.26.3索引数据完整性综合应用训练6.1索引6.1.1索引的分类1.聚集索引聚集索引将数据行的键值在表内排序并存储对应的数据记录,使得数据表物理顺序与索引顺序一致。SQLServer2008是按B树(BTREE)方式组织聚集索引的,B树方式构建为包含了多个节点的一棵树。顶部的节点构成了索引的开始点,叫做根。每个节点中含有索引列的几个值,一个节点中的每个值又都指向另一个节点或者指向表中的一行,一个节点中的值必须是有序排列的。指向一行的一个节点叫做叶子页。叶子页本身也是相互连接的,一个叶子页有一个指针指向下一组

2、。这样,表中的每一行都会在索引中有一个对应值。查询的时候就可以根据索引值直接找到所在的行。聚集索引中B树的叶节点存放数据页信息。聚集索引在索引的叶级保存数据。这意味着不论聚集索引里有表的哪个(或哪些)字段,这些字段都会按顺序被保存在表中。由于存在这种排序,所以每个表只会有一个聚集索引。6.1.1索引的分类2.非聚集索引非聚集索引完全独立于数据行的结构。SQLServer2008也是按B树组织非聚集索引的,与聚集索引不同之处在于:非聚集索引B树的叶节点不存放数据页信息,而是存放非聚集索引的键值,并且每个键值项都有指针指向包含该键值的数据行。

3、对于非聚集索引,表中的数据行不按非聚集键的次序存储。在非聚集索引内,从索引行指向数据行的指针称为行定位器。行定位器的结构取决于数据页的存储方式是堆集还是聚集。对于堆集,行定位器是指向行的指针。对于有聚集索引的表,行定位器是聚集索引键,只有在表上创建聚集索引时,表内的行才按特定顺序存储。这些行按聚集索引键顺序存储。如果一个表只有非聚集索引,它的数据行将按无序的堆集方式存储。6.1.2系统表sysindexes在此,将介绍另一系统表sysindexes。当用户创建数据库时,系统将自动创建系统表sysindexes,用户创建的每个索引均将在系统

4、表sysindexes中登记,当创建一个索引时,如果该索引已存在,则系统将报错,因此,创建一个索引前,应先查询sysindexes表,若待定义的索引已存在,则先删除之,然后再创建索引;当然,也可采用其它措施,如检测到待定义的索引已存在,则不创建该索引。系统表sysindexes的主要字段如表6.1所示。字段名字段类型含义idint当ID<>0或255时,ID为索引所属表的IDindidsmallint索引ID:1:聚集索引,>1但<>255:非聚集索引namesysname当indid<>0或255时,为索引名。表6-1系统表sysind

5、exes的主要字段6.1.3索引的创建1.界面方式创建索引下面以XS表中按借书证号建立主键索引及按姓名建立非惟一索引(索引组织方式为非聚集索引)为例,介绍索引的创建方法。启动“SQLServerManagementStudio”→在“对象资源管理器”中展开“数据库XSBOOK”→选择“表”中的“dbo.XS”→右击其中的“索引”项,在弹出的快捷菜单上选择“新建索引(N)…”菜单项。6.1.3索引的创建这时,用户可以在弹出的“新建索引”窗口中输入索引名称(索引名在表中必须唯一),如PK_XS,选择索引类型为“聚集”、勾选“唯一”复选框→单击

6、新建索引窗口的“添加”按钮→在弹出选择列窗口(如图6.1所示)中选择要添加的列→添加完毕后,单击“确定”按钮,在主界面中为索引键列设置相关的属性→单击“确定”按钮,即完成索引的创建工作。图6.1添加索引键列6.1.3索引的创建在表设计器窗口创建索引的方法如下:(1)右击XSBOOK数据库中的“dbo.XS”表,在弹出的快捷菜单中选择“设计”菜单项,打开“表设计器”窗口。(2)在“表设计器”窗口中,选择“借书证号”属性列,右击鼠标,在弹出的快捷菜单中选择“索引/键”菜单项。在打开的“索引/键”窗口中单击“添加”按钮,并在右边的“标识”属性区

7、域的“名称”一栏中确定新索引的名称(用系统缺省的名或重新取名)。在右边的常规属性区域中的“列”一栏后面单击“”按钮,可以修改要创建索引的列。如果将“是唯一的”一栏设定为“是”则表示索引是唯一索引。在“表设计器”栏下的“创建为聚集的”选项中,可以设置是否创建为聚集索引,由于XS表中已经存在聚集索引,所以这里的这个选项不可修改,如图6.2所示。图6.2“索引/键”窗口6.1.3索引的创建2.使用SQL命令创建索引使用CREATEINDEX语句可以为表创建索引。语法格式:CREATE[UNIQUE]/*指定索引是否唯一*/[CLUSTERED

8、

9、NONCLUSTERED]/*索引的组织方式*/INDEXindex_name/*索引名称*/ON{[database_name.[schema_name].

10、schema_name.] ta

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。