《外模式内模式的定义及使用》由会员分享,可在线阅读,更多相关《外模式内模式的定义及使用(21页珍藏版)》请在金锄头文库上搜索。
1、三级模式结构三级模式结构视图视图(DDLDDL视图是虚表数据库只存储视图的定义,不存储对应的 数据。视图用一组查询来定义,是被存储的查询v 安全性v 方便 用途:create view student1As select * from student where dno= d01 order by birth ; 视图定义视图定义1. 建立 D01系的学生视图视图的用法1 Create Synonym student for student1;授权和建立同义词Select * from student;查询视图的用法2 查某门课不及格的男生或女生名单Create view fail_name
2、as select sname from student where sex=Select * from fail_name ;表与视图视图视图象一个窗 口,通过这个窗 口查看表中的信 息。 安全 方便基本表本身是实际且独 立存在的。 是数据库存储数 据的基本单元drop view fail_name;删除视图索引在数据库应用中,建立索引对象,改变 物理存储,加速数据定位索引维护与应用索引维护与应用 v 对用户透明 v Oracle自动维护和使用索引。v B树索引(系统自动为主码和唯一完整性约束建 立) v 位图索引 v hash函数索引 v 反向键值索引Oracle 数据库支持的索引类型索引
3、索引 (table, table, 分区表,聚集)分区表,聚集) 建立索引是为了快速找到需要的记录,加快查找的速度 Create index Create index 索引名索引名on on empemp( (enameename) ;) ;例1: 在emp表的ename列上建立索引Create index idx1on emp(ename) ;B树索引SMITH ALLEN WARD JONESMARTIN BLAKE CLARK SCOTT KINGTURNER ADAMS JAMES FORD MILLERIndex Block Table BlockADAMS ALLENBLAKE C
4、LARK FORDJAMES JONESKING MARTINMILLER SCOTT SMITH TURNER WARDMILLER TURNERBLAKE JAMESKINGROWIDROWIDIndex Block Table Block块块 号号行行 号号文文 件件 IDIDrowidrowidxxxxxxxxxx. .xxxxxx. .xxxxxxSelect *From empWhere ename=BLAKECreate index Create index 索索 引名引名on on empemp( (enameename) ) ; ;位图索引 位图索引中的列对应于索引的 每个不
5、同值. 索引的每一行对应于表中的被 索引的每一行 当一行含有特定的索引值时, 该行的位图值为1,其他值为零北京 天津 上海0 1 01 0 00 0 10 0 11 0 01 0 0d01合资 d02合资 d03合资 d04外企 d05国企 d06合资dnotype 天津 北京 上海 上海 北京 北京loclocDEPselect dno from dep where type = 合资 and loc in (北京, 上海) 。和资 北京 上海 1 0 0 0 1 1 0 1d02 10 1 1d03 0 AND 0 OR 1 = 0 0 1 0 0 1 1 0 1d06位图索引的例子位图索
6、引位图索引01000000dd5.0003.00 010000100000dd5.0002.00 010000010000dd5.0001.00 01001000WARDJONESKINGFORDBLAKEALLENROWID0000dd5.000 0.0001Select *From Select *From empWhere enameempWhere ename=BLAKE=BLAKE位图索引v建立位图索引; create bitmap index dep_index on dep(loc) ;v 位图索引适用于列的值取值不多的情况、索引列含有越 多的值,位图项就越多,需要存储索引的空间
7、也越大。v 位图索引不适合于经常插入或更新数据的应用。v位图索引典型地用于决策系统与数据仓库应用中查询数 据。删除索引drop index dep_index;建立索引Create index idx1on emp(ename) ;建立索引原则:(1)记录有一定规模,检索10内容。(2)某列在where子句中频繁使用。(3)先装数据,后建索引。聚 集和聚集索引在公共列上具有同一值的行在数据库中物理地存储在一起 。聚集可加快连接操作Create cluster clu1(depno char(3);create table dep( ) cluster clu1(dno);create tabl
8、e emp( ) cluster clu1(dno);create index clu1_idx on cluster clu110,radio,w8889,1010, radio,w8889,7788,20,簇(聚集)索引簇索引表的存储 e01 张一 男 d01 同方 87500 e02 李二 女 d01 同方 87500 e10 王三 男 d02 紫光 92034d03 四通 86800来自emp 来自depcluster keyDrop index 模式名.索引名例如:Drop index i_emp_ename;删除索引:Drop index dep_index;ORACLE数据库概述子程序调用接口OCIDevelop 2000Pro*C 预编译接口SQL*Plusutilities操 作 系 统R D B M SO R A C L E 核 心DB:ORACLE数据库概述Oracle工具RDBMSSQL*NET终端Oracle工具SQL*NETSQL*NETRDBMSDBDB网络虚 终 端ORACLE数据库概述Oracle 数据库TrigerViewSQL*P l usProcedureTableViewTable FunctionTrigerIndex IndexCluster Cluster