资源描述:
《北大青鸟oracle学习资料TP3.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第三章数据库对象本章任务使用Oracle创建各种数据库对象理解和使用序列理解和创建视图理解和创建索引本章目标数据库对象简介Oracle数据库对象又称模式对象数据库对象是逻辑结构的集合,最基本的数据库对象是表其他数据库对象包括数据库对象序列视图索引序列序列是用于生成唯一、连续序号的对象序列可以是升序的,也可以是降序的使用CREATESEQUENCE语句创建序列SQL>CREATESEQUENCEtoys_seqSTARTWITH10INCREMENTBY10MAXVALUE2000MINVALUE10NOCYCLECACHE10;指定内存中预先分配的序号数访问序列通
2、过序列的伪列来访问序列的值NEXTVAL返回序列的下一个值CURRVAL返回序列的当前值SQL>INSERTINTOtoys(toyid,toyname,toyprice)VALUES(toys_seq.NEXTVAL,‘TWENTY’,25);SQL>INSERTINTOtoys(toyid,toyname,toyprice)VALUES(toys_seq.NEXTVAL,’MAGICPENCIL’,75);指定序列的下一个值SQL>SELECTtoys_seq.CURRVALFROMdual;检索序列的当前值更改和删除序列SQL>ALTERSEQUENCEto
3、ys_seqMAXVALUE5000CYCLE;使用ALTERSEQUENCE语句修改序列,不能更改序列的STARTWITH参数使用DROPSEQUENCE语句删除序列SQL>DROPSEQUENCEtoys_seq;视图视图以经过定制的方式显示来自一个或多个表的数据视图可以视为“虚拟表”或“存储的查询”创建视图所依据的表称为“基表”视图的优点有:提供了另外一种级别的表安全性隐藏的数据的复杂性简化的用户的SQL命令隔离基表结构的改变通过重命名列,从另一个角度提供数据创建视图3-1studnostudnamestudmarkssubnostudcaste1Rob45
4、2Open2James334SC3Jesica405OpenStud_detailsStud_viewstudnostudnamesubno1Rob22James43Jesica5CREATEVIEWstud_viewASSELECTstudno,studname,subnoFROMStud_details;创建视图3-2创建视图的语法:CREATE[ORREPLACE][FORCE]VIEWview_name[(alias[,alias]...)]ASselect_statement[WITHCHECKOPTION][WITHREADONLY];创建视图3-3使
5、用WITHCHECKOPTION选项创建视图CREATEORREPLACEVIEWpause_viewASSELECT*FROMorder_masterWHEREostatus='p'WITHCHECKOPTIONCONSTRAINTchk_pv;使用ORDERBY子句创建视图CREATEORREPLACEVIEWord_venASSELECT*FROMvendor_masterORDERBYvenname;创建带有错误的视图CREATEFORCEVIEWvenASSELECT*FROMvenmaster;联接视图2-1StudnoStudnameSubmrksS
6、ubno1Rob4522James3343Jesica404SubnoSubname2English4Maths5ScienceStud_detailsSub_detailsCREATEVIEWStud_sub_viewASSELECTStudno,Studname,Submrks,SubnameFROMStud_details,Sub_DetailsWHEREStud_details.Subno=Sub_details.Subno;Stud_sub_view联接视图StudnoStudnameSubmrksSubname1Rob45English2James33
7、Maths3Jesica40Maths联接视图2-2创建外联接视图CREATEVIEWven_ord_outj_viewASSELECTvm.vencode,venname,orderno,odate,ostatusFROMvendor_mastervm,order_masteromWHEREvm.vencode=om.vencode(+);SELECTvm.vencode,venname,orderno,odate,ostatusFROMvendor_mastervmLEFTOUTERJOINorder_masteromONvm.vencode=om.venco
8、de;视图