第 6章 关系、索引和视图
6.1 创建关系图
6.2 创建索引
6.3 创建视图第
6
章关系

索引和视图
< >
6.1 创建关系图
6.2 创建索引
6.2.1 索引的分类
聚簇索引、非聚簇索引
主键索引、惟一索引和普通索引
6.2.2 索引的创建
利用企业管理器
利用索引管理器
利用 CREATE INDEX语句第
6
章关系

索引和视图
< >
CREATE INDEX命令的语法结构如下:
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ]
INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [,...n ] )
[ WITH
[ PAD_INDEX |FILLFACTOR = fillfactor |IGNORE_DUP_KEY |
DROP_EXISTING |STATISTICS_NORECOMPUTE |
SORT_IN_TEMPDB ]
][ ON filegroup ]
< >
其中:
UNIQUE:表示创建惟一索引,在索引列中不能有相同的两个列值存在。如果 SQL Server发现有两条或多条相同的记录,则无法继续执行 CREATE UNQIUE INDEX命令,传回错误信息,而且对记录进行有关操作时,也不能产生相同的字段值,否则该操作将被取消。
CLUSTERED:指定创建聚簇索引。
NONCLUSTERED:指定创建非聚簇索引。
index_name:索引名称,在每个表中索引名称必须惟一。
table:建立的索引所在的表。
view:建立的索引所在的视图。
column:索引所基于的字段。
PAD_INDEX:填充索引。
FILLFACTOR:索引存储页的填充率。

6
章关系

索引和视图
< >
【 例 】 为,Department”表创建一个基于,DepartmentID”升序排列的惟一索引,IX_Department1” 。
create unique index IX_Department1 on Department
column(DepartmentID)

6
章关系

索引和视图
< >
6.2.3 索引的查看
利用企业管理器查看索引
利用系统存储过程 sp_helpindex 查看索引
EXEC sp_helpindex table_name
其中,table_name为索引所在表的名称 。
【 例 】 查看表 Department上的索引
EXEC sp_helpindex Department

6
章关系

索引和视图
< >
6.2.4 索引的删除
利用企业管理器删除索引
利用索引管理器删除索引
用 DROP INDEX命令删除索引
DROP INDEX table.index | view.index[,...n ]
【 例 】 删除索引 IX_Department1
DROP INDEX Department.IX_Department1

6
章关系

索引和视图
< >
6.3 创建视图视图是从一个或多个基表(或视图)中导出的表。视图是一张虚拟表,其中不存储实际的数据,只存放视图的定义。
5.3.1 创建视图
在企业管理器种创建视图
利用向导创建视图
用 CREATE VIEW命令创建视图第
6
章关系

索引和视图
< >
CREATE VIEW [ < database_name >,] [ < owner >,]
view_name [ ( column [,...n ] ) ]
[ WITH ENCRYPTION ]
AS
select_statement
[ WITH CHECK OPTION ]
其中:
view_name:将要创建的视图的名字 。
WITH ENCRYPTION:此子句将对创建视图的文本进行加密 。
AS select_statement:定义视图的 SELECT语句,它可以使用不同数据库中的不同表和其他视图 。
WITH CHECK OPTION:强制对视图执行的所有数据修改语句遵照在定义视图的 select_statement中设置的条件 。

6
章关系

索引和视图
< >
【 例 】 创建视图 V_student1
CREATE VIEW S_student1
AS
SELECT StudentID,StudentName,Sex,ClassID
FROM Student

6
章关系

索引和视图
< >
6.3.2 查询视图
6.3.3 更新视图
6.3.4 修改视图的定义
使用企业管理器修改视图的定义
使用 ALTER VIEW命令修改视图的定义
6.3.5 删除视图
在企业管理器中删除视图
使用 DROP VIEW命令删除视图
DROP VIEW { view } [,...n ]
其中,view指定要删除的视图名,用户可以一次删除多个视图。

6
章关系

索引和视图