索引序列同义词数据字典实用教案_第1页
索引序列同义词数据字典实用教案_第2页
索引序列同义词数据字典实用教案_第3页
索引序列同义词数据字典实用教案_第4页
索引序列同义词数据字典实用教案_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、 创建约束时默认使用NOT DEFERRABLE,即约束不可延迟。 创建可延迟约束使用DEFERRABLE关键字,并且可以指定INITIALLY IMMEDIATE或INITIALLY DEFERRED说明可延迟约束在初始状态下是立即(lj)检查还是延迟检查,默认为立即(lj)检查。CREATE TABLE scott.new_dept(deptno number primary key deferrable initially immediate, dname varchar2(20) unique)第1页/共54页第一页,共54页。 Oracle数据库根据临时(ln sh)表的性质不同,可

2、以分为事务临时(ln sh)表与会话临时(ln sh)表。CREATE GLOBAL TEMPORARY TABLE table_name(col_name date_type, .)注意:一般情况下,如果在创建临时(ln sh)表时没有特殊指明,则该表默认为事务临时(ln sh)表。ON COMMIT DELETE ROWSON COMMIT PRESERVE ROWS第2页/共54页第二页,共54页。create or replaceforce|noforce view v_name(alias,)as subquerywith check option constraint constr

3、aint_namewith read only第3页/共54页第三页,共54页。注:要在此视图上执行insert语句,那么插入的值必须满足子查询中的查询条件(tiojin)。要执行update语句,那只能修改除约束条件(tiojin)中涉及列之外的列。create view scott.emp_vu10as select * from scott.empwhere deptno=10with check option constraint chk_vu10第4页/共54页第四页,共54页。 连接视图是基于连接的视图。一个(y )连接视图上的DML语句只能修改视图中的一个(y )键值保留表(ke

4、y-preserved table)。第5页/共54页第五页,共54页。如果连接视图中的一个基础表的主键在它的视图中仍然存在(cnzi),并且在连接视图中仍然是主键,则称这个基表为“键值保存表”。 在连接(linji)视图上,对视图进行插入、删除、更新等操作时,只能够对视图中的键值保存表的列进行更新。 一般地,由主外键关系的2个表组成的连接视图,外键表(子表)就是键值保存表,而主键表(父表)不是。 第6页/共54页第六页,共54页。ldrop view命令(mng lng)drop view 第7页/共54页第七页,共54页。NEW第8页/共54页第八页,共54页。 用户对数据库最频繁的操作是

5、进行(jnxng)数据查询。一般情况下,数据库在进行(jnxng)查询操作时需要对整个表进行(jnxng)数据搜索。当表中数据很多时,搜索数据就需要很长的时间,这就造成了服务器资源的浪费。为了提高检索数据的能力,数据库引入了索引机制。第9页/共54页第九页,共54页。索引是一个单独的、物理的数据库结构,它是表中一列或多列值的集合(jh)和相应行所对应的rowid。第10页/共54页第十页,共54页。数据库中引入索引的目的是为了提高对表中数据的查询速度。如果一个表没有创建索引,则对该表进行查询时需要(xyo)进行全表扫描;如果对表创建了索引,在进行有条件查询时,系统根据查询条件中的索引值信息,利

6、用特定的排序算法在索引表中很快的查询到相应的索引值及其对应rowid,根据rowid可以在数据库表中很快查询到符合条件的记录。 第11页/共54页第十一页,共54页。通用规则:只用当经常(jngchng)查询索引列中的数据时,才需要在表上创建索引。第12页/共54页第十二页,共54页。Oracle的索引主要包含两类:BTree索引和位图索引。默认情况(qngkung)下大多使用Btree索引,该索引就是通常所见的唯一索引、非唯一性索引、单列索引、复合索引等。第13页/共54页第十三页,共54页。第14页/共54页第十四页,共54页。create unique bitmap index inde

