《Oracle数据库技术与应用》课件-CORE-06_第1页
《Oracle数据库技术与应用》课件-CORE-06_第2页
《Oracle数据库技术与应用》课件-CORE-06_第3页
《Oracle数据库技术与应用》课件-CORE-06_第4页
《Oracle数据库技术与应用》课件-CORE-06_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目标了解簇的作用,会建立简单的索引簇深入掌握索引概念,充分掌握限制索引,能够创建索引和管理所引深入掌握视图的概念与作用,掌握对视图的应用方法簇簇是存储表数据的一种可选结构,它由一组共相同数据块的表组成。并且这些表都具有共同的簇键列簇的特点每个簇都必须有一个簇键簇键可以包含一列或多列在簇表中必须要具有对应于簇键的列簇键列很少修改使用簇可以提高随机访问数据的能力簇索引簇:使用索引定位簇键列数据selectdname,ename,salfromdept,empwheredept.deptno=emp.deptnoanddept.deptno=10;enamesal……deptnodeptnodname……主键外键为了加快访问速度,可以将表DEPT和EMP组织到索引簇中,并且应该将部门号(DEPTNO)作为簇键列雇员表EMP部门表DEPT簇建立索引簇create

clusterdept_emp_cluster(deptnonumber(3));簇表DEPT

建立簇表create

tabledept(Deptnonumber(3)constraintpk-deptprimarykey,Dnamevarchar2(14),Locvarchar2(13),Addressvarchar2(30))clusterdept_emp_cluster(deptno);簇建立簇索引createtableemp(Empnonumber(4)constraintpk_empprimarykey,Enamevarchar2(10),……Deptnonumber(3)constraintfk_deptnoreferencesdept(deptno))clusterdept_emp_cluster(deptno);簇表EMP

createindexdept_emp_idxonclusterdept_emp_cluster;当主从表组织到索引簇之后,如果执行两表连接查询,可以大大降低I/O次数,从而提高查询的速度簇删除簇dropcluster

dept_emp_cluster;删除不带表的簇dropcluster

dept_emp_clusterincludingtables;删除带表的簇drop

tabledept;drop

tableemp;drop

clusterdept_emp_cluster;删除带表的簇(先删除簇表)簇显示簇信息DBA_CLUSTERS(存放所有簇信息)USER_CLUSTERS(存放当前用户所有簇信息)selectcluster_name,cluster_typefromuser_clusters;显示当前用户所有簇的簇名和簇类型簇通过USER_CLU_COLUMNS视图可以获取簇表和簇键列的信息selectclu_column_name,table_namefromuser_clu_columns;显示当前用户所有簇的簇表和簇键列的部分信息视图视图是一张虚拟表,它表示一张表的部分数据或多张表的综合数据,建立在对表的查询基础上。视图中并不存放数据,而是存放视图的定义。同一张原始表,根据不同用户的不同需求,可以创建不同的视图。视图视图作用提供附加的安全层,防止用户访问敏感数据降低数据库的复杂程度视图可以简化命名视图带来更改的灵活性视图创建视图CREATE[OR

REPLACE]VIEW

自定义视图名(数据项别名列表,多个列时以”,”分隔)AS

SELECT子查询语句语法:createviewv_empasselectename,salfromemp;创建简单视图视图create

viewav_emp(v_ename,v_sal)asselectename,salfromemp;创建别名列表的视图create

viewp_emp(v_ename,v_sal)asselecte.ename,e.sal,d.deptnofromempe,deptdwheree.deptno=d.deptno创建复杂视图视图删除视图

DROPVIEW已定义视图名称语法:dropviewp_emp;删除视图p_emp索引索引:是数据库编排数据的内部方法。索引类似于书的目录结构。索引的作用:通过使用索引,可以大大提高数据库的检索速度,改善数据库性能。IndexPages(索引页)DataPages(数据页)…

索引组合索引:当某个索引包含有多个已索引的列时,称这个索引为组合索引Oracle9i引入跳跃式扫描的索引方法,允许优化器使用组合索引。索引ORACLEROWID:ROWID是索引指向存放记录行的物理地址,直接指向单独行。通过每个行的ROWID,Oracle提供了访问单行数据的能力。查询数据库表时,可以在任何表中指定ROWID列。索引限制索引:在SQL中有很多陷阱会使一些索引无法使用。selectcust_id,cust_namefromcustomerwherecust_rating<>0.2使用(<>、!=)操作符会限制索引(在cust_rating上建有索引)selectcust_id,cust_namefromcustomerwherecust_rating<0.2orcust_rating>0.2把上面的语句改写成如下将会使用索引,以避免全表扫描索引selectempno,ename,deptnofromempwheretrunc(hiredate)=’01-MAY-81’;对索引的列使用函数时,会忽略索引selectempno,ename,deptnofromempwherehiredate<(to_date(’01-MAY-81’)+0.9999);下面的语句可以通过索引进行查找索引selectbank_name,address,city,state,zipfromaccountwhereaccount_number=8800000;比较不匹配的数据类型account_number上建有索引,其数据类型为varchar2where后的子句将自动转为:to_number(account_number)=8800000索引群集因子(ClusteringFactor): 位于USER_INDEXES视图中。该列反映了数据相对于已索引的列是否显得有序快速全局扫描: 容许Oracle执行一个全局索引扫描操作跳跃式扫描: 容许优化器使用组合索引索引索引的类型B-树索引位图索引HASH索引反转键索引基于函数的索引分区索引本地和全局索引索引创建索引create

indexind1onemp(empno);创建Btree索引create

indexind2onemp(empname,deptno);创建Btree组合索引索引create

unique

indexind3onemp(empno);创建UniqueBtree索引索引查看索引信息通过USER_INDEXES视图可以查询到具体每个表相应的索引信息

selectindex_name,index_typefromuser_indexeswheretable_name=‘emp’;查询SCOTT模式的EMP表对象的索引名称、索引类型信息合并查询索引小结索引类似书的目录结构索引是与表关联的可选对象,使用索引能提高SQL查询语句的速度索引直接指向包含所查询列的值的行的位置,减少磁盘I/O索引是独立的物理结构Orac

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论