2022年ORACLE数据库实验 .pdf
《2022年ORACLE数据库实验 .pdf》由会员分享,可在线阅读,更多相关《2022年ORACLE数据库实验 .pdf(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、上海大学计算机专业选修课实验ORACLE数据库实验PMQ 2015-10-29 2015-11-3 第一次修改2016-06-14 第二次修改现在发现,无论是什么软件。都离不开数据库的操作。又需要重新学习数据库。这次更新加了目录。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 27 页 -上海大学计算机专业选修课实验第一章Oracle 基本知识与SQL*PLUS 环境.1 1、创建数据库.1 2、打开运行程序.1 3、连接数据库.1 4、解锁 scott 用户、修改其密码.1 5、修改语言.1 6、两张表 DEPT、EMP.1 第二章数据表的创建.3 1创建如下三个基表.3 2生
2、成一个数据表PROJECTS.4 3生成一个数据表ASSIGNMENTS.4 4、用DESCRIBE 命令查看1 和 2 题定义的字段.5 5、给1 题中的PROJECTS 数据表增加一个COMMENTS 字段 .5 第三章数据插入、修改和删除.5 1、用INSERT 命令输入数据 .5 2、对S、C、SC 表进行操作.7 3、在PROJECTS 数据库表中增加下列记录.7 4、在ASSIGNMENTS 数据库表中增加下列记录.7 5、把ASSIGMENTS 表中ASSIGNMENT TYPE 的 WR 改为WT,其他的值不变.8 6、在PROJECTS 和 ASSIGNMENTS 插入更多的
3、记录.8 7、删除自己随意插入的记录.8 第四章数据查询.8 1、查询一个在部门10 中的所有工作岗位的唯一列表,在输出中包括部门的地点.8 2、列出工资在1000 到 2000 之间的所有员工的ENAME,DEPTNO,SAL.9 3、显示DEPT 表中的部门号和部门名称,并按部门名称排序.9 4、显示所有不同的工作类型.9 5、列出部门号在10 到 20 之间的所有员工,并按名字的字母排序.9 6、列出部门号是20,工作是职员的员工.9 7、显示名字中包含TH 和 LL 的员工名字.9 8、显示所有员工的名字(Ename)和报酬(Remuneration).9 9、显示在1983 年中雇佣
4、的员工.9 10、查询每个部门的平均工资.10 11、查询出每个部门中工资最高的职工.10 12、查询出每个部门比平均工资高的职工人数.10 第五章视图、索引、序列和权限设置.10 1、建立男学生的视图,属性包括学号、姓名、选修课程和成绩.10 2、在男学生视图中查询平均成绩大于80 分的学生学号和姓名.10 3、撤消生成的视图.11 4、创建一个新用户NEWUSER.11 5、使用GRANT 语句,把对基本表S、C、SC 的使用权限授给NEWUSER 用户 11 6、使用REVOKE 语句从NEWUSER 手中收回基本表S、C、SC 的使用权.11 7、删除用户NEWUSER.11 8、对基
5、本表S 按照S#生成一个索引.11 9、对基本表C 按照C#生成一个索引.11 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 27 页 -上海大学计算机专业选修课实验10、删除基本表C 建立的索引 .11 第六章PL/SQL.12 1、用 PL/SQL 的存储过程删除雇员为7788 的雇员.12 2、用带输入输出参数的存储过程查询出任意给定雇员号的的薪水.13 3、用函数做第2 题.13 第七章触发器和游标.14 1、用显式游标对基本表EMP 查询信息.14 2、用隐式游标对基本表DEPT 查询信息.14 3、生成一个基本表DEPT 触发器,如果增加一个新的部门同时在基本表EM
6、P 中也增加一条有相同部门但雇员号为自己学号的记录.14 4、生成一个基本表EMP 触发器,如果删除一个部门时,同时也在基本表DEPT 中删除该部门的相关信息.16 5、删除生成的触发器.16 第九章Oracle 备份与恢复.17 1、对数据库进行热备和冷备.17 冷备份的操作.17 热备的操作.19 2、使用RMAN,采用双通道技术对数据库进行全备份,生成备份文件在学生以学号命名的文件夹中.20 3、使用RMAN 进行恢复.20 名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 27 页 -上海大学计算机专业选修课实验1 第一章 Oracle 基本知识与 SQL*PLUS 环境1
7、、创建数据库开始程序 Oracle-OraDb11g-home1 配置和移植工具 Database Configuration Assistant 数据库名称和密码需要设置以外,其他的选项都是直接“下一步”。2、打开运行程序开始运行 sqlplus/nolog 3、连接数据库conn/as sysdba;4、解锁 scott用户、修改其密码(这一步只是熟悉操作,做不做没关系)Alter user scott account unlock;conn scott/tiger;5、修改语言美式英语:alter session set nls_language=AMERICAN;简体中文:alter
8、session set nls_language=SIMPLIFIED CHINESE;修改语言主要是日期的格式的不一致,可以用命令select sysdate from dual;查看当前日期,并且比较两种语言的不同。这个知识在接下来实验中对表插入日期数据会涉及到。6、两张表 DEPT、EMP 这两张表是接下来几次实验要用的,所以要先创建好。做实验过程中,要多数据处理,我们知道表的内容就能更好地操作了。注意:在插入数据之前一定要写命令alter session set nls_language=AMERICAN;因为插入的日期是美式日期。DROP TABLE DEPT;CREATE TABL
9、E DEPT 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 27 页 -上海大学计算机专业选修课实验2(DEPTNO NUMBER(2)CONSTRAINT PK_DEPT PRIMARY KEY,DNAME V ARCHAR2(14),LOC VARCHAR2(13);DROP TABLE EMP;DROP TABLE EMP;CREATE TABLE EMP(EMPNO NUMBER(4)CONSTRAINT PK_EMP PRIMARY KEY,ENAME VARCHAR2(10),JOB VARCHAR2(9),MGR NUMBER(4),HIREDATE DATE,S
10、AL NUMBER(7,2),COMM NUMBER(7,2),DEPTNO NUMBER(2)CONSTRAINT FK_DEPTNO REFERENCES DEPT);INSERT INTO DEPT VALUES(10,ACCOUNTING,NEW YORK);INSERT INTO DEPT VALUES(20,RESEARCH,DALLAS);INSERT INTO DEPT VALUES(30,SALES,CHICAGO);INSERT INTO DEPT VALUES(40,OPERATIONS,BOSTON);INSERT INTO EMP VALUES(7369,SMITH,
11、CLERK,7902,to_date(17-12-1980,dd-mm-yyyy),800,NULL,20);INSERT INTO EMP VALUES(7499,ALLEN,SALESMAN,7698,to_date(20-2-1981,dd-mm-yyyy),1600,300,30);INSERT INTO EMP VALUES(7521,WARD,SALESMAN,7698,to_date(22-2-1981,dd-mm-yyyy),1250,500,30);INSERT INTO EMP VALUES(7566,JONES,MANAGER,7839,to_date(2-4-1981,
12、dd-mm-yyyy),2975,NULL,20);INSERT INTO EMP VALUES(7654,MARTIN,SALESMAN,7698,to_date(28-9-1981,dd-mm-yyyy),1250,1400,30);INSERT INTO EMP VALUES(7698,BLAKE,MANAGER,7839,to_date(1-5-1981,dd-mm-yyyy),2850,NULL,30);INSERT INTO EMP VALUES(7782,CLARK,MANAGER,7839,to_date(9-6-1981,dd-mm-yyyy),2450,NULL,10);I
13、NSERT INTO EMP VALUES(7788,SCOTT,ANALYST,7566,to_date(13-JUL-87)-85,3000,NULL,20);名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 27 页 -上海大学计算机专业选修课实验3 INSERT INTO EMP VALUES(7839,KING,PRESIDENT,NULL,to_date(17-11-1981,dd-mm-yyyy),5000,NULL,10);INSERT INTO EMP VALUES(7844,TURNER,SALESMAN,7698,to_date(8-9-1981,dd-mm-
14、yyyy),1500,0,30);INSERT INTO EMP VALUES(7876,ADAMS,CLERK,7788,to_date(13-JUL-87)-51,1100,NULL,20);INSERT INTO EMP VALUES(7900,JAMES,CLERK,7698,to_date(3-12-1981,dd-mm-yyyy),950,NULL,30);INSERT INTO EMP VALUES(7902,FORD,ANALYST,7566,to_date(3-12-1981,dd-mm-yyyy),3000,NULL,20);INSERT INTO EMP VALUES(7
15、934,MILLER,CLERK,7782,to_date(23-1-1982,dd-mm-yyyy),1300,NULL,10);第二章数据表的创建1创建如下三个基表:S(S#,SNAME,AGE,SEX)对应的中文为:学生(学号,姓名,年龄,性别)SC(S#,C#,GRADE)对应的中文为:学习(学号,课程号,成绩)C(C#,CNAME,TEACHER)对应的中文为:课程(课程号,课程名,任课教师)注:以后的实验要用到这三个基本表create table s(s number(10)not null primary key,sname varchar2(10),age number(3),
16、sex varchar2(10);describe s;create table c(名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 27 页 -上海大学计算机专业选修课实验4 c number(10)not null primary key,cname varchar2(10),teacher varchar2(10);describe c;create table sc(s number(10)not null references s(s),c number(10)not null references c(c),grade number(3),primary key(s,
17、c);describe sc;2 生成一个数据表PROJECTS,其字段定义如下,其中 PROJID 是主键并且要求P_END_DATE 不能比 P_START_DATE 早。字段名称数据类型长度PROJID NUMBER 4 P_DESC VARCHAR2 20 P_START_DATE DATE P_END_DATE DATE BUDGET_AMOUNT NUMBER 7,2 MAX_NO_STAFF NUMBER 2 create table projects(projid number(4)not null primary key,p_desc varchar2(20),p_start
18、_date date,p_end_date date,budget_amount number(7,2),max_no_staff number(2),check(p_start_date p_end_date);describe projects;3生成一个数据表ASSIGNMENTS,其字段定义如下,其中PROJID 是外键引自PROJECTS 数据表,EMPNO 是数据表EMP 的外键,并且要求PROJID 和 EMPNO 不能为NULL。字段名称数据类型长度PROJID NUMBER 4 EMPNO NUMBER 4 名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 27
19、页 -上海大学计算机专业选修课实验5 A_START_DATE DATE A_END_DATE DATE BILL_RATE NUMBER 4,2 ASSIGN_TYPE VARCHAR2 2 create table assignments(projid number(4)not null references projects(projid),empno number(4)not null references EMP(EMPNO),a_start_date date,a_end_date date,bill_rate number(4,2),assign_type varchar2(2)
20、,primary key(projid,empno);describe assignments;4、用DESCRIBE 命令查看1 和 2 题定义的字段。describe s;describe c;describe sc;describe projects;5、给1 题中的PROJECTS 数据表增加一个COMMENTS 字段,其类型为LONG。给 2 题中的 ASSIGNMENTS 数据表增加一个HOURS 字段,其类型为NUMBER。alter table projects add(comments long);alter table assignments add(hours numbe
21、r(6);第三章数据插入、修改和删除1、用INSERT 命令输入数据表 3-1 基本表 S 的数据S1 WANG 20 M S2 LIU 19 M S3 CHEN 22 M S4 WU 19 M S5 LOU 21 F 名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 27 页 -上海大学计算机专业选修课实验6 S8 DONG 18 F 表 3-2 基表 C 的数据C2 MATHS MA C4 PHYSICS SHI C3 CHEMISTRY ZHOU C1 DB LI C5 OS WEN 表 3-3 基本表 SC 的数据(空格为未选修)C#S#S1 S2 S3 S4 S5 S8
22、C1 80 85 90 75 70 90 C2 70 NULL 85 60 NULL C3 85 95 NULL 80 90 C4 90 NULL 70 C5 70 65 NULL insert into s values(1,WANG,20,M);insert into s values(2,LIU,19,M);insert into s values(3,CHEN,22,M);insert into s values(4,WU,19,M);insert into s values(5,LOU,21,F);insert into s values(8,DONG,18,F);insert in
23、to c values(2,MATHS,MA);insert into c values(4,PHYSICS,SHI);insert into c values(3,CHEMISTRY,ZHOU);insert into c values(1,DB,LI);insert into c values(5,OS,WEN);insert into sc values(1,1,80);insert into sc values(2,1,85);insert into sc values(3,1,90);insert into sc values(4,1,75);insert into sc value
24、s(5,1,70);insert into sc values(8,1,90);insert into sc values(1,2,70);insert into sc values(2,2,NULL);insert into sc values(3,2,85);insert into sc values(5,2,60);insert into sc values(8,2,NULL);insert into sc values(1,3,85);insert into sc values(3,3,95);insert into sc values(4,3,NULL);insert into sc
25、 values(5,3,80);名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 27 页 -上海大学计算机专业选修课实验7 insert into sc values(8,3,90);insert into sc values(1,4,90);insert into sc values(2,4,NULL);insert into sc values(4,4,70);insert into sc values(1,5,70);insert into sc values(5,5,65);insert into sc values(8,5,NULL);select*from s;sel
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年ORACLE数据库实验 2022 ORACLE 数据库 实验
限制150内