Oracle员工工资管理系统_第1页
Oracle员工工资管理系统_第2页
Oracle员工工资管理系统_第3页
Oracle员工工资管理系统_第4页
Oracle员工工资管理系统_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、大型数据库技术设计报告题 目: 员工工资管理系统数据库设计 学生姓名: 李龙 学 号: 201317030120 专业班级: 网工13101班 指导教师: 易明 设计时间: 2015年下学期 指导老师意见:签名:日期:评定成绩:目录 TOC o 1-3 h z u HYPERLINK l _Toc10628 1. 需求分析 PAGEREF _Toc10628 1 HYPERLINK l _Toc21215 2. 概念模型设计 PAGEREF _Toc21215 1 HYPERLINK l _Toc19864 1. 员工信息E-R图(如图1所示) PAGEREF _Toc19864 1 HYPE

2、RLINK l _Toc19838 2. 部门信息E-R图(如图2所示) PAGEREF _Toc19838 2 HYPERLINK l _Toc16458 3. 工资实体局部E-R模型设计(如同3所示) PAGEREF _Toc16458 2 HYPERLINK l _Toc2142 4. 职务信息E-R图(如图4所示) PAGEREF _Toc2142 3 HYPERLINK l _Toc9962 5. 考勤信息E-R图(如图5所示) PAGEREF _Toc9962 3 HYPERLINK l _Toc7775 6. 整体简洁E-R图(如图6所示) PAGEREF _Toc7775 4

3、HYPERLINK l _Toc22626 7. 用户信息E-R图(如图7所示) PAGEREF _Toc22626 4 HYPERLINK l _Toc15400 3. 逻辑结构设计 PAGEREF _Toc15400 5 HYPERLINK l _Toc17045 1. 关系模型设计 PAGEREF _Toc17045 5 HYPERLINK l _Toc9343 2. 数据库表结构的设计 PAGEREF _Toc9343 5 HYPERLINK l _Toc16352 4. 数据库的实现 PAGEREF _Toc16352 7 HYPERLINK l _Toc2129 1. 创建用户 P

4、AGEREF _Toc2129 7 HYPERLINK l _Toc1396 2. 为用户分配权限 PAGEREF _Toc1396 7 HYPERLINK l _Toc22556 3. 用新创建的用户登录数据库 PAGEREF _Toc22556 7 HYPERLINK l _Toc22940 4. 创建表空间 PAGEREF _Toc22940 7 HYPERLINK l _Toc8609 5. 在表空间上创建员工信息表 PAGEREF _Toc8609 7 HYPERLINK l _Toc31030 6. 向员工信息表中插入记录 PAGEREF _Toc31030 8 HYPERLINK

5、 l _Toc25592 7. 查询员工信息表中的记录 PAGEREF _Toc25592 9 HYPERLINK l _Toc3554 8. 在表空间上创建部门信息表 PAGEREF _Toc3554 9 HYPERLINK l _Toc21891 9. 向部门信息表中插入记录 PAGEREF _Toc21891 9 HYPERLINK l _Toc25268 10. 查询部门信息表中的记录 PAGEREF _Toc25268 10 HYPERLINK l _Toc12890 11. 创建工资信息表 PAGEREF _Toc12890 10 HYPERLINK l _Toc13163 12.

6、 向工资信息表中插入记录 PAGEREF _Toc13163 10 HYPERLINK l _Toc7965 13. 查询工资信息表中的记录 PAGEREF _Toc7965 11 HYPERLINK l _Toc4737 14. 创建职务信息表 PAGEREF _Toc4737 11 HYPERLINK l _Toc19285 15. 向职务信息表中插入记录 PAGEREF _Toc19285 11 HYPERLINK l _Toc1164 16. 查询职务信息表中的数据 PAGEREF _Toc1164 13 HYPERLINK l _Toc6081 17. 创建考勤信息表 PAGEREF

7、 _Toc6081 13 HYPERLINK l _Toc9155 18. 向考勤信息表中插入记录 PAGEREF _Toc9155 13 HYPERLINK l _Toc26700 19. 查询考勤信息表中的记录 PAGEREF _Toc26700 15 HYPERLINK l _Toc29870 20. 创建用户信息表 PAGEREF _Toc29870 15 HYPERLINK l _Toc18052 21. 向用户信息表中插入记录 PAGEREF _Toc18052 15 HYPERLINK l _Toc7490 22. 向用户信息表中的性别建立B树索引 PAGEREF _Toc749