7、x_nameon table_name (col_name1ASC|DESC, )unique:建立(jinl)唯一索引。bitmap:建立(jinl)位图索引。注:在默认情况下,create index命令创建的是非唯一的B树索引。第15页/共54页第十五页,共54页。create index scott.sal_comm_indexon scott.emp1 (sal , comm)create bitmap index scott.ename_indexon scott.emp1 (ename)第16页/共54页第十六页,共54页。 在emp1表中,为员工号建立(jinl)唯一索引。cr

8、eate unique index scott.empno_indexon scott.emp1 (empno)第17页/共54页第十七页,共54页。select * from user_indexes where table_name=表名; select * from user_ind_columns where table_name=表名; 第18页/共54页第十八页,共54页。例如:查看EMP1表中所创建有哪些(nxi)索引? select index_name,index_type,table_name from user_indexes where table_name=EMP1

9、select * from user_ind_columns where table_name=EMP1第19页/共54页第十九页,共54页。例如(lr):drop index scott.sal_comm_indexdrop index scott.empno_index drop index scott.ename_index第20页/共54页第二十页,共54页。第21页/共54页第二十一页,共54页。 序列是一个数字(shz)生成器,用于生成连续的、唯一的数字(shz)。序列也是一种数据库对象。 当需要使用顺序递增的数字时,如果不使用序列(xli),那么需要编写程序生成数字值,使用序列(

10、xli)可以简化这种处理操作。例如employee_id列数值顺序递增,并且不允许重复,那么可以使用序列(xli)为其提供数据。第22页/共54页第二十二页,共54页。create sequence sequence_nameincrement by n start with nminvalue n |nominvaluemaxvalue n |nomaxvalue cycle | nocyclecache n | nocache 见表46第23页/共54页第二十三页,共54页。create sequence scott.deptno_seq start with 50increment by

11、 10maxvalue 99cache 10第24页/共54页第二十四页,共54页。create sequence scott.emp1_seqstart with 1increment by 1maxvalue 10000cycle第25页/共54页第二十五页,共54页。当使用序列时,必须通过属性nextval和currval来引用(ynyng)序列,引用(ynyng)方法:序列名.属性nextval:用于返回下一个序列(xli)值。即:Increment by定义的增加值。currval:用于返回当前序列(xli)值。注意:当第一次引用序列时,必须使用nextval,返回的是初始值。第26

12、页/共54页第二十六页,共54页。insert into scott.dept1(deptno,dname,loc)values(scott.deptno_seq.nextval, DEVELOPMENT, NEW YORK)当建立(jinl)序列后,如果要使用序列为顺序递增的主键列提供数据,那么可以使用nextval。第27页/共54页第二十七页,共54页。select scott.deptno_seq.currvalfrom dual如果要确定当前(dngqin)序列号,那么可以使用属性currval。第28页/共54页第二十八页,共54页。第29页/共54页第二十九页,共54页。1、通过

13、(tnggu)使用cache选项建立序列,可以设置在内存中预分配的序列号个数。该选项设置越大,序列的访问性能会越好,但也会占用更多的内存空间,并且可能出现断号,建议设为nocache或cache 1。2、当执行rollback语句取消事务操作时,会导致出现序列缺口。例如(lr),当使用序列deptno_seq为部门号提供数据时,如果执行rollback取消事务,那么会导致部门号的值不连续(如50,70,80等)。第30页/共54页第三十页,共54页。alter sequence sequence_nameincrement by n maxvalue nminvalue n cycle | n

14、ocyclecache n | nocache注:序列(xli)的初始值不能修改,即不能修改start with 。第31页/共54页第三十一页,共54页。alter sequence scott.deptno_seqmaxvalue 200nocache第32页/共54页第三十二页,共54页。drop sequence sequence_name例如(lr):drop sequence deptno_seq drop sequence emp1_seq第33页/共54页第三十三页,共54页。第34页/共54页第三十四页,共54页。同义词是为表、视图(sht)和序列等对象起的另外一个名字。建立

