《数据厍设计与开发》讲义 1.3.2.4建立与删除索引 索引的功能表现在以下3方面 (1)使用索引可以明显地加快数据查询的速度 (2)使用索引可保证数据的唯一性 (3)使用索引可以加快连接速度 建立索引的原则 (1)索引的建立和维护由DBA和DBMS完成 (2)大表应当建索引,小表则不必建索引 (3)对于一个基本表,不要建立过多的索引 (4)根据查询要求建索引 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.3.2.4建立与删除索引 • 索引的功能表现在以下3方面。 (1)使用索引可以明显地加快数据查询的速度 (2)使用索引可保证数据的唯一性 (3)使用索引可以加快连接速度 • 建立索引的原则 (1)索引的建立和维护由DBA和DBMS完成 (2)大表应当建索引,小表则不必建索引 (3)对于一个基本表,不要建立过多的索引 (4)根据查询要求建索引
《数据厍设计与开发》讲义 1.3.2.4建立与删除索引 CREATE[ UNIQU肥][ CLUSTER] INDEX<索 引名>ON<表名 (<列名>[< asc desc>[,<列名>[< asc desc习]) ·如果数据增加删改频繁,系统会花费许 多时间来维护索引。这时,可以删除 些不必要的索引 DROP INDEX<索引名>; 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.3.2.4建立与删除索引 • CREATE [UNIQUE] [CLUSTER] INDEX <索 引名> ON <表名> (< 列 名 >[<asc|desc>[ , < 列 名 >[< asc|desc >]]); • 如果数据增加删改频繁,系统会花费许 多时间来维护索引。这时,可以删除一 些不必要的索引。 DROP INDEX <索引名>;
《数据厍设计与开发》讲义 1.3.2.5视图的创建和删除 ·视图是关系数据库系统提供给用户以多种角度观 察数据库中数据的重要机制。视图一经定义,就 可以和基本表一样被查询、被删除,我们也可以 在一个视图之上再定义新的视图,但对视图的更 新(增加、删除、修改)操作则有一定的限制。 CREAT VIEW<视图名[(列名[,<列名].)] AS<子查询>[ WITH CHECK OPTION]; 其中子查询可以是任意复杂的 SELECT语句,但通 常不允许含有 ORDER BY子句和 DISTINCT短语。 WITH CHECK OPTI0N表示对视图进行 UPDATE, INSERT和 DELETE操作时要保证更新、插入或删除 的行满足视图定义中的谓词条件(即子查询中的条 件表达式)。 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.3.2.5视图的创建和删除 • 视图是关系数据库系统提供给用户以多种角度观 察数据库中数据的重要机制。视图一经定义,就 可以和基本表一样被查询、被删除,我们也可以 在一个视图之上再定义新的视图,但对视图的更 新(增加、删除、修改)操作则有一定的限制。 • CREAT VIEW <视图名>[(列名>[,<列名>]...)] AS <子查询> [WITH CHECK OPTION]; 其中子查询可以是任意复杂的SELECT语句,但通 常不允许含有ORDER BY子句和DISTINCT短语。 WITH CHECK OPTION 表 示 对 视 图 进 行 UPDATE , INSERT和DELETE操作时要保证更新、插入或删除 的行满足视图定义中的谓词条件(即子查询中的条 件表达式)
《数据厍设计与开发》讲义 1.3.2.5视图的创建和删除 DROPⅥIEW<视图名>; 视图删除后视图的定义将从数据字典中删除。 但是由该视图导出的其他视图定义仍在数据字 典中,不过该视图已失效。用户使用时会出错, 要用 DROP VIEW语句将它们一一删除。 DBMS执行 CREATE VIEW语句的结果只把视图的 定义存入数据字典,并不执行其中的 SELECT。 在关系数据库中,并不是所有的视图都是可更 新的,因为有些视图的更新不能的有意义的转 换成对基本表的更新。行列子集视图是可更新 的。各个DBMS对视图的更新有自己的规定。 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.3.2.5视图的创建和删除 • DROP VIEW <视图名>; 视图删除后视图的定义将从数据字典中删除。 但是由该视图导出的其他视图定义仍在数据字 典中,不过该视图已失效。用户使用时会出错, 要用DROP VIEW语句将它们一一删除。 • DBMS执行CREATE VIEW语句的结果只把视图的 定义存入数据字典,并不执行其中的SELECT。 在关系数据库中,并不是所有的视图都是可更 新的,因为有些视图的更新不能的有意义的转 换成对基本表的更新。行列子集视图是可更新 的。各个DBMS对视图的更新有自己的规定
《数据厍设计与开发》讲义 1.3.3数据查询 数据査询是数据库的核心操作。SQL语言的数 据查询只有一条 SELECT语句: SELECT[ ALL DISTINC门]{*<目标列表达式[[as] 别名]>[,<目标列表达式[[as]别名]>] FROM<表名或视图名>[,〈表名或视图名为] WHERE<条件表达式习 [ GROUP BY<列名>[,<列名习[ HAVING<条件表达 式]] [ ORDER BY<列名>[ASC|DESC][,<列名 >[ASC DESCJ].] 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.3.3 数据查询 • 数据查询是数据库的核心操作。SQL语言的数 据查询只有一条SELECT语句: SELECT[ALL|DISTINCT]{*|<目标列表达式[[as] 别名]>[,<目标列表达式[[as] 别名]>]...} FROM<表名或视图名>[,<表名或视图名>]… [WHERE<条件表达式>] [GROUP BY<列名>[,<列名>][HAVING<条件表达 式>]]] [ORDER BY< 列 名 >[ASC|DESC][ , < 列 名 >[ASC|DESC]] …];