企业人事管理系统数据库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
企
业
人
事
管
理
系
统
组长:陈耿元
成员:郑永健
史家铭
时间:2015.05.27-2015.06.25
目录
一.需求分析 (3)
1.1系统需求 (3)
1.2用户需求 (3)
1.3功能说明 (4)
二.概念模型 (5)
完整ER图 (5)
三.逻辑模型 (6)
四.建表代码 (8)
五.项目总结 (10)
六.参考文献 (11)
七.成员分工及评分 (12)
一、需求分析
1.1系统需求
一个正常运作的公司必定有一个健全的人事管理系统,来管理员工的信息,包括员工的编号、姓名、性别、工龄、工资以及奖惩情况。除了这些基本的用处外,此系统还提供员工信息更改或删除等的功能,使公司的人事管理方便快捷而又清晰。面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效地程序结构支持各种数据操作的执行。
1.2用户需求
通过对现行人事管理系统的调查,明确了人事管理系统由档案管理、职务调动管理、奖惩管理、工资管理、岗位管理组成。系统功能的主要描述如下。
(1)员工档案管理
1)对公司里所有员工进行统一编号;将每一位员工的信息保存在员工档案记录中。
2)对新聘用的员工,将其信息加入到员工档案记录中;对于解聘的员工,将其信息从员工档案记录中删除。
3)当员工的信息发生变动时,修改员工档案记录中相应的属性。
(2)员工职务调动管理对公司里所有员工的职务记录进行统一编号;登记员工调动前后的具体职务,以及调动时间。
(3)岗位管理对公司所有的岗位进行编号,建立岗位记录。
(4)工资管理对公司里所有员工的工资记录进行统一编号,建立工资记录表。
1.3功能说明
(1)员工信息
(2)部门信息
(3)职务信息
(4)薪资信息
1员工信息(s_id,s_name,sex, native_place,d_id)
2部门信息(dept_name ,dept_head,building,floor,num_of_e)3职务信息(d_id,d_name,dept_name)
4薪资信息(p_id,s_id,basic_pay,bouns)
二、概念模型
完整ER图:三、逻辑模型
1.员工信息staffal(第三范式)
分析:关系中不包含重复着的关系,满足第一范式要求;在此基础上,员工信息表中不包含已在其它表中已包含的非主关键字信息,就是属性不依赖于其它非主属性在此基础上,有一个主码‘s_id’,满足第三范式的要求。
2.部门信息depts(第三范式)
分析:关系中不包含重复着的关系,满足第一范式要求;在此基础上,部门信息表中不包含已在其它表中已包含的非主关键字信息,就是属性不依赖于其它非主属性在此基础上,有一个主码‘dept_name’,满足第三范式的要求。
3职务信息dutie(第三范式)
关系中不包含重复着的关系,满足第一范式要求;在此基础上,职务信息表中不包含已在其它表中已包含的非主关键字信息,就是属性不依赖于其它非主属性在此基础上,有一个主码‘d_id’,满足第三范式的要求。
4.薪资信息pays(第三范式)
关系中不包含重复着的关系,满足第一范式要求;在此基础上,薪资信息表中不包含已在其它表中已包含的非主关键字信息,就是属性不依赖于其它非主属性在此基础上,有一个主码‘p_id’,满足第三范式的要求。
四、建表代码
create table depts
(dept_name varchar(20),
dept_head varchar(20),
building varchar(20),
floor varchar(20),
num_of_e numeric(8,0) check (num_of_e > 0),
primary key(dept_name));
create table dutie
(d_id varchar(20),
d_name varchar(20),
dept_name varchar(20),
primary key(d_id),
foreign key(dept_name) references depts
on delete set null);
create table staffs1
(s_id varchar(20),
s_name varchar(20),
sex varchar(10),
native_place varchar(30),
d_id varchar(20),
primary key(s_id),
foreign key(d_id) references dutie);
create table pays
(p_id varchar(20),
s_id varchar(20),
basic_pay numeric(8,2) check (basic_pay >= 29000),
bouns numeric(4,0) check (bouns > 0 and bouns <= 7000), primary key(p_id,basic_pay,bouns),
foreign key(s_id) references staffs1
on delete cascade);
create table recieves
(s_id varchar(20),
p_id varchar(20),
basic_pay numeric(8,2) check (basic_pay >= 29000),
bouns numeric(4,0) check (bouns > 0 and bouns <= 7000), year numeric(4,0),
month numeric(2,0) check (month >=1 and month <=12),
date numeric(2,0) check (date >=1 and date <=31),
primary key(p_id,s_id,basic_pay,bouns),
foreign key(s_id) references staffs1,