在创建PRIMARY KEY约束时,如果不存在该表的聚集索引且未指定唯一非聚集索引,则将自动对一列或多列创建唯一聚集索引,主键列不允许空值。
在创建UNIQUE约束时,默认情况下将创建唯一非聚集索引,以便强制UNIQUE约束。如果不存在该表的聚集索引,则可以指定唯一聚集索引。将索引创建为约束的一部分后,会自动将索引命名为与约束名称相同的名称。
除了在创建约束时创建索引外,还可以创建独立于约束的索引。默认情况下,如果未指定聚集,将创建非聚集索引。每个表可以创建的非聚集索引最多为249个。
可以使用对象资源管理器创建索引,也可以使用SQL语句创建索引。
1.使用对象资源管理器创建索引
【例4-39】 使用对象资源管理器为“学生”表的姓名字段创建非聚集索引。
1)在“对象资源管理器”窗格中,选择要建立索引的“学生”表,展开“学生”结点,单击“索引”结点,在右侧的“索引”窗格中显示了当前表中已有的索引,包括索引名(PK_Xs)和索引类型(聚集索引)。
2)如图4-40所示,右击“索引”结点,在弹出的菜单中选择“新建索引”命令,则打开“新建索引”窗口。
图4-40 “新建索引”命令
3)如图4-41所示,在“索引名称”中输入新建索引的名称为“Xm_index”,设置索引属性为“非聚集”,不勾选“唯一”前的复选框。
4)单击“添加”按钮打开如图4-42所示的窗口,在列表中选择用于创建索引的列(可以是一列或多列),这里选择“Xm”列,即勾选“Xm”列左边的复选框。
图4-41 “新建索引”窗口
图4-42 “选择索引列”窗口
5)完成索引选项设置后,单击“确定”按钮,关闭“从′dbo.Xs′中选择列”窗口,回到“新建索引”窗口。(www.xing528.com)
6)如果不需要创建其他索引,单击“确定”按钮,完成索引的创建。
2.使用T-SQL语句创建索引
使用T-SQL语言创建索引的命令是“CREATE INDEX”,其基本语法格式如下。
在上述数据参数中:
●[UNIQUE][CLUSTERED|NONCLUSTERED]:用来指定创建的索引类型,依次为唯
一索引、聚集索引和非聚集索引。当省略UNIQUE选项时,建立的是非唯一索引,省略CLUSTERED|NONCLUSTERED选项时,建立的是非聚集索引。
●index_name:创建的索引名称。
●table_or_view_name:指定要创建索引的表或视图的名称。
●Column:指定索引列的名称。
●ASC|DESC:指定索引列的排序方式,ASC是升序,DESC是降序。如果缺省则按升序排序。
●ON filegroup_name:为指定文件组创建指定索引。如果未指定位置且表或视图尚未分区,则索引将与基础表或视图使用相同的文件组。
●ON default:为默认文件组创建指定索引。
【例4-40】 使用SQL语句为“教师”表基于“姓名”列创建唯一非聚集索引Xm_in-dex,升序排列。
代码如下。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。