《oracle常用对象》PPT课件.ppt_第1页
《oracle常用对象》PPT课件.ppt_第2页
《oracle常用对象》PPT课件.ppt_第3页
《oracle常用对象》PPT课件.ppt_第4页
《oracle常用对象》PPT课件.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

Oracle快速入门,Oracle中的对象,目标,表视图索引同义词序列表空间,什么是视图,视图是一种数据库对象,它允许用户从一个或多组表中通过查询语句创建一个“虚表”。视图中并没有存放数据,而仅仅是一条select查询语句,查询结果以表的形式表示。视图是创建在表的基础上的,也可以在视图的基础上再创建视图。视图不能创建索引。创建视图的表称为基表视图中可含有多表联接、集合运算符、DISTINCY运算符、集合函数、GROUPBY、CONNECTBY等字句时,视图通常是不能修改。,视图的优点,基表,视图(虚表),安全,使用视图将用户与基表分开方便,简化用户的SQL命令一致性,试图不存储数据,操作视图的数据就是操作基表数据,创建语句CREATEVIEWVIEW_NAMEASSELECT*FROMBASE_TABLEWITHREADONLYWITHCHECKOPTION使用视图进行操作selectcolumn_listfromVIEW_NAME删除视图DropVIEW_NAME,SQL语句管理视图,视图举例,CREATEORREPLACEVIEWV_EMP1ASSELECT*FROMEMP;SELECT*FROMUSER_VIEWS;-查看用户的视图DESCV_EMP1-查看视图的结构INSERTINTOV_EMP(empno,ename,sal)VALUES(51,HR,4000);往视图插入数据,实际将数据插入到了基表SELECT*FROMEMP;-查询看一下插入成功没CREATEORREPLACEVIEWV_EMP2ASSELECT*FROMEMPWHEREsal2500;INSERTINTOV_EMP2(empno,ename,sal)values(51,HR,2100);-OK插入也能成功,可以查一下基表,但是查询该视图却看不到数据SELECT*FROMV_EMP2-看不到往视图插入的数据,造成错觉,视图举例,CREATEORREPLACEVIEWV_EMP2ASSELECT*FROMEMPWHEREsal2500WITHCHECKOPTION-不符合视图条件的数据不让插INSERTINTOV_EMP2(empno,ename,sal)VALUES(52,HR,2100);-失败CREATEORREPLACEVIEWV_EMP_DEPTASSELECTempno,ename,sal,d.deptno,d.dnameFROMEMPeINNERJOINDEPTdONe.deptno=d.deptno;INSERTINTOV_EMP_DEPTVALUES(1005,TOM,3100,52,SALES);失败,多表连接的视图不让插入和修改CREATEORREPLACEVIEWV_READASSELECT*FROMEMPWITHREADONLY;-只读的视图,不能插入、修改、删除记录,索引是基于表建立的一种数据结构,通过表中的某些字段上建立索引,可以提高系统对表的查询速度。索引表中只保存索引关键字和纪录号,查询时根据索引关键字,可以从索引表中找到对应的纪录号,根据纪录号就可以快速的将纪录指针移到与关键字相对应的纪录上,从而得到查询结果。Oracle支持两种索引:B树索引用一个倒置的树状结构来加快查询表的速度位图索引只存在与oracle的企业版本中,适合在数据表中的列值重复较多的情况下创建索引,索引的管理,索引的原理,CREATEINDEXIDX_EMPonEMP(deptno,mgr);,创建不唯一索引CREATEINDEXindex_nameonTABLE_NAME(index_column)TABLESPACESYSTEMSTORAGE(initial20knext20kpctincrease75)pctfree0;创建唯一索引CREATEUNIQUEINDEXidx_emp_enameonEMP(empno)TABLESPACEusersSTORAGE(initial20knext20kpctincrease75)、pctfree0;创建位图索引CREATEbitmapINDEXonEMP(sex);-可能的值少,重复多删除索引DROPINDEXindex_ename;,索引的管理,User_indexes:存放用户所创建的索引信息User_ind_columns:存放用户索引的字段信息查询ida表的索引信息selectindex_name,column_name,column_positionfromuser_ind_columnswheretable_name=IDA,索引的管理,同义词管理,同义词就是为oracle数据库中的对象创建一个别名,使该对象的非创建者也可以直接通过该别名来访问。Oracle同义词有两种:公有同义词由DBA创建,所有用户都可以访问CREATEpublicSYNONYMEMPFORSCOTT.EMP;私有同义词只能由创建者自己使用CREATESYNONYMEMPFORSCOTT.EMP;,删除同义词:DropsynonymEMP与同义词有关的数据字典DBA_SYNONYMS:是数据库中的所有同义词的描述ALL_SYNONYMS:是数据库中的所有同义词的描述User_SYNONYMS:是用户可存取的所有同义词select*fromDBA_SYNONYMSWHERESYNONYM_NAME=EMP;,同义词管理,同义词用途,应用程序应当尽量避免直接使用表名,DBA或设计人员改变了表名将直接影响程序,如果程序使用同义词,则只需修改同义词即可方便使用,不需带上模式名增强移植性定义共有同义词,换了用户也可以使用,序列的管理,序列就是一个连续的数字生成器,可设置为上升或下降当序列第一次被调用的时候将返回一个指定的值,然后根据规则增量增长序列可以是循环的,也可以是连续增加的,直到一个限制值为止。序列有两个伪列:CurrVal:表示当前列NextVal:下一个序列值,创建一个序列CREATESEQUENCEmyseqINCREMENTBY1STARTWITH1MAXVALUE1.0E28MINVALUE1NOCYCLECACHE20NOORDER;CREATETABLEAA(idnumber(10,0)notnull,aavarchar2(10);insertintoAAvalues(myseq.NEXTVAL,first);insertintoAAvalues(myseq.NEXTVAL,second);SELECT*FROMAA;SELECTmyseq.CURRVALfromdual;,序列的管理,删除一个序列Dropsequencemyseq与序列有关的数据字典DBA_SEQUENCE:存放数据库中的所有序列的描述信息ALL_SEQUENCE:存放当前用户可存取的所有序列USER_SEQUENCES:用户序列的说明SELECTSEQUENCE_NAME,MIN_VALUE,MAX_VALUEFROMuser_sequenceswhereSEQUENCE_NAME=SQ,序列的管理,簇,举例,表空间,数据库由若干表空间组成表空间空间的集合包含:表段,存放表数据索引段,存放索引数据临时段,排序回滚段,事务读一致性、回滚查看有哪些表空间Select*fromv$tablespace查看有哪些数据文件Select*fromv$datafile,表空间和数据文件的作用:使用户数据和数据字典(系统表数据)数据相分离。减少字典对象和模式对象在同一个数据文件中的竞争使不同应用程序的数据相分离。使用户对数据文件的管理更清晰,各个程序的表空间的操作互不影响,即使单个表空间处于脱机也不影响其他的表空间正常运行将回滚段从用户数据中分离出来,防止了单个磁盘的故障造成的数据的不可恢复,表空间管理,表空间可以分为两大类:系统表空间:在创建数据库时一同创建的,用于存放数据字典对象,并包含了系统回滚段。可以存储用户数据,但oracle建议一般不用于存放用户数据非系统表空间:永久表空间:用于存储用户永久数据临时表空间(temporarytablespace):用于存储临时数据,如用户数据进行排序时产生的数据;使用临时表空间在很大程度上提高了用户进行大量数据的排序性能还原表空间(undotablepspace):提供对回滚段的自动管理,表空间管理,管理表空间主要包括以下操作:创建表空间Create(temporary|undo)tablespace更改表空间的存储参数更改表空间的状态Altertablespace/managetablespace删除表空间droptablepace/managetablespace查看表空间的信息,表空间管理,对表空间中的区的分配和使用有两种管理方式:数据字典管理:使用数据字典来跟踪表空间的使用情况本地管理(10g默认的方式,也是推荐的方式):使用位图跟踪表空间的使用情况,位图存储于头文件中,表空间管理,创建表空间Extendmanagement字句:区的管理方式本地管理(local)还是字典管理(dictionary)如果是local需要指定是自动管理(autoallocate)表空间大小还是一个指定大小(uniformsize)的区来管理Segmentspacemanagement字句:段空间的管理方式自动管理(auto)或使用空间列表进行管理(manual)是否启动重做日志文件纪录表空间的数据更改情况Logging/nologgingdatafile字句:至少指定一个属于该表空间的数据文件,表空间管理,创建表空间CREATETABLESPACEAPPLOGGINGDATAFILEC:ORACLEORADATAEXAMPLEAPP1.DBFSIZE5MREUSEAUTOEXTENDONNEXT512KMAXSIZE10MEXTENTMANAGEMENTLOCAL创建本地管理的临时表空间CREATEtemporaryTABLESPACEAPPTEMPTEMPFILEC:ORACLEORADATAEXAMPLEAPPTEMP.DBFSIZE5MEXTENTMANAGEMENTLOCALUniformsize1M创建本地管理的还原表空间CREATEundoTABLESPACE“roolback1DATAFILEC:ORACLEORADATAEXAMPLEroolback1.DBFSIZE5M,表空间管理,表空间的状态,联机:用户可以正常访问此表空间的数据又可以将联机状态的表空间设置为只读或可读写:脱机:此状态的表空间或数据暂时不可用,用户不能访问用于部分的停止数据库、修复数据库文件、改物理文件名、移动物理文件表空间脱机ALTERTABLESPACEAPPOFFLINENormal恢复表空间为联机状态ALTERTABLESPACEAPPONLINE,更改表空间的状态SYSTEM表空间和临时表空间不能被脱机包含活动的回滚段的表空间也不能被脱机Normal清除此表空间的所有数据文件在SGA中分配的空间,该方式为默认方式,且再联机的时候不需要执行介质恢复Temporary脱机前需要设置检查点,则再联机的时候需要执行介质恢复Immediate脱机前不需要设置检查点,则再联机的时候需要执行介质恢复如果数据库运行在noarchivelog模式下,则不能立即脱机Forrecover将数据库中进行point-in-time恢复的表空间设置为脱机,表空间管理,设置表空间为只读,只读表空间不能写数据,可删除数据ALTERTABLESPACEAPPREADONLY可将只读表空间写到CD中,然后修改表空间数据文件的位置设置表空间为读/写ALTERTABLESPACEAPPREADWRITE,表空间管理,删除表空间DROPTABLESPACE“APP”INCLUDINGCONTENTSANDDATAFILES带INCLUDINGCONTENTS可删除表空间的对象,不删文件带ANDDATAFILE删除数据文件改变表空间数据文件大小ALTERDATABASEDATAFILEd:oracleoradatastudymyapp01.dbfautoextendon-自动扩张Resize50m-改变大小ALTERTABLESPACEMYAPPADDDATAFILEd:oracleoradatastudymypp02.dbfsize10m;,改变表空间数据文件准备好数据文件表空间离线修改数据文件,举例表空间离线Altertablespacemyappoffline修改数据文件名称,在操作系统下改修改表空间数据文件altertablespacemyapprenamedatafiled:o

温馨提示

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

评论

0/150

提交评论