1 / 178
文档名称:

数据库开发设计.pptx

格式:pptx   大小:551KB   页数:178页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库开发设计.pptx

上传人:lanyou1106 2018/4/4 文件大小:551 KB

下载得到文件列表

数据库开发设计.pptx

相关文档

文档介绍

文档介绍:
目的
建立索引是加快查询速度的有效手段。
索引的特点
建立与删除索引由数据库管理员DBA或表的属主(owner),即建立表的人负责完成。
系统在存取时会自动选择合适的索引作为存取路径,用户不必也不能显式地选择索引。
内容:
一、建立索引
二、删除索引
1
一、建立索引(1)
2
建立索引的一般格式:
CREATE [UNIQUE] [CLUSTER] INDEX <索引名>
ON <表名>(<列名>[<次序>][,<列名>[<次序>]]…);
表名:要建立索引的基本表的名字
列名:索引可以建立在一列或多列上,各列名之间用逗号
分隔。
次序:指索引值排序的次序。
ASC:升序;DESC:降序。
UNIQUE:表示此索引的每一个索引值只对应唯一的数据记

CLUSTER:表示要建的索引是聚簇索引。
所谓聚簇索引是指索引项的顺序与表中记录的
物理顺序一致的索引组织。
一、建立索引(2)
3
【例13】
CREATE CLUSTER INDEX Stusname ON Student(Sname);
将会在Student表的Sname列上建立一个聚簇索引。
Student表中的记录将按照Sname的值升序存放。
注意:
(1)用户可以再最经常查询的列上建立聚簇索引以提高查询
效率。
(2)在一个基本表上最多只能建立一个聚簇索引。
(3)建立聚簇索引之后,更新该索引列上的数据时,往往导
致表中记录的物理顺序的变更,代价较大,因此对于经
常变更的列不宜建立聚簇索引。
一、建立索引(3)
4
【例14】为学生-课程数据库中student,Course,SC三
个表建立索引。其中:
(1)为Student按照学号升序建立唯一索引
(2)为Course按照课程号建立唯一索引
(3)为SC表按学号升序和课程号降序建立唯一索

CREATE UNIQUE INDEX Stusno ON Student(Sno);
CREATE UNIQUE INDEX o ON o);
CREATE UNIQUE INDEX Scno ON
SC(Sno o DESC);
二、删除索引(1)
索引的注意事项:
索引一经建成,就由系统来维护它,不需用户干预。
建立索引是为了减少查询操作的时间,但是如果数据增删改频繁,系统会花很多时间来维护索引,从而降低查询效率。这时,可以删除一些不必要的索引。
5
删除索引的格式为:
DROP INDEX <索引名>;
二、删除索引(2)
6
【例15】删除student表的stusname索引。
DROP INDEX Stusname;
删除索引时,系统会同时从数据字典中删除有关索引的描述。
RDBMS中索引技术:
(1)B+树
具有动态平衡的特点
(2)HASH索引
具有查找速度快的特点
用户使用CREATE INDEX创建索引的时候,可以定义索引是
唯一索引,非唯一索引或聚簇索引。
至于某一索引是采用B+树,还是HASH索引则由具体的
RDBMS来决定。

7
查询是数据库的核心操作。
SQL提供SELECT语句进行数据库查询,该语句具有灵活的使用方式和丰富的功能。
Select语句的一般格式:
SELECT [ ALL | DISTINCT] <目标列表达式>[,<目标列表达式>]…
FROM <表名或视图名>[,<表名或视图名>]…
[WHERE <条件表达式>]
[GROUP BY<列名1>[HAVING <条件表达式>]]
[ORDER BY <列名2>[<ASC>|<DESC>]];
Select语句的含义:
(1)根据WHERE子句的条件表达式,从FROM子句指定的基本表或视
图中找出满足条件的元组,再按SELECT子句的目标列表达式,选
出元组中的属性值形成结果表。
(2)如果有GROUP BY子句,则将结果按<列名1>进行分组,该属性
值相同的元组为一个组。通常会在每组中使用聚集函数。如果
GROUP BY子句带有HAVING短语,则只有满足条件的组才予以
输出。
(3)如果有ORDER BY子句,其结果还需要按照<列名2>的值进行排序。
内容




8

单表查询是仅涉及一个表的查询
内容:
一、选择表中的若干列
二、选择表中的若干元组
三、ORDER BY子句
四、聚集函数(aggregate functions)
五、GROUP BY子句
9
一、选择表中的若干列
选择表中的全部列或部分列,这就是关系代数的投