oracle数据库实验.docx
- 文档编号:25106902
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:14
- 大小:544.57KB
oracle数据库实验.docx
《oracle数据库实验.docx》由会员分享,可在线阅读,更多相关《oracle数据库实验.docx(14页珍藏版)》请在冰豆网上搜索。
oracle数据库实验
西安财经学院
本科实验报告
学院(部)管理学院
实验室信息中心
课程名称《Oracle数据库管理》
学生姓名jjj
学号234567898
专业信息管理
教务处制
2012年05月23日
《Oracle》实验报告
开课实验室:
机房2012年05月23日
学院
管理学院
年级、专业、班
姓名
成绩
课程
名称
Oracle数据库设计
实验项目
名称
数据库综合应用
指导教师
教师评语
教师签名:
年月日
一、实验目的
1、熟练掌握记录的插入、修改和删除操作。
2、掌握数据查询的基本方法。
3、掌握高级查询的方法。
4、掌握创建视图、索引、触发器与存储过程的方法。
二、实验原理
创建数据表“项目数据表”和“员工数据表”,并编辑输入记录。
项目数据表
项目编号
名称
负责人
客户
开始日期
结束日期
1
SiS
2
1
03/12/2000
06/12/2000
2
SiS项目2
1
1
04/06/2000
05/01/2000
3
Pet
2
2
06/17/2000
10/20/2001
4
Pet项目2
2
2
09/01/2000
11/03/2000
5
CCH
3
3
03/12/2000
12/25/2000
6
CCH_LXF
4
3
04/06/2000
10/20/2001
7
CCH_ZHS
7
3
06/17/2000
11/03/2000
8
CCH_LY
9
3
09/01/2000
12/25/2000
9
CCH_LYAN
19
3
03/12/2000
10/20/2001
10
PETER
6
4
09/01/2000
11/03/2000
11
REALIDEA
8
5
03/12/2000
12/25/2000
12
REALIDEA1
7
5
04/06/2000
10/20/2001
13
REALIDEA2
19
5
06/17/2000
11/03/2000
14
REALIDEA3
9
5
09/01/2000
12/25/2000
15
PPA
4
6
03/12/2000
12/25/2000
16
NBA
4
7
06/17/2000
10/20/2001
员工数据表
编号
姓名
性别
所属部门
工资
1
陈有朋
男
项目部
2000
2
孙晓晴
女
项目部
3000
3
张晓峰
男
录入部
1000
4
曹容雪
男
检验部
1500
5
陈秋萍
女
检验部
1000
6
王理斌
男
检验部
2000
7
周晴晴
女
办公室
3000
8
杨亭亭
女
项目部
2500
9
马明宇
男
项目部
4000
19
刘燕
女
项目部
3000
1、书写语句查询项目数据表中客户字段的值,并查看查询结果。
2、书写语句查询工资高于2000的项目部的人员的姓名。
3、书写查询语句查询来自CCH公司的项目名称(以CCH开始)和负责人姓名。
4、书写语句查询每个部门的平均工资,结果集按照平均工资多少排序。
5、使用外向联接输出所有的员工姓名和负责的项目名称。
6、使用于查询输出所有负责CCH公司项目(以CCH开始)的员工姓名,以及没有负责REALIDEA公司(以REALIDEA开始)项目的员工姓名。
7、将所有REALIDEA公司的项目的结束日期更改为2002年1月8日。
8、录入部的张晓峰决定辞职,请将员工数据库中他的记录删除,并将他负责的项目移交给杨亭亭。
书写语句对数据表做相应的更改。
9、基于表“项目数据表”和“员工数据表”创建视图,要求为:
(1)视图名为“员工项目”。
(2)包含字段“编号”、“姓名”、“名称”和“开始日期”。
(3)字段别名分别是“员工编号”、“员工姓名”、“项目名称”、“项目开始日期”。
10、在数据表“员工数据表”中基于“姓名”创建索引,要求索引名为“IDX_Name”,索引类型为B*树的非唯一索引。
11、基于表“员工数据表”创建AFTERINSERT触发器EmployeeSalary,将插入员工的工资额限制在5000以内。
12、基于表“员工数据表”,创建存储过程proc_sum,当给定一个“所属部门”,返回该部门的工资总额。
三、使用仪器、材料
50台微机的机房
局域网络
Oracle9i
四、实验步骤
1、创建”员工数据表”,”项目数据表”
2、向“员工数据表”及“项目数据表”中插入记录
3、完成以上12道题。
五、实验过程原始记录(数据、图表、计算等)
Createtable项目数据表
(项目编号varchar2
(2),
名称varchar2(30),
负责人varchar2(30),
客户varchar2(10),
开始日期date,
结束日期date
)
Createtable员工数据表
(编号varchar2(10),
姓名varchar2(10),
性别varchar2
(2),
所属部门varchar2(10),
工资varchar2(10)
)
insertinto项目数据表values('1','SiS','2','1','12-3月-2000','12-6-2000');
insertinto项目数据表values('2','SiS项目2','1','1','06-4月-2000','01-5月-2000');
insertinto项目数据表values('3','pet','2','2','17-6月-2000','20-10月-2001');
insertinto项目数据表values('4','pet项目2','2','1','01-9月-2000','03-11月-2000');
insertinto项目数据表values('5','CCH','3','3','12-3月-2000','25-12月-2000');
insertinto项目数据表values('6','CCH_LXF','4','3','06-4月-2000','20-10月-2000');
insertinto项目数据表values('7','CCH_ZHS','7','3','17-6月-2000','03-11月-2000');
insertinto项目数据表values('8','CCH_LY','9','3','01-9月-2000','25-12月-2000');
insertinto项目数据表values('9','CCH_LYAN','19','3','12-3月-2000','20-10月-2001');
insertinto项目数据表values('10','PETER','6','4','01-9月-2000','03-11月-2000');
insertinto项目数据表values('11','REALIDEA','8','5','12-3月-2000','25-12月-2000');
insertinto项目数据表values('12','REALIDEA1','7','5','06-4月-2000','20-10月-2001');
insertinto项目数据表values('13','REALIDEA2','19','5','17-6月-2000','03-11月-2000');
insertinto项目数据表values('14','REALIDEA3','9','5','01-9月-2000','25-12月-2000');
insertinto项目数据表values('15','PPA','4','6','12-3月-2000','25-12月-2000');
insertinto项目数据表values('16','NBA','4','7','17-6月-2000','20-10月-2000');
insertinto员工数据表values('1','陈有朋','男','项目部','2000');
insertinto员工数据表values('2','孙晓晴','女','项目部','3000');
insertinto员工数据表values('3','张晓峰','男','录入部','1000');
insertinto员工数据表values('4','曹容雪','男','检验部','1500');
insertinto员工数据表values('5','陈秋萍','女','检验部','1000');
insertinto员工数据表values('6','王理斌','男','检验部','2000');
insertinto员工数据表values('7','周晴晴','女','办公室','3000');
insertinto员工数据表values('8','杨亭亭','女','项目部','2500');
insertinto员工数据表values('9','马明宇','男','项目部','4000');
insertinto员工数据表values('19','刘燕','女','项目部','3000');
六、实验结果及分析
1、select客户from项目数据表;
2、select姓名from员工数据表
where工资>2000and所属部门='项目部'
3、select名称,姓名from项目数据表,员工数据表
where名称like'CCH%'and项目数据表.负责人=员工数据表.编号
4、select所属部门,avg(工资)from员工数据表
groupby所属部门
orderbyavg(工资)
5、select姓名,名称from项目数据表,员工数据表
where项目数据表.负责人=员工数据表.编号
6、select姓名from员工数据表
where编号in(selectdistinct负责人from项目数据表
where名称like'CCH%')
select姓名from员工数据表
where编号notin(selectdistinct负责人from项目数据表
where名称like'REALIDEA%');
7、update项目数据表
set结束日期='8-1月-2002'
where名称like'REALIDEA%';
8、update项目数据表
set负责人=8
where负责人=3
deletefrom员工数据表where姓名='张晓峰'
9、createview员工项目(员工编号,员工姓名,项目名称,项目开始日期)
as
select编号,姓名,名称,开始日期from项目数据表,员工数据表
where项目数据表.负责人=员工数据表.编号
10、createindexIDX_name
on员工数据表(姓名)
11、createorreplacetriggeremployeesalary
after
insert
on员工数据表
begin
if(to_char(工资))>5000then
raise_application_error(-20500,'新员工工资不能超过5000');
endif
end;
12、createorreplaceprocedureprocedure_salary
as
departmentvarchar2(40);
v_totalnumber;
begin
selectsum(工资)intov_totalfrom员工数据表where所属部门=department;
dbms_output.put_line('该部门的工资总额:
'||v_total);
end;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 数据库 实验