当前位置:首页 >> 计算机软件及应用 >>

视图、索引的创建及维护


Oracle数据库
视图、索引、序列、 同义词的创建及维护
邢慧芬

第9章 视图、索引、序列、 同义词的创建及维护
? ? ? ? ?

9.1使用和维护视图 9.2使用和维护索引 9.3使用和维护序列 9.4使用和维护同义词 9.5小结

教学目标
?

?

知识目标: ? 1、视图的概念 ? 2、索引的概念 ? 3、序列的概念 ? 4、同义词的概念 能力目标: ? 1、学会定义和使用视图 ? 2、学会定义和使用索引 ? 3、学会定义和使用序列 ? 4、学会定义和使用同义词

第9章 视图、索引、序列、 同义词的创建及维护
? ? ? ? ?

9.1使用和维护视图 9.2使用和维护序列 9.3使用和维护索引 9.4使用和维护同义词 9.5小结

9.1使用和维护视图
?

?

?

视图(View)是从一个或多个表(其他视图)中导出 的表,其结构和数据是建立在对表的查询基础之上的。 所以视图不是真实存在的基础表,而是一张虚表。视 图所对应的数据并不实际地以视图结构存储在数据库 中,而是存储在视图所引用的表中。 视图一经定义便存储在数据库中,与其相对应的数据 并没有像表一样在数据库中另外存储一份,通过视图 看到的数据只是存放在基表中的数据。对视图的操作 与对表的操作一样,可以对其进行查询、修改(有一 定的限制)和删除。 当对视图中的数据进行修改时,相应的基表的数据也 要发生变化,同时,如果基表的数据发生变化,则这 种变化也可以自动地反映到视图中。

9.1使用和维护视图
?

?

?

?

(1)视点集中,减少对象大小 ? 视图让用户能够着重于他们所需要的特定数据或所负责的特 定要求,如用户可以选择特定行或特定列。 (2)从异构源组织数据 ? 可以在连接两个或多个表的复杂查询的基础上创建视图,这 样可以将单个表显示给用户。 (3)隐藏数据的复杂性,简化操作 ? 视图向用户隐藏了数据库设计的复杂性,这样如果开发者改 变数据库设计,不会影响到用户与数据库交互。另外,用户 可将经常使用的连接查询、嵌套查询或联合查询定义为视图。 (4)简化用户权限的管理 ? 可以将视图的权限授予用户,而不必将基表中某些列的权限 授予用户,这样就简化了用户权限的定义。

9.1使用和维护视图
?

?

创建视图是使用CREATE VIEW语句完成的。为了在当 前用户模式中创建视图,要求数据库用户必须具有 CREATE VIEW系统权限;如果要在其它用户模式中创 建视图,则用户必须具有CREATE ANY VIEW系统权限, 创建视图最基本的语法如下: create [or replace] view <view_name> [alias[,alias]…) ] as <subquery> [with check option] [constraint constraint_name] [with read only]

9.1使用和维护视图
?

WITH CHECK OPTION
透过视图进行增删改操作时,不得破坏视 图定义中的谓词条件(即子查询中的条件表达 式(where子句))

9.1使用和维护视图
?

组成视图的属性列名
?

全部省略或全部指定
?

省略: 由子查询中SELECT目标列中的诸字段组成 明确指定视图的所有列名: (1) 某个目标列是集函数或列表达式 (2) 目标列为 * (3) 多表连接时选出了几个同名列作为视图的字段 (4) 需要在视图中为某个列启用新的更合适的名字

?

9.1使用和维护视图
?

使用system帐号授予scott账户create view的权 限。 SQL> grant create view to scott;

?

9.1.1 创建视图
?

(1)建立简单视图 ? 例:建立视图vu_emp,包含emp表的 empno,ename,sal列 create view vu_emp as select empno,ename,sal from emp; ? 查看视图列: SQL> desc vu_emp ? 使用数据字典user_views查看用户视图: SQL> select view_name from user_views;

