欢迎来到天天文库
浏览记录
ID:58879690
大小:686.00 KB
页数:69页
时间:2020-09-30
《SQL Server 实用教程_第6章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章索引与数据完整性6.1索引6.2默认值约束及默认值对象6.3数据完整性6.1.1索引的分类*聚集索引聚集索引将数据行的键值在表内排序并存储对应的数据记录,使得数据表物理顺序与索引顺序一致。*非聚集索引非聚集索引是完全独立于数据行的结构。6.1.2索引的创建1.通过企业管理器建立索引第1步进入企业管理器,打开XSCJ数据库;第2步选择选择XS表的图标,右击,出现如图6.1所示的快捷菜单,选择“设计表”菜单项,出现如图6.2所示XS的表设计器界面;图6.1XS表图标快捷菜单6.1.2索引的创建图6.2XS表设计器界面6.1.2索引的创建第3步在XS表设计器界面上右击,出现如图6
2、.3所示的快捷菜单,菜单中选择“索引/键”菜单项,出现如图6.4所示XS的属性界面;6.1.2索引的创建图6.4表XS的属性界面6.1.2索引的创建第4步在“索引/键”属性页选择“新建”命令,然后,确定新索引的名称(用系统缺省的名或重新取名);在“列名”下选择要创建索引的列,在此选择“姓名”这一列,最多可选择16列。为获得最佳性能,最好只选择一列或两列。然后关闭,索引即创建好了。6.1.2索引的创建利用SQL命令建立索引语法格式如下:CREATE[UNIQUE]/*是否为唯一索引*/[CLUSTERED
3、NONCLUSTERED]/*索引的组织方式*/INDEXindex_nam
4、e/*索引名称*/ON{table
5、view}(column[ASC
6、DESC][,...n])/*索引定义的依据*/[WITH[,...n]]/*索引选项*/[ONfilegroup]/*指定索引文件所在的文件组*/::={PAD_INDEX
7、 FILLFACTOR=fillfactor
8、 IGNORE_DUP_KEY
9、 DROP_EXISTING
10、 STATISTICS_NORECOMPUTE
11、 SORT_IN_TEMPDB}6.1.2索引的创建[例6.1]为KC表的课程名列创建索引。/*使用简单索引*/USEXSCJI
12、FEXISTS(SELECTnameFROMsysindexesWHEREname='kc_name_ind')DROPINDEXKC.kc_name_indGOUSEXSCJCREATEINDEXkc_name_indONKC(课程名)GO6.1.2索引的创建[例6.2]根据KC表的课程号列创建唯一聚集索引,因为指定了CLUSTERED子句,所以该索引将对磁盘上的数据进行物理排序。/*使用唯一聚集索引*/USEXSCJIFEXISTS(SELECTnameFROMsysindexesWHEREname='kc_id_ind')DROPINDEXKC.kc_id_indGOCRE
13、ATEUNIQUECLUSTEREDINDEXkc_id_indONKC(课程号)GO6.1.2索引的创建[例6.3]根据XS_KC表的学号列和课程号列创建复合索引。/*使用简单组合索引*/USEXSCJIFEXISTS(SELECTnameFROMsysindexesWHEREname='xs_kc_ind')DROPINDEXXS_KC.xs_kc_indGOCREATEINDEXxs_kc_indONXS_KC(学号,课程号)6.1.2索引的创建[例6.4]根据XS表中的总学分列创建索引,例中使用了FILLFACTOR子句。USEXSCJIFEXISTS(SELECTnam
14、eFROMsysindexesWHEREname='score_ind')DROPINDEXXS.score_indGOCREATENONCLUSTEREDINDEXscore_indONXS(总学分)WITHFILLFACTOR=606.1.2索引的创建[例6.5]根据XS表中学号列创建唯一聚集索引。如果输入了重复的键,将忽略该INSERT或UPDATE语句。/*使用IGNORE_DUP_KEY*/USEXSCJIFEXISTS(SELECTnameFROMsysindexesWHEREname='xs_ind')DROPINDEXXS.xs_indCREATEUNIQUECL
15、USTEREDINDEXxs_indONXS(学号)WITHIGNORE_DUP_KEY6.1.2索引的创建[例6.6]创建一个视图,并为该视图创建索引。USEXSCJGO--定义视图,如下例子中,由于使用了WITHSCHEMABINDING子句,因此,定--义视图时,SELECT子句中表名必须为:所有者名.表名的形式。CREATEVIEWView1WITHSCHEMABINDINGASSELECT姓名,成绩FROMdbo.XS,dbo.XS_KCWHEREdbo.XS.学号=d
此文档下载收益归作者所有