人事管理系统数据库系统设计说明(Oracle部分)
计算机学院-王琪
3130603009
2013-11-13
文档信息:
项目组成:
文档变更历史:
文档路径:
相关文档:
审核结果:
目录
1 概述 (6)
1.1 目的 (6)
1.2 内容 (6)
1.3 与其他项目的关联 (6)
2 表 (7)
2.1 表设计概述 (7)
2.2 员工表(T_Employee) (8)
3 视图 (10)
3.1 查看员工基本信息(Web) (14)
3.2 查看员工考勤情况(Web) ......................................... 错误!未定义书签。
3.3 查看员工信息和所属部门名称(Win) (17)
4 存储过程 (18)
4.1 插入一条提交的请假申请(Web) (18)
4.2 查询员工考勤信息(Win) (19)
5 用户自定义函数 (20)
5.1 按部门名称得到本部门所有的员工信息 (21)
6 触发器 (21)
6.1 在否决员工请假申请时将请假时间累计返回到请假前的状态 (22)
7 数据库安全性 (23)
7.1 概述 (23)
7.2 数据库验证方式 (23)
8 数据库管理和设置 (23)
8.1 概述 (23)
8.2 数据库属性设置 (23)
8.3 数据库备份恢复策略 (23)
8.4 数据库运行日常维护 (24)
1概述
1.1目的
本文为教学案例项目Oracle功能规范说明书。本说明书将:
描述数据库设计的目的
说明数据库设计中的主要组成部分
说明数据库设计中涵盖的教学知识要点
1.2内容
本文档主要内容包括对数据库设计结构的总体描述,对数据库中各种对象的描述(包括对象的名称、对象的属性、对象和其他对象直接的关系)。本文档中包含对以下数据库内容的描述:
数据表
视图
存储过程
用户自定义函数
触发器
约束
在数据库主要对象之外,本文还将描述数据库安全性设置、数据库属性设置和数据库备份策略,为数据库管理员维护数据库安全稳定地运行提供参考。
1.3与其他项目的关联
教学案例项目的数据库设计与教学项目(Web部分和Windows部分)功能密切相关。教学案例项目的数据库将按照教学项目程序部分的功能需求而设计,数据库设计将配合教学案例的程序部分,以实现一个功能完备的企业环境内的应用。
2表
2.1表设计概述
根据教学案例功能,数据库将以员工信息为中心存储相关数据,配合Oracle 数据库系统中提供的数据管理,实现员工考勤、请假、加班管理及系统设置等业务功能。
数据库设计将以存储员工信息的员工表为基础,连接多张相关表以实现对以下关系的支持:
员工与请假申请
员工与加班申请
员工与考勤记录
员工与部门
员工与部门经理
员工与业绩评定记录
员工与薪资
此外数据库中还将记录教学案例应用中需要的全局配置信息和事件日志记录。
数据库系统主要的实体关系如2-0所示。
图2-0
2.2员工表(t_emploee)
概述
员工表用于记录员工基本信息,并作为基础表与其他表连接。
表定义
员工表定义如表2-1所示。
表2-1
主键
员工表的主键是empid字段,类型为number。
外键
员工表的外键有部门id,类型为number,用于与部门表中的部门id字段关联。部
门id字段不可以为空。
员工表的外键有员工类型id,类型为number,用于与员工类型表中的员工类型id 字段关联。
员工表的外键有领导id,类型为number,用于与员工表中的员工id字段关联。索引
主键字段员工id具有自动创建的聚集索引。
2.3部门表(t_department)
员工表定义如表2-2所示。
表2-2
主键
部门表的主键为部门id。
外键
部门表的外键为部门父id,类型为number,引用部门表的部门id。
索引
主键字段员工id具有自动创建的聚集索引。
2.4员工类型表(empType)员工类型表定义如表2-3所示。
表2-3
主键
员工类型表的主键为员工类型id。
2.5请假表(t_leave)
员工类型表定义如表2-4所示。
表2-4
主键
请假表的主键为请假id。
请假表的外键有员工id,类型为number,用于与员工表中的员工id字段关联。
请假表的外键有领导id,类型为number,用于与员工表中的员工id字段关联。索引
主键字段请假id具有自动创建的聚集索引。
2.6业绩表(result)
业绩表定义如表2-5所示。
表2-5
主键
业绩表的主键为业绩表id。
外键
请假表的外键有员工id,类型为number,用于与员工表中的员工id字段关联。
主键字段业绩表id具有自动创建的聚集索引。
2.7加班表(overTimeWork)
业绩表定义如表2-6所示。
表2-6
主键
加班表的主键为加班表id。
外键
加班表的外键有员工id,类型为number,用于与员工表中的员工id字段关联。
加班表的外键有审核人员id,类型为number,用于与员工表中的员工id字段关联。索引
主键字段加班表id具有自动创建的聚集索引。
2.8考情表(attendance)
业绩表定义如表2-7所示。
表2-7
主键
考情表的主键为考情表id。
外键
加班表的外键有员工id,类型为number,用于与员工表中的员工id字段关联。索引
主键字段考情表id具有自动创建的聚集索引。
字段员工id有聚集索引。
2.9薪资表(salary)
业绩表定义如表2-8所示。
表2-8
主键
薪资表的主键为薪资表id。
外键
薪资表的外键有员工id,类型为number,用于与员工表中的员工id字段关联。
索引
主键字段薪资表id具有自动创建的聚集索引。
3视图
3.1查看员工基本信息(Web)
概述
此视图通过左外连接员工和部门表得到了员工的详细信息,其中包括员工的基本信息、员工的部门信息和员工经理信息。
Web用户具有查看的权限。
基表
员工表
部门表
视图包含字段
员工编号
员工姓名
员工电子邮件
员工电话
员工登录名
员工报到日期
员工所属部门编号
员工自我介绍
员工照片
员工剩余假期
所属部门名称
表:员工表,部门表
drop view wq_emploeeInfo;
create view wq_emploeeInfo(empid,name,mail,phone,comeTime,depid,selfComent,phot o,dname,leftLeave)
as
select e.empid ,https://www.doczj.com/doc/8d7082544.html, ,e.mail,
e.phone,https://www.doczj.com/doc/8d7082544.html,eTime,d.depid,
e.selfComent, e.photo,https://www.doczj.com/doc/8d7082544.html,,
(e.yearLeaveTime - https://www.doczj.com/doc/8d7082544.html,eLeaveTime)
from t_wq_emploee e, t_wq_department d
where e.depid = d.depid;
概述
此视图通过员工编号内连接员工考勤表和员工表,得到员工的姓名、员工所属部门编号和考勤情况。通过这个视图可以按部门编号查到整个部门员工的缺勤情况。
Web用户具有查看的权限。
基表
员工考勤表
员工表
视图包含字段
考勤编号
员工编号
部门编号
员工姓名
考勤类型
到达时间
日期
drop view wq_emp_attendance;
create view wq_emp_attendance(aid,empid,depid,name,type,workTime,atime)
as
select a.id,e.empid,e.depid,https://www.doczj.com/doc/8d7082544.html,,a.type,a.workTime,sysdate from t_wq_emploee e,t_wq_attendance a
where e.empid=a.empid;
3.2查看员工信息和所属部门名称(Win)
概述
此视图通过内连接表员工表和部门表,得到员工的详细信息和员工所属部门的名称。
Windows用户具有查看的权限。
基表
员工表
部门表
视图包含字段
员工编号
员工姓名
员工登录名
员工电子邮件
部门名称
员工所属部门编号
员工电话
drop view wq_emp_dep_info;
create view wq_emp_dep_info(empid,emp_name,username,mail,dep_name,depid,photo) as
select e.empid,https://www.doczj.com/doc/8d7082544.html,,https://www.doczj.com/doc/8d7082544.html,ername,e.mail,https://www.doczj.com/doc/8d7082544.html,,d.depid,e.photo
from t_wq_emploee e,t_wq_department d
where e.depid=d.depid;
4存储过程
4.1插入一条提交的请假申请(Web)
概述
此存储过程向员工请假表插入一条已提交的请假申请。
Web用户具有执行权限。
参数
字段名称字段代码类型
员工编号p_empid整型
提交时间p_applyTime日期型
开始时间p_leavetime日期型
结束时间p_backtime日期型
审核者编号p_checkEmpid整型
小时数p_realtime整型
请假原因字符串(100)
返回值
字段类型描述
本操作影响的记录数整型系统自带的一个参数,返回本
次操作影响的记录数
create or replace procedure wq_addNewleave(
p_empid t_wq_leave.empid%TYPE,
p_applyTime t_wq_leave.applyTime%TYPE,
p_leavetime t_wq_leave.leavetime%TYPE,
p_backtime t_wq_leave.backtime%TYPE,
p_checkEmpid t_wq_leave.checkEmpid%TYPE,
p_realtime t_wq_leave.realtime%TYPE,
p_reason t_wq_leave.reason%TYPE
)
is
begin
insert into t_wq_leave(empid,applyTime,leavetime,backtime,checkEmpid,realtime,re ason)
values(p_empid,p_applyTime,p_leavetime,p_backtime,p_checkEmpid,p_rea ltime,p_reason);
end wq_addNewleave;
4.2查询员工考勤信息(Win)
概述
此存储过程根据指定的时间段查询员工考勤信息。
Windows用户具有执行权限。
参数
返回值