Oracle10g上机实验汇总.doc_第1页
Oracle10g上机实验汇总.doc_第2页
Oracle10g上机实验汇总.doc_第3页
Oracle10g上机实验汇总.doc_第4页
Oracle10g上机实验汇总.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

数据库课程设计实验报告专业 计算机科学与技术 姓名 许静晨 学号 1027401097 指导老师 季怡 实验室 使用日期 苏州大学计算机科学与技术学院统一印制二零零九年十二月试验1关系模式如下:教师(教师号,姓名,性别,出生日期,系,职称,课程号)课程(课程号,课程名,学分)学生(学号,姓名,性别,年龄,班级,系)学习(学号,课程号,成绩)试验21利用DBCA创建一个名为STUDENT的数据库。2启动SQL*Plus工具,用SYSTEM用户连接到ORCL数据库。3.为当前数据库用户配置数据库证明。试验3为EXAMPLE表空间添加一个数据文件,文件名为example02.dbf,大小为20M。用PL/SQL实现试验41使用SQL命令创建一个本地管理方式下自动分区管理的表空间USERTBS1,其对应的数据文件大小为20MB。SQL CREATE TABLESPACE USERTBS1 DATAFILE 2 C:ORACLEPRODUCT10.2.0ORADATAstudentUSERTBS1.DBFSIZE 20M 3 EXTENT MANAGEMENT LOCAL AUTOALLOCATE;2.使用SQL命令创建一个本地管理方式下的表空间USERTBS2,要求每个分区大小为512KB。SQL CREATE TABLESPACE USERTBS2 DATAFILE 2 C:ORACLEPRODUCT10.2.0ORADATAstudentUSERTBS2.DBFSIZE 20M 3 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K;3.修改USERTBS1表空间的大小,将该表空间的数据文件改为自动扩展方式,最大值为100MB。SQL ALTER DATABASE DATAFILE2 C:ORACLEPRODUCT10.2.0ORADATAstudentUSERTBS1.DBFRESIZE 40M;SQL ALTER DATABASE DATAFILE 2 C:ORACLEPRODUCT10.2.0ORADATAstudentUSERTBS1.DBF 3 AUTOEXTEND ON MAXSIZE 100M; Database altered4.为USERTBS2表空间添加一个数据文件,以改变该表的空间的大小。SQL ALTER TABLESPACE USERTBS2 ADD DATAFILE 2 C:ORACLEPRODUCT10.2.0ORADATAstudentUSERTBS2_1.DBF SIZE 10M; Tablespace altered5.使用SQL命令创建一个本地管理方式下的临时表空间TEMPTBS,并将该表空间作为单签数据库实例的默认临时表空间。SQL CREATE TEMPORARY TABLESPACE TEMPTBS TEMPFILE 2 C:ORACLEPRODUCT10.2.0ORADATAstudentTEMPTBS.DBF SIZE 20M 3 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M; Tablespace createdSQL ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMPTBS; Database altered8.删除表空间USERTBS2,同时删除该表空间的内容以及对应的操作系统文件。SQL DROP TABLESPACE USERTBS2 INCLUDING CONTENTS AND DATAFILES; Tablespace dropped9.查询当前数据库中所有的表空间及其对应的数据文件信息。SQL SELECT FILE_NAME,BLOCKS,TABLESPACE_NAME FROM DBA_DATA_FILES; FILE_NAME BLOCKS TABLESPACE_NAME- - -C:ORACLEPRODUCT10.2.0ORADATASTUDENTUSERS01.DBF 640 USERSC:ORACLEPRODUCT10.2.0ORADATASTUDENTSYSAUX01.DBF 30720 SYSAUXC:ORACLEPRODUCT10.2.0ORADATASTUDENTUNDOTBS01.DBF 4480 UNDOTBS1C:ORACLEPRODUCT10.2.0ORADATASTUDENTSYSTEM01.DBF 61440 SYSTEMC:ORACLEPRODUCT10.2.0ORADATASTUDENTEXAMPLE01.DBF 12800 EXAMPLEC:ORACLEPRODUCT10.2.0ORADATASTUDENTORCLTBS6_1.DBF 2560 ORCLTBS6C:ORACLEPRODUCT10.2.0ORADATASTUDENTUSERTBS1.DBF 5120 USERTBS1 7 rows selected试验5(1)按下列表格结构利用SQL语句创建class,student俩个表。Create table class(CNO number(2) primary key,CNAME varchar2(20),NUM number(3)Create table student(SNO number(4) primary key,SNAME varchar2(10) unique,SAGE number,SEX char(2),CNO number(2)(2)为student表添加一个可以延迟的外间约束,其CNO列参照class表的CNO列。Alter table student add constraint fk_cno foreign key (cno) references class(cno) deferrable;(3)为student表的SAGE列添加一个检查约束,保证该列取值在0100之间。Alter table student add constraint ck_sage check (sage0 and sage shutdown immediate;SQL host copy;SQL startup;2.假定丢失了一个数据文件example01.dbf, 试使用前面做过的完全备份对数据库进行恢复,并验证恢复是否成功。shutdown mount ;alter database datafile C:oracleproduct10.2.0oradataSTUDENTEXAMPLE01.DBF offline;alter database open;recover datafileC:oracleproduct10.2.0oradataSTUDENTEXAMPLE01.DBF;alter database datafile C:oracleproduct10.2.0oradataSTUDENTEXAMPLE01.DBF online;8.将数据库SCOTT 模式下的EMP,DEPT表导出-expdp scott/tiger directory=dumpdir dumpfile=emp_dept.dmp logfile=emp_dept.log tables=emp,dept job_name=eemp_dept_job parallel=3;EXPDP scotttiger directory = mypump dumpfile = KXP_1.dmp tables = scott.emp EXPDP scotttiger directory = mypump dumpfile = KXP_2.dmp tables = scott.dept9.将scott模式下的EMP,DEPT 表删除,利用(8)中的到处文件恢复IMPDP scott/tiger directory = mypump dumpfile = KXP_1.dmp tables = scott.empIMPDP scott/tiger directory = mypump dumpfile = KXP_2.dmp tables = scott.dept试验75查询10号部门中工种为MANAGER和20号部门中工种为CLERK的员工的信息。SQL select * from scott.emp where (deptno = 10 and job like MANAGER) or (deptno = 20 and job like CLEAR); EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO- - - - - - - - 7782 CLARK MANAGER 7839 1981-6-9 2450.00 1018查询员工的姓名和入职日期,并按入职日期从先到后进行排列。SQL select ename,hiredate from scott.emp order by hiredate asc ; ENAME HIREDATE- -SMITH 1980-12-17ALLEN 1981-2-20WARD 1981-2-22JONES 1981-4-2BLAKE 1981-5-1CLARK 1981-6-9TURNER 1981-9-8MARTIN 1981-9-28KING 1981-11-17JAMES 1981-12-3FORD 1981-12-3MILLER 1982-1-23SCOTT 1987-4-19ADAMS 1987-5-23 14 rows selected30查询最低工资大于2500的各种工作。SQL select job from (select min(sal) min_sal,job from scott.emp group by job) where min_sal 2500 ; JOB-PRESIDENTANALYST试验8(2)编写一个PL/SQL块,输出所有比本部门平均工资高的员工信息。DECLARECURSOR c_emp IS SELECT * FROM emp WHERE sal(select avg(sal) from emp);v_emp c_emp%ROWTYPE;BEGINOPEN c_emp;LOOP FETCH c_emp INTO v_emp;EXIT WHEN c_emp%NOTFOUND;DBMS_OUTPUT.PUT_LINE(v_emp.empno| | v_emp.ename| |v_emp.sal| |v_emp.hiredate| |v_emp.deptno);END LOOP;CLOSE c_emp;END;因为所有职工的工资都是3000,所以没有结果。(4)查询姓为“Smith”的员工信息,并输出其员工号,姓名,工资,部门号。如果该员工不存在,则插入一条新的记录,员工号为2012,员工姓为“Smith”,工资为7500元,入职日期为“2002年3月5日”,部门号为50。如果存在多个名为“Smith”的员工,则输出所有名为“Smith”的员工号,姓名,工资,入职日期,部门号L。DECLARE v_emp emp%ROWTYPE;BEGIN SELECT * INTO v_emp FROM EMP WHERE ename=SMITH; DBMS_OUTPUT.PUT_LINE(v_emp.empno| | v_emp.ename| |v_emp.sal| |v_emp.hiredate| |v_emp.deptno);EXCEPTION WHEN NO_DATA_FOUND THEN INSERT INTO EMP(EMPNO,ENAME,SAL,HIREDATE

温馨提示

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

评论

0/150

提交评论