第二节 数 据 定 义 (1) (2) (3)
[例6] 为学生-课程数据库中的Student,Course,SC三个表建立索引。其中Student表按学号升序建唯
一索引,Course表按课程号升序建唯一索引,SC表按学号升序和课程号降序建唯一索引。
CREATE UNIQUE INDEX Stusno ON Student(Sno);
CREATE UNIQUE INDEX Coucno ON Course(Cno);
CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);
唯一值索引,对于已含重复值的属性列不能建UNIQUE索引。对某个列建立UNIQUE索引后,插入新记录
时DBMS会自动检查新记录在该列上是否取了重复值。这相当于增加了一个UNIQUE约束 聚簇索引。建立聚簇
索引后,基表中数据也需要按指定的聚簇属性值的升序或降序存放。也即聚簇索引的索引项顺序与表中记录
的物理顺序一致。
[例7]CREATE CLUSTER INDEX Stusname ON
Student(Sname);在Student表的Sname(姓名)列上建立一
个聚簇索引,而且Student表中的记录将按照Sname值的升序存放在一个基本表上最多只能建立一个聚簇索引
聚簇索引的用途:对于某些类型的查询,可以提高查询效率,聚簇索引的适用范围,很少对基表进行增删操
作,很少对其中的变长列进行修改操作。
二、删除索引
DROP INDEX <索引名>;
删除索引时,系统会从数据字典中删去有关该索引的描述。
[例7] 删除Student表的Stusname索引。
DROP INDEX Stusname;
|