Oracle复习题总结.doc
《Oracle复习题总结.doc》由会员分享,可在线阅读,更多相关《Oracle复习题总结.doc(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Oracle复习题总结Oracle复习题总结绪论:1、Oracle,甲骨文,1977年开始研发,总部位于美国加州红木滩市,创始人为LarryEllison(埃里森)、BobMiner、EdOates2、Oracle服务器实例数据库;Oracle实例内存后台进程;第四章:表空间的创建与删除例4.1建立名称为data_ts1的数据表空间,大小为50M,区间统一为128KB大小。SQLconnsystem/systempwdorclSQLdroptablespacedata_ts1includingconntents;SQLcreatetablespacedata_ts12tempfile%orac
2、le_home%databasedata_ts1.dbfSIZE50MREUSE3uniformsize128K;例4.2建立名称为temp_ts1的临时表空间,使用temp_ts1.dbf文件存放临时数据。SQLconnsystem/systempwdorclSQLdroptablespacetemp_ts1includingconntents;SQLcreatetemporarytablespacetemp_ts12tempfile%oracle_home%databasetemp_ts1.dbfsize20Mreuse3uniformsize128k;例4.3创建10号部门经理用户EMP
3、_MGR10,指定该用户的数据表空间为data_ts1,临时表空间为temp_ts1。授权该用户可以查看SCOTT用户下雇员表中的记录。SQLconnsystem/systempwdorclSQLdropuseremp_mgr10cascade;SQLcreateuseremp_mgr10identifiedbyemp_mgr10pwd2defaulttablespacedata_ts1temporarytablespacetemp_ts1;SQLgrantconnecttoemp_mgr10;SQLconnscott/tigerorcl4tempfile%oracle_home%databa
4、setemp_ts1.dbfsize20Mreuse5uniformsize128k;例4.4创建和应用撤销表空间。SQLconnsystem/systempwdorclSQLdroptablespaceundo_ts1includingconntents;SQLcreateundotablespaceundo_ts12datafile%oracle_home%databaseundo_ts1.dbfsize50Mreuse;例4.5创建大文件表空间,并指定为SCOTT用户的默认数据表空间。SQLconnsystem/systempwdorclSQLdroptablespacebigfile_
5、ts1includingconntents;SQLcreatebigfiletablespacebigfile_ts12datafile%oracle_home%databasebigfile_ts1.dbfsize50Mreuse;SQLalteruserscottdefaulttablespacebigfile_ts1;需要注意的是,大文件表空间的段空间管理不能为手工(MANUAL),只能为自动(AUTO)。例4.6调整数据表空间data_ts1的大小。SQLconnsystem/systempwdorcl-为表空间data_ts1增加一数据文件,大小为1M。SQLaltertablesp
6、acedata_ts12adddatafile%oracle_home%databasedata_ts2.dbfsize1M;-重置该数据文件大小为2M。SQLaltertablespace2datafile%oracle_home%databasedata_ts2.dbfsize2M;-修改该数据库,允许该文件自动扩展,每次扩展1M,文件最大扩展到10M。SQLalterdatabasedatafile%oracle_home%databasedata_ts2.dbf2autoextendonnext1Mmaxsize10M;例4.7删除temp_ts1表空间。SQLconnsystem/s
7、ystempwdorclSQLdroptablespacetemp_ts12includingcontentsanddatafiles3cascadeconstraints;例4.8回退段创建与删除。SQLconn3next5Ksystem/systempwdorcl4optimal5000KSQLdroprollbacksegment5minextents15undo_ts1_rbs1;6maxextentsSQLcreaterollbacksegment100);undo_ts1_rbs1;2tablespaceundo_ts1storage(initial5K第5章:常用方案对象类型:表
8、:table索引:index视图:view序列:sequence用户:user约束:constraint表空间:tablespace回退段:rollbacksegment同义词:synonym数据库链接:databaselink聚簇:cluster分区:partition函数/过程/包:function/procedure/package触发器:trigger类型:type约束的类型:NOTNULL:非空约束check:检查约束,用于限制该列的取值范围Unique:唯一性约束,指定某列值不能重复primarykey:主键约束Foreignkey:外键约束,也叫参照完整性约束Ref:定义列对象的
9、参照关系References:参照完整性约束例5.1创建采用系统默认存储参数值的关系表。EXA_05_01.SQL例5.2为SCOTT的雇员表emp创建一个备份表emp_bak。SQLconnscott/tigeremp_orclSQLdorptableemp_bak;SQLcreatetableemp_bakSQLasselect*fromemp;SQLdescemp_bakSQLselect*fromemp_bak;例5.3创建表stu2,并指定它的存储参数。EXA_05_03.SQL例5.4创建学生相关表,在列中定义约束。EXA_05_04.SQL例5.5创建学生相关表,在列之外定义约束
10、。EXA_05_05.SQL例5.6创建学生相关表,在列之外定义约束。EXA_05_06.SQL例7.1某电子商务网站估计每月产生近千万条订单记录。该网站采用年YYYY+月MM+当月流水号nnnnnnnn的形式标识和区分每一份订单。当有用户提交一份订单时,系统自动生成该订单的编号并告知用户这个唯一的订单号。创建一序列,用于生成每月的订单流水号。(老师要求例子)connscott/tigerorcldropsequenceorder_seq;createsequenceorder_seqincrementby1startwith10000000cache500nocycle;colsequenc
11、e_nameformata13selectsequence_name,min_value,max_value,increment_by,last_numberfromuser_sequences;selectorder_seq.currvalfromdual;selectorder_seq.nextvalfromdual;selectorder_seq.currvalfromdual;selectorder_seq.nextvalfromdual;selectorder_seq.currvalfromdual;-函数案例:案例1.返回工人年工资。createorreplacefunctionx
12、xc_fun1(newnamevarchar2)returnnumberisyearSalnumber(10,2);beginselectsal*12+nvl(comm,0)*12intoyearSalfromempwhereename=newname;returnyearSal;end;例9.编写函数按YYYY-MM-DDHH24:MI:SS格式以字符串形式返回当前系统时间。connectscott/tigerorclcreateorreplacefunctioncurrent_timereturnvarchar2asbeginreturnto_char(sysdate,yyyy-mm-dd
13、hh24)|:|to_char(sysdate,mi)|:|to_char(sysdate,ss);end;/selectcurrent_timefromdual;例9.21查询指定编号雇员的名字、工资和佣金。存储过程connscott/tigerorclcreateorreplaceprocedurequery_emp(p_noinemp.empno%type,p_nameoutemp.ename%type,p_saloutemp.sal%type,p_m%type)isbeginselectename,sal,commintop_name,p_sal,p_commfromempwheree
14、mpno=p_no;endquery_emp;/variableg_namevarchar2(25)variableg_salnumbervariableg_commnumberexecutequery_emp(7369,:g_name,:g_sal,:g_comm)printg_name例9.39创建触发器:1在scott的emp表上建立语句前触发器emp_permit_changes。Createorreplacetriggerscott.emp_helloBeforeDeleteorinsertorupdateOnscott.empBeginraise_application_error
15、(-20221,howareyou!);End;2修改触发器使emp_hello触发器不能触发:altertriggerscott.emp_hellodisable;3删除触发器droptriggerscott.emp_hello;end;/updateempsetsal=100whereempno=7369;例9.37为雇员表emp创建一触发器,确保插入记录的工资列sal不小于0,同时新记录的能高于已有记录最高工资的2倍。connscott/tigerorclcreateorreplacetriggercheck_sal_empbeforeinsertorupdateonempreferen
16、cingoldasoldnewasnewforeachrowbeginif:new.sal2*wage_package3.g_salthenraise_application_error(-20502,雇员工资超过现有最高工资2倍);endif;end;/insertintoemp(empno,ename,hiredate,job,sal,deptno)values(300,jordan,sysdate,it_prog,-3,10);insertintoemp(empno,ename,hiredate,job,sal,deptno)values(300,tracyzhou,sysdate,ac
17、c.offi.,16000,10);Oracle实例有两种类:单进程实例和多进程实例。多进程系统中,进程分为两类:用户进程和Oracle进程。sal列值不Oracle进程又分为两类:服务器进程(serverprocess)和后台进程(backgroundprocess)。Oracle数据库的索引模式:(1)B-树索引(2)B-树簇索引(3)散列簇索引(4)全局和本地索引(5)反序索引(6)位图索引(7)基于函数的索引(8)域索引创建视图:1、生成一个部门号是10的视图:createviewd10empasselectempno,ename,salfromempwheredeptno=10;2、
18、删除视图:dropviewd10emp;3、创建索引:createindexi_enameonemp(ename);createuniqueindexi_empnoonemp(empno);索引应用如果查询语句如下则没有用到索引i_ename:selectename,job,salfromemp;如果查询语句如下则用到索引i_ename:selct*fromempwhereename=jones;4、删除索引:dropindexi_ename;5、创建一个用户:createusermyselfidentifiedbymy;6、修改用户口令:alterusermyselfidentifiedby
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 复习题 总结
限制150内