例题 例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)
例题 [例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约東
建立索引 (续) z 唯一值索引 – 对于已含重复值的属性列不能建UNIQUE索引 – 对某个列建立UNIQUE索引后,插入新记录时 DBMS会自动检查新记录在该列上是否取了重复 值。这相当于增加了一个UNIQUE约束
建立索引(续) ●聚簇索引 建立聚簇索引后,基表中数据也需要按指 定的聚簇属性值的升序或降序存放。也即 聚簇索引的索引项顺序与表中记录的物理 顺序一致 例 CREATE CLUSTER INDEX Stusname ON Student( Sname 在 Student表的 Sname(姓名)列上建立一个聚簇索引,而 且 Student表中的记录将按照 Sname值的升序存放
建立索引 (续) z 聚簇索引 – 建立聚簇索引后,基表中数据也需要按指 定的聚簇属性值的升序或降序存放。也即 聚簇索引的索引项顺序与表中记录的物理 顺序一致 例: CREATE CLUSTER INDEX Stusname ON Student(Sname); 在Student表的Sname(姓名)列上建立一个聚簇索引,而 且Student表中的记录将按照Sname值的升序存放
建立索引(续) 在一个基本表上最多只能建立一个聚簇索引 聚簇索引的用途:对于某些类型的查询,可 以提高查询效率 聚簇索引的适用范围 很少对基表进行增删操作 很少对其中的变长列进行修改操作
建立索引 (续) – 在一个基本表上最多只能建立一个聚簇索引 – 聚簇索引的用途:对于某些类型的查询,可 以提高查询效率 – 聚簇索引的适用范围 z 很少对基表进行增删操作 z 很少对其中的变长列进行修改操作
删除索引 DROP INDEX<索引名>; 删除索引时,系统会从数据字典中删去有关 该索引的描述。 例刀删除 Student表的 Stusname索引 DROP INDEX Stusname
删除索引 DROP INDEX <索引名>; – 删除索引时,系统会从数据字典中删去有关 该索引的描述。 [例7] 删除Student表的Stusname索引。 DROP INDEX Stusname;