8、0 15 HYPERLINK l _Toc24758 23. 给员工信息表建立外键和CHCEK约束 PAGEREF _Toc24758 16 HYPERLINK l _Toc31230 24. 给职务信息表建立外键和CHCEK约束 PAGEREF _Toc31230 16 HYPERLINK l _Toc4908 25. 给考勤信息表建立外键约束 PAGEREF _Toc4908 16 HYPERLINK l _Toc10431 5. 主要代码 PAGEREF _Toc10431 17 HYPERLINK l _Toc21535 1. 查询代码 PAGEREF _Toc21535 17 HYP

9、ERLINK l _Toc8038 2. 创建视图 PAGEREF _Toc8038 20 HYPERLINK l _Toc24656 3. 创建存储过程 PAGEREF _Toc24656 21 HYPERLINK l _Toc21639 4. 创建触发器当某员工辞职后删除该员工记录 PAGEREF _Toc21639 23 HYPERLINK l _Toc13679 6. 权限设置及数据库备份 PAGEREF _Toc13679 23 HYPERLINK l _Toc29371 1. 创建用户(lilong)并为其分配所有权限 PAGEREF _Toc29371 23 HYPERLINK

10、l _Toc4282 2. 创建用户(lixiaolong)并为其分配查询权限 PAGEREF _Toc4282 24 HYPERLINK l _Toc4936 3. 导出用户数据 PAGEREF _Toc4936 24 HYPERLINK l _Toc7023 7. 心得体会 PAGEREF _Toc7023 25 HYPERLINK l _Toc9016 8. 参考文献 PAGEREF _Toc9016 26需求分析实现员工基本信息管理、工资信息管理、部门信息管理等功能,包括员工信息的添加、修改、删除及查询;工资信息的添加、修改、删除及查询等。概念模型设计员工信息E-R图(如图1所示)员工

