Oracle-5-第五章.ppt
文本预览下载声明
第五章 oracle数据库对象 本章目标 本章需要掌握oracle中常用的几个对象:视图、索引、同义词、序列以及聚簇。 了解各种对象的原理,熟练操作。 1.1 视图 定义:一种数据库对象,它允许从一个表或一组表中建立一个“虚的但是很实用的表”。 视图与表相比,有如下相同之处: -- 视图与表一样由列组成,其查询方式与表完全相同。 -- 和表一样,用户也可以在视图中插入、更 新或删除数据,在视图中做这些操作时和在 表中是一样的。 视图与基表区别 在大多数可以使用表的场合中,都可以使用视图。但视图与表之间存在着本质的区别: --视图中没有数据,而仅仅是一条sql查询语句。按此查询语句检索出的数据以表的形式表示。视图中的列可以在一个或多个基本表中找到。所以视图不使用物理存储位置来存储数据。 视图的定义存储在数据字典中。对一个视图进行查询时,视图将查询其基于的表,并且以视图定义所规定的格式和顺序返回值。 由于视图没有直接相关的物理数据,所以不能像表那样被索引。 视图的优缺点 优点: -安全:可以利用视图限制用户访问表中记录的权力,经常采用视图来阻止用户查看表中的全部数据。还可以限制用户向表中插入数据的能力。 -方便:视图可以隐藏数据的复杂性。执行连接(join)操作,用户可从两个或多个表中检索出信息,但过于繁琐、复杂的连接操作常常使用户感到费解、迷惑。在这种情况下,就有必要建立混合有多表信息的视图,从而生成简单易懂的结果。 视图的优缺点 缺点: -性能:因为视图是由语句构造的表,所以若是多个表,可能连接时间过长,造成性能下降。 -更新限制:单表连接建立的视图必须转换为对基表的更新操作。若是多表连接创建的视图只能是只读的,不能直接更新。 创建视图 格式:create [or replace] [force] view [模式名.]视图名 as select 语句 [with read only | with check option] 说明: --名字要唯一,不能与其他对象重名。 --or replace:表示允许新视图替换已存在的一个同名视图。 --force:表示强制建立视图,即使在基本表不存在或无权访问基本表的情况下。 --with read only:所建立的视图为只读,不能插入、修改、删除数据。 --with check option:每当向视图插入或更新数据时,保证能被视图查出来。 查看视图 查询视图:使用数据字典。 修改视图 修改视图:alter view 视图名 compile; 功能:只是重新编译一下视图,来检查基本sql语句有效性。 删除视图 格式:drop view 视图名; 1.2 索引 定义:根据表中的一列或多列的值快速访问表中行的结构。 目的:快速查询。 特点: --索引块小,比对应的数据库表小的多。 --查询快,表中元组的增加不影响索引性能。 --自动维护,索引与表具有直接对应关系,如果数据库记录顺序发生改变,索引表的存储顺序也自动调整。 --独立于数据,索引在任何时间都可以删除和重建,不影响应用程序。 --多索引,可以在一个表的多个字段上建立索引。 索引的使用规则 记录少可不建 一个表不要建太多索引。 访问频繁的列,建索引。 创建索引 格式: create [unique] index [模式名.] 索引名 on [模式名.]表名 (属性1 [asc | desc], …………. 属性n [asc | desc]) 查询索引—数据字典 改变索引名 格式: alter index 旧索引名 rename to 新索引名; 验证索引 格式:validate index 索引名; 说明: -- 如果返回信息为“索引已验证”或“索引已 分析”,表示此索引仍然可用。 -- 如果返回为其他信息,表示此索引已 坏,需删除重建。 删除索引 格式:drop index 索引名; 说明:把不再使用的索引从数据库中删除。 1.3 同义词 定义:数据库对象的别名。 优点: -- 隐藏了其他对象的名称和拥有者,同义词实现了一定的 保护层。 -- 隐藏表的具体位置。 -- 便于其他对象的使用,简化了命名,减少了数据库用户 的sql句法的复杂程度。 -- 能够掩盖一些数据库对象的变化(如改名),
显示全部