9.1.1 创建视图
?

查看视图文本: SQL> select text from user_views where view_name=upper('vu_emp');
对简单视图的增、删、改操作: SQL>insert into vu_emp (empno,ename,sal) values (1000,‘张三',1500); SQL> update vu_emp set sal=3000 where empno=1000; SQL> delete from vu_emp where empno=1000; 说明:视图本身没有任何数据,视图上的增、删、改、查 操作都是针对视图基表来完成的。

?

?

9.1.1 创建视图
练习: 建立视图vu_emp01,可以查看雇员的编号、姓 名、工资和奖金。并使用测试数据作增、删、改 操作(数据自拟)。
?

9.1.1 创建视图
? ?

(2)建立复杂视图 例:建立视图vu_gdept,按部门统计平均工资、合计 工资、最高工资和最低工资。 create view vu_gdept as select deptno, round(avg(sal),2) avgsal, round(sum(sal),2) sumsal, round(max(sal),2) maxsal, round(min(sal),2) minsal from emp group by deptno;

9.1.1 创建视图
?

练习:建立视图显示工资高于部门平均工资的 雇员姓名、工资和部门号

9.1.1 创建视图
? ?

(3)建立连接视图 例:建立视图vu_emp_dept,包含emp表的 empno,ename,sal列和dept的dname列。 create view vu_emp_dept as select e.empno,e.ename,e.sal,d.dname from emp e,dept d where e.deptno=d.deptno;

9.1.1 创建视图
?

?

练习1:建立视图显示雇员的编号、姓名及其 主管的编号和姓名。 练习2:建立视图显示雇员的编号、姓名、工 作、部门名称和工资等级。

9.1.1 创建视图
? ?

(4)建立只读视图 例:建立只读视图vu_emp_d20,包含列 empno,ename,job,sal,deptno。 create view vu_emp_d20 as select empno,ename,job,sal,deptno from emp where deptno=20 with read only;

9.1.1 创建视图
?
?

测试:
SQL> insert into vu_emp_d20 (empno,ename,job,sal) values (1003,'李四','CLERK',1500);

?

ORA-42399: 无法对只读视图执行 DML 操作

?

练习:建立只读视图显示雇员的编号、姓名、 工作、部门名称和工资等级。

9.1.1 创建视图
? ?

(5)建立带有check约束的视图 例:建立视图vu_emp_d30,显示30部门的雇 员编号、姓名、工作、工资和部门号,不允许 添加其它部门信息。 create view vu_emp_d30 as select empno,ename,job,sal,deptno from emp where deptno=30 with check option constraint ck_vuempd30;

9.1.1 创建视图
?

测试:
SQL> insert into vu_emp_d30 (empno,ename,job,sal,deptno)
values (1004,'李四1','CLERK',1500,20);

?

?

?

ORA-01402: 视图 WITH CHECK OPTION where 子句 违规 练习:建立可以添加工作为‘CLERK’的雇员的视图, 包含列编号、姓名、工作,不允许添加其他工种的雇 员信息。

9.1.1 创建视图
?

(6)建立视图时建立列别名 create view vu_emp_d40 as select empno 雇员编号, ename 雇员姓名, job 雇员工作, sal 雇员工资, deptno 部门编号 from emp where deptno=40 with check option constraint ck_vuempd40;

9.1.2 维护视图
?

?

(1)查看视图定义 SQL>desc user_views; SQL>select text from user_views where view_name=upper(‘vu_emp_dept’); (2)修改视图定义 ? 例:修改视图vu_emp_dept,增加列deptno。 create or replace view vu_emp_dept as select e.empno,e.ename,e.sal,e.deptno,d.dname from emp e,dept d where e.deptno=d.deptno;

9.1.2 维护视图
?

?

(3)重新编译视图: alter view vu_emp_dept compile; (4)删除视图 ? SQL> drop view vu_emp_dept;

第9章 视图、索引、序列、 同义词的创建及维护
? ? ? ? ?

9.1使用和维护视图 9.2使用和维护索引 9.3使用和维护序列 9.4使用和维护同义词 9.5小结

9.2使用和维护索引
?

如果要在表中查询指定的记录,在没有索引的 情况下,必须遍历整个表,而有了索引之后, 只需要在索引中找到符合查询条件的索引字段 值,就可以通过保存在索引中的ROWID快速找 到表中对应的记录。举个例子来说,如果将表 看作一个本书,则索引的作用则类似于书中的 目录。在没有目录的情况下,要在书中查找指 定的内容必须阅读全书,而有了目录之后,只 需要通过目录就可以快速找到包含所需内容的 页码(相当于ROWID)。

9.2使用和维护索引
?

?

索引的优点为:提高查询的执行速度、实施数 据的唯一性、加速了表之间的连接 索引的缺点为:创建索引需要花费较多的时间、 每个创建的索引连同原先的数据源都需要空间 来存储数据、每次修改数据时索引都要更新

9.2使用和维护索引
?

?

?

按照索引数据的存储方式可以分为: B树索引 位图索引 反向键索引 基于函数的索引 按照索引个数分为: 单列索引 复合索引 索引列值唯一性可分为: 唯一索引 非唯一索引(默认)

9.2使用和维护索引
?

?

在创建索引时,Oracle首先对将要建立索引的 字段进行排序,然后将排序后的字段值和对应 记录的ROWID存储在索引段中。建立索引可 以使用CREATE INDEX语句,通常由表的所有 者来建立索引。如果要以其它用户身份建立索 引,则要求用户必须具有CREATE ANY INDEX 系统权限或者相应表的INDEX对象权限。具体 语法格式如下: create index 索引名称 on 表名(列名);

9.2.1 创建索引
?

1、 B树索引(默认) ? 以B树结构(算法)来组织并存放索引数据 ? B树是一颗二叉树 ? 默认以升序排列 ? 由根块、分支块、叶块(ROWID)组成 其中,索引数据存储在叶块

9.2.1 创建索引
? ?

?

B树索引语法 Create [unique] index index_name On table_name(column_name,column_name…) [tablespace tablespace_name]; 其中: ? unique:此关键字表示创建唯一性索引,即索引的 值不允许重复。 ? Tablespace_name:位于的表空间的名称,如果没有 指定表空间,就是当前用户默认的表空间。

9.2.1 创建索引
?

?

创建规则及特点: ? 应建立在重复值很少的列上 ? 应建立经常在where子句中引用的某列或某几列上 ? 适用于相等查询和范围查询 例:我们经常会执行语句: select * from emp where ename=‘SCOTT’ 那么我们可以在ename列上创建B树索引,语句如 下: create index ind_ename on emp(ename) tablespace users

9.2.1 创建索引
?

2、位图索引 ? 以位置来表示索引数据 ? 相比B树索引,位图索引可以节省大量磁盘空间 ? 基于每个不同值建立一个位图 ? 语法: CREATE BITMAP INDEX idx_name ON tab_name(col_name) TABLESPACE space_name

9.2.1 创建索引
?

?

规则和特点 ? 建立在重复值很多的列(列的基数低) ? 建立在执行数据统计、数据汇总的条件查询列上 例:经常执行语句:
Select count(*) from tab_name where gender = ‘F’;

那么可以在性别列上建立位图索引: Create bitmap index idx_gender On tab_name(gender);

位图索引例子
Cname Carter Guibault Huber Marital_status Signle Married Married Region East Central West Sex 1 0 0

Customer表
Rowid AAAMZJAAEAAAAIVAAA AAAMZJAAEAAAAIVAAB AAAMZJAAEAAAAIVAAC

Johnson
Schwen Viteto

Divorced
Signle Married

West
Central Central

1
0 0

AAAMZJAAEAAAAIVAAD
AAAMZJAAEAAAAIVAAE AAAMZJAAEAAAAIVAAF

位图索引例子
在Marital_status创建bitmap索引
Single 1 0 0 0 1 0 Married 0 1 1 0 0 1 Divorced 0 0 0 1 0 0 rowid

Signle Married divorced

AAAMZJAAEAAAAIVAAA AAAMZJAAEAAAAIVAAB AAAMZJAAEAAAAIVAAC AAAMZJAAEAAAAIVAAD AAAMZJAAEAAAAIVAAE AAAMZJAAEAAAAIVAAF

位图索引例子
在Region创建bitmap索引
East 1 0 0 0 0 0 Central 0 1 0 0 1 1 West 0 0 1 1 0 0 rowid

east central

west

AAAMZJAAEAAAAIVAAA AAAMZJAAEAAAAIVAAB AAAMZJAAEAAAAIVAAC AAAMZJAAEAAAAIVAAD AAAMZJAAEAAAAIVAAE AAAMZJAAEAAAAIVAAF

Select count(*) from customer where marital_status=‘Married’ and region in (‘central’,’west’);

married 0 1 1 0

Central 0

West 0 0 1 0 1

结果位图 0 1

1

0

and

0 0

or 1
1

= 1
0 0
1

and

1

=

1 0 0 1

1 1
1

0
1

1
1

0
0

位图索引例子
Cname Carter Guibault Huber Johnson Schwen Viteto Marital_status Signle Married Married Divorced Signle Married Region East Central West West Central Central Sex 1 0 0 1 0 0

Customer表
Rowid AAAMZJAAEAAAAIVAAA AAAMZJAAEAAAAIVAAB AAAMZJAAEAAAAIVAAC AAAMZJAAEAAAAIVAAD AAAMZJAAEAAAAIVAAE AAAMZJAAEAAAAIVAAF

9.2.1 创建索引
? ?

3、建立反向键索引 我们知道Oracle会自动为表的主键列建立索引,这个 默认的索引是普通的B-Tree索引。对于主键值是按顺 序(递增或递减)加入的情况,默认的B-Tree索引并不理 想。这是因为如果索引列的值具有严格顺序时,随着 数据行的插入,索引树的层级增长很快。搜索索引发 生的I/O读写次数和索引树的层级数成正比,也就是说, 一棵具有5个层级的B-Tree索引,在最终读取到索引数 据时最多可能发生多达5次I/O操作。因而,减少索引 的层级数是索引性能调整的一个重要方法。

9.2.1 创建索引
?

如果索引列的数据以严格的有序的方式插入,那么BTree索引树将变成一棵不对称的“歪树”,如图 1所 示:

图 1不对称的B-Tree索引

9.2.1 创建索引
?

而如果索引列的数据以随机值的方式插入,我们将得 到一棵趋向对称的索引树,如图 2所示:

图 2对称的B-Tree索引

9.2.1 创建索引
?

?

?

比较图 1和图 2,在图 1中搜索到A块需要进行5次I/O操作, 而图 2仅需要3次I/O操作。 既然索引列数据从序列中获取,其有序性无法规避,但在 建立索引时,Oracle允许对索引列的值进行反向,即预先对 列值进行比特位的反向,如1000,10001,10011,10111, 经过 反向后的值将是0001,1001,1101,0011。显然经过位反向处 理的有序数据变得比较随机了,这样所得到的索引树就比 较对称,从而提高表的查询性能。 但反向键索引也有它局限性:如果在WHERE语句中,需要 对索引列的值进行范围性的搜索,如BETWEEN、<、>等, 其反向键索引无法使用,此时,Oracle将执行全表扫描;只 有对反向键索引列进行 <> 和 = 的比较操作时,其反向键 索引才会得到使用。

?

?

ORDER_ID为T_ORDER表的主键,主键名为PK_ORDER, 我们为ORDER_ID列上建立一个反向键索引IDX_ORDER_ID, 并使PK_ORDER_ID使用这个索引,其SQL语句如下: create table T_ORDER ( ORDER_ID NUMBER(10) not null, CLIENT VARCHAR2(60), ADDRESS VARCHAR2(100), ORDER_DATE CHAR(8));

?

create unique index IDX_ORDER_ID on T_ORDER ( ORDER_ID ASC) reverse;
alter table T_ORDER add constraint PK_ORDER primary key (ORDER_ID) using index IDX_ORDER_ID; 要保证创建IDX_ORDER_ID的SQL语句在创建PK_ORDER主 键的SQL语句之前,因为主键需要引用到这个反向键索引。 由于主键列的数据是唯一的,所以为IDX_ORDER_ID加上 unique限定,使其成为唯一型的索引。

?

? ?

9.2.1 创建索引
?

4、函数索引
? ?

基于函数或表达式所建立的索引 语法:
? ? ?

CREATE INDEX idx_name ON tab_name(func_name(col_name)) 如: ? create index funidx_emp_empno on emp substring(empno,1,2);

9.2.2 修改索引
?

如果在索引列上频繁执行UPDATE或INSERT 操作,则应定期重建索引,提高空间利用率 语法:
?

?

ALTER INDEX idx_name REBUILD;

9.2.3删除索引
? ? ?

索引不再需要时 移动表数据后,索引会无效,需删除或重建 DROP INDEX idx_name;

9.2.4 显示索引
?

显示表的所有索引:
?

显示EMP表的索引信息 ? SELECT index_name, index_type, uniqueness ? from user_indexes where table_name='EMP';

第9章 视图、索引、序列、 同义词的创建及维护
? ? ? ? ?

9.1使用和维护视图 9.2使用和维护索引 9.3使用和维护序列 9.4使用和维护同义词 9.5小结

9.3.1创建序列
?

(1)建立序列 ? Create sequence Sqe_Name [increment by n] [start with n] [{maxvalue n | nomaxvalue}] [{minvalue n | nominvalue}] [{cycle | nocycle}] [{cache n | nocache}]

9.3.1创建序列
? ? ? ? ?

?

?

?

说明: Sqe_Name:序列对象名。 increment by n: 序列递增值(正整数)或递减值(负整数)。 start with n:起始序列值(该项缺省,则默认为1)。 maxvalue n: 可产生的最大序列值(大于或等于start with指定 的值,且大于minvalue),默认值为nomaxvalue。 Minvalue n: 可产生的最小序列值(小于或等于start with指定的 值,且小于maxvalue),默认值为 nominvalue。 Cycle:达到序列最大值或最小值后是否继续生成序列号,默认为 nocycle。 Cache n: 在内存中可以预分配的序列号个数(默认20), nocache指不使用内存。

9.3.1创建序列
?

例1:建立一个产生雇员编号的序列,雇员编 号从8000开始,依次增长1,最大值9999,不 允许序列循环,不使用高速缓存技术。 create sequence seq_empno increment by 1 start with 8000 maxvalue 9999 nocache nocycle;

9.3.1创建序列
?

例2:建立一个产生部门编号的序列,雇员编 号从50开始,每次增长10,最大值99,高速缓 存10个。 create sequence seq_deptno increment by 10 start with 50 maxvalue 99 cache 10;

9.3.1创建序列
?

查询序列: select sequence_name, increment_by, cache_size, max_value, last_number from seq;

9.3.1创建序列
(2)使用序列 例1:在dept表中添加研发部门,使用序列 seq_deptno产生研发部门的部门编号,部门地 点在常州。
?

SQL>insert into dept (deptno,dname,loc) values (seq_deptno.nextval,'研发部','常州');

9.3.1创建序列
例2:为研发部门添加一个雇员“马云”,职位“CEO”, 月薪2万,入职日期“2011-5-24”,雇员编号使用序列 seq_empno产生。 insert into emp (empno, ename, job, sal, hiredate, deptno) values (seq_empno.nextval, '马云‘, 'CEO‘, 20000,to_date('2011-5-24','yyyy-mm-dd'), seq_deptno.currval);
?

说明:首次使用序列时,必须使用伪劣nextval

9.3.1创建序列
练习:创建一个序列seq_author为作者提供编号, 范围1000至9999,递增步长为1。并使用该序 列产生器产生的编号在author表中添加两条作 者信息。

9.3.2维护序列
? ? ?

?

(1)修改序列 当序列值不符合实际需求时,可以执行alter sequence 命令修改序列。 语法: alter sequence Sqe_Name [increment by n] [{maxvalue n | nomaxvalue}] [{minvalue n | nominvalue}] [{cycle | nocycle}] [{cache n | nocache}] 注意:启动序列号不可以修改(start with n)

9.3.2维护序列
?

例:序列seq_deptno的递增步长修改为1 alter sequence seq_deptno increment by 1 maxvalue 99 cache 10;

9.3.2维护序列
(2)删除序列 SQL>drop sequence seq_deptno;
?

第9章 视图、索引、序列、 同义词的创建及维护
? ? ? ? ?

9.1使用和维护视图 9.2使用和维护序列 9.3使用和维护索引 9.4使用和维护同义词 9.5小结

9.4使用和维护同义词
?

同义词是表、索引、视图等模式对象的一个别名。通过 模式对象创建同义词,可以隐藏对象的实际名称和所有 者信息,或者隐藏分布式数据库中远程对象的设置信息, 由此为对象提供一定的安全性保证。与视图、序列一样, 同义词只在Oracle数据库的数据字典中保存其定义描述, 因此同义词也不占用任何实际的存储空间。 在开发数据库应用程序时,应该尽量避免直接引用表、 视图或其它数据库对象的名称,而改用这些对象的同义 词。这样可以避免当管理员对数据库对象做出修改和变 动之后,必须重新编译应用程序。使用同义词后,即使 引用的对象发生变化,也只需要在数据库中对同义词进 行修改,而不必对应用程序做任何改动。

?

9.4使用和维护同义词
?

授予scott账户创建公共同义词的权限。 SQL> grant create public synonym to scott; 授予scott账户创建私有同义词的权限。 SQL> grant create synonym to scott;

?

9.4.1创建同义词
?

?

(1)建立公共同义词 SQL>create public synonym public_emp for emp; 分别用scott账户和system账户访问同义词表: SQL> select * from public_emp;

9.4.1创建同义词
?

?

(2)建立私有同义词 SQL>create synonym private_emp for emp; 分别用scott账户和system账户访问同义词表: SQL> select * from private_emp;

9.4.2 维护同义词
?

?

(1)删除公共同义词 SQL> drop public synonym public_emp; (2)删除私有同义词 SQL> drop synonym private_emp;

第9章 视图、索引、序列、 同义词的创建及维护
? ? ? ? ?

9.1使用和维护视图 9.2使用和维护序列 9.3使用和维护索引 9.4使用和维护同义词 9.5小结

9.5小结

End!


相关文章:
视图、索引的创建及维护.ppt
视图索引的创建及维护 - Oracle数据库 视图、索引、序列、 同义词的创建及维护 邢慧芬 第9章 视图、索引、序列、 同义词的创建及维护 ? ? ? ? ? 9.1使用...
视图和索引的创建和使用实验报告.doc
信息工程学院实验报告课程名称: 《数据库原理》 实验项目名称:视图和索引的创建和使用 成绩: 指导老师(签名):一、实验目的: (1)掌握创建视图的 SQL 语句的用法...
第7章 视图和索引管理.ppt
第7章 视图和索引管理 - 第七章 视图和索引 管理 制作:荆州职业技术学院 彭岚 本章学习目标 1、熟练掌握视图的分类、创建方法及各种操作方法 2、熟练掌握索引的...
索引与视图.ppt
每当修改了表数据后,都会自动维护表或 视图的索引 ...(MSFTESQL)服务创建和维护,用于帮 助在字符串数据中...
第7章使用视图与索引.ppt
第7章使用视图与索引 - 7.1 创建视图 SQL Server2005数据库应用技术 7.1.1 视图 视图是一种数据库对象,是另一种查看数据表中 数据的方法。视图中数据定义...
单元6 创建视图和索引.ppt
【学习任务】 任务1 创建视图任务2 利用视图简化查询操作 任务3 通过视图更新数据任务4 管理和维护视图 任务5 创建索引 任务6 管理和维护索引 【学习目标】 理解...
单元6 创建视图和索引模板.ppt
单元6 创建视图和索引模板 - 单元6 创建视图和索引 引言 视图(View)是一种基本数据库对象,为用户提供了一 个可以检索数据表中数据的方式。使用视图可以简化查 ...
索引与视图.ppt
索引与视图 - ? ? ? ? ? ? 索引的优点和缺点 聚集索引和非聚集索引的特点 索引的类型 视图的概念、特点和类型 使用CREATE VIEW语句创建视图 通过视图修改基表...
第3部分-创建和维护数据表-约束-索引-视图.ppt
第3部分-创建和维护数据表-约束-索引-视图 - 第3部分 创建和维护数据表、约束、索引视图 2 创建和维护数据表、约束、索引视图 学习要点: 表的概念 ...
项目4 索引与视图管理.ppt
项目4 索引与视图管理 - 任务4-1:索引的创建与使用 任务4-2:视图的创建与使用 任务4-3:通过视图修改表中数据 1 1、索引概述 ?索引是数据库中重要对象之一...
第9章 视图与索引.ppt
Oracle 数据库管理与应用 第9章 索引与视图的创建 本章要点 1 2 3 4 5 3...?在Oracle系统中,对索引的应用和维护是 自动完成的。 ? 当用户执行了INSERT、...
第6章 视图和索引.ppt
第6章 视图和索引 6.1 视图的基本概念 6.2 视图的创建和查询 6.3 视图的维护 6.4 通过视图修改表数据 6.5 索引概述 6.6 创建索引 6.7 管理和维护索引 ...
第7章 索引和视图.ppt
第7章 索引和视图 - 第7章 索引和视图 本章学习目标 掌握索引的创建、管理、维护和删除等操作 掌握视图的创建、修改、使用和删除等操作 学会使用视图查询、修改...
Oracle视图中建立索引的注意事项.doc
Oracle视图建立索引的注意事项 - Oracle 视图建立索引的注意事项 在视图创建索引需要三个条件: 一、视图必须绑定到架构。 要做到这点,在 CREATE VIEW 语句...
第7章 索引与视图.ppt
第7章 索引与视图 - ? ? ? ? ? ? 索引的优点和缺点 聚集索引和非聚集索引的特点 索引的类型 视图的概念、特点和类型 使用CREATE VIEW语句创建视图 通过视图...
Oracle数据库管理第9章 视图、索引、序列、同义词.ppt
? ? ? 掌握视图对象的创建和管理 掌握索引对象的创建和维护 掌握序列对象的创建和管理 了解同义词对象 第9 章 主要内容 视图索引、序列、同义词 1.视图对象 ...
视图和索引.ppt
了解索引的作用、使用索引来提高检索的效率 5、熟练掌握索引的创建 、删除 6、分析、规划和维护索引 2016/3/8 1 第6 章 视图和索引 第6章 视图和索引目 6....
第6章索引和视图.ppt
高等院校计算机教材系列 数据库原理应用(第2版) 第6章 索引和视图 6.1 ...……… 叶节点 聚集索引 ? 聚集索引的B-树按自下而上建立,最下层 的叶级...
数据库系统原理-第八章视图与索引资料.ppt
第8章 视图与索引 8.1 虚拟视图 8.2 视图更新 ...建立一个包含电影名和制片人姓名的视图 MovieProd ?...2) 维护索引也要花费时间。 3) 当对表进行修改时...
SQL数据库中索引与视图的创建与使用.doc
SQL数据库中索引与视图的创建与使用 - 实验五 索引与视图的创建与使用 一、实