11、员工姓名员工编号入厂时间工资等级 号码性别图 SEQ 图 * ARABIC 1员工信息E-R图部门信息E-R图(如图2所示)部门部门部门经理部门名称部门编号图 SEQ 图 * ARABIC 2部门信息E-R图工资实体局部E-R模型设计(如同3所示)工资工资工资等级基本工资年终奖图 SEQ 图 * ARABIC 3工资信息E-R图职务信息E-R图(如图4所示)职务职务职务编号姓名性别工资等级职务名称图 SEQ 图 * ARABIC 4职务信息E-R图考勤信息E-R图(如图5所示)考勤考勤员工编号日期缺勤次数迟到次数请假次数图 SEQ 图 * ARABIC 5考勤信息E-R图整体简洁E-R图(如图

12、6所示)员工信息员工信息考勤信息工资信息部门信息职务信息1对nn对1n对11对1图 SEQ 图 * ARABIC 6整体简洁E-R图用户信息E-R图(如图7所示)用户用户密码权限用 户 名图 7用户信息E-R图逻辑结构设计关系模型设计员工信息对应的关系模型员工(员工编号(主键),姓名,性别,联系 ,入厂日期,部门编号(外键),工资等级(外键)部门信息对应的关系模型部门(部门编号(主键),部门名称,部门经理)工资信息对应的关系模型工资(工资等级(主键),基本工资,年终奖)职务信息对应的关系模型管理人员(职务编号(主键),联系 ,职位,工资级别(外键),性别)考勤信息对应的关系模型考勤(员工编号(

13、主键一部分),日期(主键一部分),请假次数,迟到次数,缺勤次数)用户信息对应的关系模型用户(用户名,密码,权限)数据库表结构的设计员工信息表结构部门信息表结构工资信息表结构职务人员信息表结构考勤信息表结构数据库的实现创建用户以管理员身份登录数据库,创建新用户create user lilong identified by 123;为用户分配权限grant create session,resource,dba to lilong;用新创建的用户登录数据库conn lilong/123创建表空间create tablespace testdatafile D:李龙课程设计test size 10

14、mautoextend on next 1m maxsize 100mextent management local;在表空间上创建员工信息表create table emp(empno number(4) primary key,ename varchar2(10) not null,sex char(2) not null,tel nvarchar2(11) ,hiredate date not null,deptno number(4) not null,rank char(2) not null)tablespace test向员工信息表中插入记录insert into emp val

15、ues(1,刘备,男三);insert into emp values(2,吕布,男六);insert into emp values(3,貂蝉,女五);insert into emp values(4,赵云,男六);insert into emp values(5,诸葛亮,男四);insert into emp values(6,关羽,男五);insert into emp values(7,黄忠,男二);insert into emp values(8,鲁肃,男九);insert into emp values(9,周瑜,男十);insert into emp values(10,曹操,男

16、六);insert into emp values(11,颜良,女,1307304465,TO_DATE(2014-06-13,yyyy-mm-dd),13,七);insert into emp values(12,文丑,男八);查询员工信息表中的记录在表空间上创建部门信息表create table dept(deptno number(4) primary key,dname varchar2(10) not null,manager varchar2(10) not null)tablespace test向部门信息表中插入记录insert into dept(deptno,dname,m

17、anager,mtel)values(10,项目部,李龙insert into dept(deptno,dname,manager,mtel)values(11,人事部,李梦龙insert into dept(deptno,dname,manager,mtel)values(12,财务部,李欣龙insert into dept(deptno,dname,manager,mtel)values(13,IT部,李龙龙查询部门信息表中的记录创建工资信息表create table sal(rank char(2) primary key,basalary number(4) not null,bonu

18、s number(4) default 0)tablespace test向工资信息表中插入记录insert into sal(rank,basalary,bonus)values(一,9800,3000);insert into sal(rank,basalary,bonus)values(二,9500,2500);insert into sal(rank,basalary,bonus)values(三,9200,2300);insert into sal(rank,basalary,bonus)values(四,9000,2200);insert into sal(rank,basalar

19、y,bonus)values(五,8000,2100);insert into sal(rank,basalary,bonus)values(六,7000,2000);insert into sal(rank,basalary,bonus)values(七,6000,1800);insert into sal(rank,basalary,bonus)values(八,5000,1600);insert into sal(rank,basalary,bonus)values(九,4000,1400);insert into sal(rank,basalary,bonus)values(十,300

20、0,1200);查询工资信息表中的记录创建职务信息表create table duty(dutyno number(4) primary key,dname varchar2(10) not null,job varchar2(10) not null,tel nvarchar2(11) ,sex char(2) not null,rank char(2) )tablespace test 向职务信息表中插入记录insert into duty(dutyno,duname,job,tel,sex,rank) values(101,李龙,总经理男,一);insert into duty(duty

21、no,duname,job,tel,sex,rank) values(102,李小龙,副经理男,二);insert into duty(dutyno,duname,job,tel,sex,rank) values(103,李子龙,秘书女,三);insert into duty(dutyno,duname,job,tel,sex,rank) values(104,李梦龙,总经理女,一);insert into duty(dutyno,duname,job,tel,sex,rank) values(105,李泽龙,助理女,四);insert into duty(dutyno,duname,job,

22、tel,sex,rank) values(106,李云龙,秘书女,五);insert into duty(dutyno,duname,job,tel,sex,rank) values(107,李欣龙,总经理女,二);insert into duty(dutyno,duname,job,tel,sex,rank) values(108,李好龙,副经理男,三);insert into duty(dutyno,duname,job,tel,sex,rank) values(109,李坏龙,秘书男,七);insert into duty(dutyno,duname,job,tel,sex,rank)

23、values(110,李龙龙,总经理男,一);insert into duty(dutyno,duname,job,tel,sex,rank) values(111,李章龙,秘书女,八);insert into duty(dutyno,duname,job,tel,sex,rank) values(112,李宇龙,助理女,九);查询职务信息表中的数据创建考勤信息表create table attend(day date ,empno number(4), leave number(4) default 0,late number(4) default 0,absence number(4) d

24、efault 0,primary key (day,empno)tablespace test向考勤信息表中插入记录insert into attend (day,empno,leave,late,absence)values(to_date(2010-12-3,yyyy-mm-dd),1,1,0,0);insert into attend (day,empno,leave,late,absence)values(to_date(2011-10-2,yyyy-mm-dd),4,0,1,0);insert into attend (day,empno,leave,late,absence)val

25、ues(to_date(2012-10-12,yyyy-mm-dd),2,1,0,1);insert into attend (day,empno,leave,late,absence)values(to_date(2014-11-11,yyyy-mm-dd),3,0,0,0);insert into attend (day,empno,leave,late,absence)values(to_date(2013-7-14,yyyy-mm-dd),4,1,0,0);insert into attend (day,empno,leave,late,absence)values(to_date(2

26、012-11-12,yyyy-mm-dd),5,1,1,0);insert into attend (day,empno,leave,late,absence)values(to_date(2013-11-14,yyyy-mm-dd),6,1,0,0);insert into attend (day,empno,leave,late,absence)values(to_date(2014-6-21,yyyy-mm-dd),7,0,0,0);insert into attend (day,empno,leave,late,absence)values(to_date(2015-1-22,yyyy

27、-mm-dd),8,1,0,0);insert into attend (day,empno,leave,late,absence)values(to_date(2014-4-24,yyyy-mm-dd),9,0,1,0);insert into attend (day,empno,leave,late,absence)values(to_date(2015-10-11,yyyy-mm-dd),10,1,0,0);insert into attend (day,empno,leave,late,absence)values(to_date(2010-12-1,yyyy-mm-dd),11,0,

28、0,1);查询考勤信息表中的记录创建用户信息表create table users(username char(10) not null,password char(30) not null,juris char(30)tablespace test;向用户信息表中插入记录insert into users(username,password,juris)values(lilong,123,所有权限);insert into users(username,password,juris)values(lixiaolong,123,查询);向用户信息表中的性别建立B树索引create index

29、empshow_index ON emp(sex)cablespace test给员工信息表建立外键和CHCEK约束alter table empadd constraint emp_dept foreign key (deptno)references dept(deptno);alter table empadd constraint emp_sal foreign key (rank)references sal(rank);alter table empadd constraint check_sexcheck(sex=男or sex=女);给职务信息表建立外键和CHCEK约束alte

30、r table dutyadd constraint duty_sal foreign key (rank)references sal(rank);alter table dutyadd constraint check_sex1check(sex=男or sex=女);给考勤信息表建立外键约束alter table attendadd constraint attend_emp foreign key (empno)references emp(empno);主要代码查询代码查询员工号为1的部门号select dname from emp,deptwhere empno=1 and emp

31、.deptno=dept.deptno;查询员工赵云的部门经理是谁select manager from emp,deptwhere ename=赵云 and emp.deptno=dept.deptno; 查询所有员工早退情况并按早退次数降序排列select leave,ename from emp,attendorder by leave desc查询员工工资等级为二的员工编号、姓名和部门名称select empno 员工编号,ename 员工姓名,dname 部门名称from emp,deptwhere rank=二 and emp.deptno=dept.deptno;查询11号部门工

32、资最高的员工编号,员工姓名,工资和年终奖金select empno 员工编号,ename 姓名,basalary 工资,bonus 年终奖金from emp,salwhere deptno=11 and basalary=(select max(basalary) from emp,sal where deptno=11)查询所有员工的工资并按升序排列select basalary 工资,ename 员工姓名 from emp,salorder by basalary asc查询工资级别等于五的姓名和该人的部门经理的 号码select ename 员工名字,mtel 经理 from emp,d

33、eptwhere rank=五查询缺勤次数最少的员工名字, 和他的部门经理select ename 员工姓名,tel 号码, manager 部门经理from emp,dept,attendwhere absence in (select min(absence)from attend) and emp.deptno=dept.deptno 查询职务编号为104的姓名,职务,工资select duname 姓名,job 职务,basalary 工资from duty,sal查询性别为男的入厂时间并按从早到晚排序select hiredate 入厂时间,ename 姓名 from empwher

34、e sex=男order by hiredate asc;创建视图创建视图(sal_avg)查询各部门平均工资create or replace view sal_avgas select deptno,avg(basalary) 平均工资from emp,salgroup by deptno 调用视图(sal_avg)中的记录select * from sal_avg;创建存储过程为员工表增加一个字段用于调整员工工资创建存储过程,调整某一员工的工资(chang_sal)create or replace procedure addsalary(empnos in emp.empno%type

35、,addsal in emp.change_sal%type)asbeginupdate emp set change_sal=change_sal+addsal where empno=empnos;end addsalary;给2号员工的工资增加200exec change_sal(2,200);创建一个调整员工部门的存储过程create or replace procedure change_empdept(empnos in emp.empno%type,deptnos in dept.deptno%type)asbeginupdate emp set deptno=deptnos where empno=empnos;exceptionwhen no_data_found thendbms_output.put_line(没有找到数据);end change_empdept;执行存储过程exec change_empdept(3,12);查看结果创建触发器当某员工辞职后删除该员工记录create or replace trigger removeafter delete on empfor each rowbegin delete emp where emp.empno=:old.

温馨提示

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

评论

0/150

提交评论