15、(jinl)同义词的好处:1、引用对象不需要指名对象的所有者。2、引用对象不需要指出它所位于的数据库。3、为对象提供另一个名字。第35页/共54页第三十五页,共54页。公共(gnggng)同义词:是指所有用户都可以直接引用的同义词,并且这种同义词由public用户组所拥有。 要以系统管理员身份登陆创建。私有同义词:是指只能由其方案(fng n)用户直接引用的同义词。注:1、如果数据库用户要访问公共同义词,那么可以直接引用,不需要加方案名;2、如果数据库用户要访问其他方案的私有同义词,那么必须要加方案名作为前缀(方案名.同义词名)。第36页/共54页第三十六页,共54页。create publi

16、c synonym synomym_namefor schema. object例:给scott.emp表建立(jinl)公共同义词public_emp。create public synonym public_empfor scott.emp第37页/共54页第三十七页,共54页。当执行了以上语句后,会建立公共同义词public_emp,该同义词属于public用户组,所以任何(rnh)用户都可以直接引用该同义词。例:Select ename,sal,jobFrom public_empWhere ename=SCOTT第38页/共54页第三十八页,共54页。create synonym s

17、ynomym_namefor schema. object例:给scott.dept表建立(jinl)私有同义词private_dept。create synonym scott.private_deptfor scott.dept第39页/共54页第三十九页,共54页。当执行了以上语句后,会建立私有同义词private_emp,因为该同义词是私有同义词,所以只有当前用户可以直接引用,而其他任何用户引用该同义词都必须(bx)加方案名。例:Select dname,locFrom scott.private_dept第40页/共54页第四十页,共54页。 synonym_name synonym

18、_name 例如(lr): drop public synonym public_emp; drop synonym scott.private_dept; 第41页/共54页第四十一页,共54页。第42页/共54页第四十二页,共54页。 数据字典(Data Dictionary,简称DD)是以数据表和视图为主要存在形式的。数据库字典描述了实际数据是如何(rh)组织的。对它们可以象处理其他数据库表或视图一样进行查询,但不能进行任何修改。Oracle数据库字典通常(tngchng)是在创建和安装数据库时被创建的,Oracle数据字典是Oracle数据库系统工作的基础,没有数据字典的支持,Orac

19、le数据库系统就不能进行任何工作。数据字典里存有用户信息、用户的权限信息、所有数据对象信息、表的约束条件、统计分析数据库的视图等。当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。第43页/共54页第四十三页,共54页。 静态数据字典:主要是在用户访问数据字典时不会发生(fshng)改变。l动态数据字典:是依赖数据库运行的性能,反映数据库运行的一些内在(nizi)信息。第44页/共54页第四十四页,共54页。在Oracle数据库字典中,许多(xdu)视图都有三个不同的实例,它们的前缀分别为“USER_”、“ALL_”、“DBA_”为前缀的数据库字典视图包含所有数据库

20、对象的信息,而不管其所有者。其他的字典视图中主要的是V$视图,之所以这样叫是因为他们都是以V$或GV$开头的。第45页/共54页第四十五页,共54页。注:V$视图是SYS用户所拥有的,在缺省状况下,只有SYS用户和拥有DBA系统权限的用户可以看到所有(suyu)的视图,没有DBA权限的用户可以看到USER_和ALL_视图。第46页/共54页第四十六页,共54页。conn scott/tigerbuaa108select table_name from user_tablesconn scott/tigerbuaa108select object_name,object_type from us

21、er_objects 第47页/共54页第四十七页,共54页。select constraint_name,constraint_type from user_constraintsWhere table_name=EMPselect constraint_name,column_name from user_cons_columns第48页/共54页第四十八页,共54页。select sequence_name,min_value,max_value,increment_byfrom user_sequencesselect synonym_name,table_namefrom user_synonyms 第49页/共54页第四十九页,共54页。用户用户(yngh)管理管理create user sem identified by buaa108;alter u

温馨提示

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

评论

0/150

提交评论