Oracle员工工资管理系统.docx
《Oracle员工工资管理系统.docx》由会员分享,可在线阅读,更多相关《Oracle员工工资管理系统.docx(23页珍藏版)》请在冰豆网上搜索。
Oracle员工工资管理系统
大型数据库技术设计报告
题目:
员工工资管理系统数据库设计
学生姓名:
李龙
学号:
0120
专业班级:
网工13101班
指导教师:
易明
设计时间:
2015年下学期
指导老师意见:
签名:
日期:
评定成绩:
1.需求分析
实现员工基本信息管理、工资信息管理、部门信息管理等功能,包括
员工信息的添加、修改、删除及查询;工资信息的添加、修改、删除及查询等。
2.概念模型设计
1.员工信息E-R图(如图1所示)
图1员工信息E-R图
2.部门信息E-R图(如图2所示)
图2部门信息E-R图
3.工资实体局部E-R模型设计(如同3所示)
图3工资信息E-R图
4.职务信息E-R图(如图4所示)
图4职务信息E-R图
5.考勤信息E-R图(如图5所示)
图5考勤信息E-R图
6.整体简洁E-R图(如图6所示)
图6整体简洁E-R图
7.用户信息E-R图(如图7所示)
图7用户信息E-R图
3.逻辑结构设计
1.关系模型设计
1)员工信息对应的关系模型
员工(员工编号(主键),姓名,性别,联系电话,入厂日期,部门编号(外键),工资等级(外键))
2)部门信息对应的关系模型
部门(部门编号(主键),部门名称,部门经理)
3)工资信息对应的关系模型
工资(工资等级(主键),基本工资,年终奖)
4)职务信息对应的关系模型
管理人员(职务编号(主键),联系电话,职位,工资级别(外键),性别)
5)考勤信息对应的关系模型
考勤(员工编号(主键一部分),日期(主键一部分),请假次数,迟到次数,缺勤次数)
6)用户信息对应的关系模型
用户(用户名,密码,权限)
2.数据库表结构的设计
1)员工信息表结构
2)部门信息表结构
3)工资信息表结构
4)职务人员信息表结构
5)考勤信息表结构
4.数据库的实现
1.创建用户
以管理员身份登录数据库,创建新用户
createuserlilongidentifiedby123;
2.为用户分配权限
grantcreatesession,resource,dbatolilong;
3.用新创建的用户登录数据库
connlilong/123
4.创建表空间
createtablespacetest
datafile'D:
\李龙课程设计\test'size10m
autoextendonnext1mmaxsize100m
extentmanagementlocal;
5.在表空间上创建员工信息表
createtableemp(
empnonumber(4)primarykey,
enamevarchar2(10)notnull,
sexchar
(2)notnull,
telnvarchar2(11),
hiredatedatenotnull,
deptnonumber(4)notnull,
rankchar
(2)notnull
)tablespacetest
6.向员工信息表中插入记录
insertintoempvalues(1,'刘备','男','',TO_DATE('2009-02-12','yyyy-mm-dd'),10,'三');
insertintoempvalues(2,'吕布','男','',TO_DATE('2010-03-02','yyyy-mm-dd'),10,'六');
insertintoempvalues(3,'貂蝉','女','',TO_DATE('2011-11-15','yyyy-mm-dd'),10,'五');
insertintoempvalues(4,'赵云','男','',TO_DATE('2012-11-11','yyyy-mm-dd'),11,'六');
insertintoempvalues(5,'诸葛亮','男','',TO_DATE('2014-04-19','yyyy-mm-dd'),11,'四');
insertintoempvalues(6,'关羽','男','',TO_DATE('2013-05-14','yyyy-mm-dd'),11,'五');
insertintoempvalues(7,'黄忠','男','',TO_DATE('2014-02-12','yyyy-mm-dd'),12,'二');
insertintoempvalues(8,'鲁肃','男','',TO_DATE('2014-02-13','yyyy-mm-dd'),12,'九');
insertintoempvalues(9,'周瑜','男','',TO_DATE('2012-04-14','yyyy-mm-dd'),12,'十');
insertintoempvalues(10,'曹操','男','',TO_DATE('2012-02-15','yyyy-mm-dd'),13,'六');
insertintoempvalues(11,'颜良','女','65',TO_DATE('2014-06-13','yyyy-mm-dd'),13,'七');
insertintoempvalues(12,'文丑','男','',TO_DATE('2013-03-10','yyyy-mm-dd'),13,'八');
7.查询员工信息表中的记录
8.在表空间上创建部门信息表
createtabledept
(deptnonumber(4)primarykey,
dnamevarchar2(10)notnull,
managervarchar2(10)notnull
)tablespacetest
9.向部门信息表中插入记录
insertintodept(deptno,dname,manager,mtel)values(10,'项目部','李龙','');
insertintodept(deptno,dname,manager,mtel)values(11,'人事部','李梦龙','');
insertintodept(deptno,dname,manager,mtel)values(12,'财务部','李欣龙','');
insertintodept(deptno,dname,manager,mtel)values(13,'IT部','李龙龙','');
10.查询部门信息表中的记录
11.创建工资信息表
createtablesal(
rankchar
(2)primarykey,
basalarynumber(4)notnull,
bonusnumber(4)default0
)tablespacetest
12.向工资信息表中插入记录
insertintosal(rank,basalary,bonus)values('一',9800,3000);
insertintosal(rank,basalary,bonus)values('二',9500,2500);
insertintosal(rank,basalary,bonus)values('三',9200,2300);
insertintosal(rank,basalary,bonus)values('四',9000,2200);
insertintosal(rank,basalary,bonus)values('五',8000,2100);
insertintosal(rank,basalary,bonus)values('六',7000,2000);
insertintosal(rank,basalary,bonus)values('七',6000,1800);
insertintosal(rank,basalary,bonus)values('八',5000,1600);
insertintosal(rank,basalary,bonus)values('九',4000,1400);
insertintosal(rank,basalary,bonus)values('十',3000,1200);
13.查询工资信息表中的记录
14.创建职务信息表
createtableduty
(dutynonumber(4)primarykey,
dnamevarchar2(10)notnull,
jobvarchar2(10)notnull,
telnvarchar2(11),
sexchar
(2)notnull,
rankchar
(2)
)tablespacetest
15.向职务信息表中插入记录
insertintoduty(dutyno,duname,job,tel,sex,rank)values(101,'李龙','总经理','','男','一');
insertintoduty(dutyno,duname,job,tel,sex,rank)values(102,'李小龙','副经理','','男','二');
insertintoduty(dutyno,duname,job,tel,sex,rank)values(103,'李子龙','秘书','','女','三');
insertintoduty(dutyno,duname,job,tel,sex,rank)values(104,'李梦龙','总经理','','女','一');
insertintoduty(dutyno,duname,job,tel,sex,rank)values(105,'李泽龙','助理','','女','四');
insertintoduty(dutyno,duname,job,tel,sex,rank)values(106,'李云龙','秘书','','女','五');
insertintoduty(dutyno,duname,job,tel,sex,rank)values(107,'李欣龙','总经理','','女','二');
insertintoduty(dutyno,duname,job,tel,sex,rank)values(108,'李好龙','副经理','','男','三');
insertintoduty(dutyno,duname,job,tel,sex,rank)values(109,'李坏龙','秘书','','男','七');
insertintoduty(dutyno,duname,job,tel,sex,rank)values(110,'李龙龙','总经理','','男','一');
insertintoduty(dutyno,duname,job,tel,sex,rank)values(111,'李章龙','秘书','','女','八');
insertintoduty(dutyno,duname,job,tel,sex,rank)values(112,'李宇龙','助理','','女','九');
16.查询职务信息表中的数据
17.创建考勤信息表
createtableattend
(daydate,
empnonumber(4),