人事数据库总体设计

目录

1 系统概述 ····················2 系统数据流程图和数据字典 ············2.1 用户需求调查 ··················2.2 系统数据流程图 ·················2.3 系统数据字典 ··················3 数据库结构设计 ················3.1 概念结构设计 ·················3.2 逻辑结构设计 ·················3.3 数据库结构的详细设计 ·············4 物理设计 ···················5 用户的子模式(外模式)设计(没做)6 总结 ······················系统概述

3 3 3 4 7 13 12 12 14 15 19 19

······

1

本文按照数据库系统设计的基本步骤,采取了事先进行需求分析,然后进行数据库的概念设计和逻辑结构设计,最后进行数据库详细设计的方法,完成了一个人事管理系统数据库系统的设计。最终,在SQL SEVER 2000完成的人事管理系统,可以实现:对员工基本档案的管理、奖惩记录的管理、出勤记录的管理、职务调动记录的管理、工资管理、请销假管理。

2 系统数据流程图和数据字典 2.1 用户需求调查

通过对现行人事管理系统的调查,明确了人事管理系统由档案管理、职务调动管理、奖惩管理、考勤管理、工资管理、请销假管理组成。 系统功能的主要描述如下。 (1)员工档案管理

1)对公司里所有员工进行统一编号;将每一位员工的信息保存在员工档案记录中。 2)对新聘用的员工,将其信息加入到员工档案记录中;对于解聘的员工,将其信息从员工档案记录中删除。

3)当员工的信息发生变动时,修改员工档案记录中相应的属性。

(2)员工职务调动管理

对公司里所有员工的职务记录进行统一编号;登记员工调动前后的具体职务,以及调动时间。

(3)奖惩管理

对公司里所有员工的奖惩记录进行统一编号;登记员工奖惩的原因,所受奖惩类型,奖惩时间。

(4)考勤管理

1)对员工上班刷卡的记录进行统一编号;登记员工上班时间、签到类型(准时、迟到)。 2)对员工下班刷卡的记录进行统一编号;登记员工上班时间、签到类型(准时、早退)。

(5)请销假管理

1)对员工请假的记录进行统一编号;登记员工请假时间、请假类型。

2)对员工销假的记录进行统一编号;登记员工销假时间、请假类型,检查是否超期。

(6)工资管理

1)对公司里所有员工的工资记录进行统一编号,建立工资记录表。

(7)部门管理

1)对公司所有的部门进行编号,建立部门记录。 2.2 系统数据流程图

经过详细的调查,弄清了系统现行的业务流程。在此基础上,构造出系统的逻辑模型,并通过数据流程图表示。人事管理系统的顶层数据流程图如图1所示。

图1

注:图中虚线表示的数据流是员工信息。

在人事管理系统顶层流程图中,“请假管理”和“出勤管理”两个处理框所表示的功能不是很具体,需对他们进一步细化。请假管理细化流程图如图2所示。

图2

出勤管理细化流程图如图3所示。

图3

最终,经过整理后得出细化后的系统数据流程图。如图4所示。

图4

2.3 系统数据字典

人事管理系统数据流程图中,数据信息和处理过程还需要通过数据字典来描述。在本文的数据字典中,主要对数据流图中的数据流、数据存储和处理过程进行说明。

(1)主要的数据流定义

1)数据流名称:员工情况 位置:员工→P1。

定义: 员工情况=姓名+性别+出生日期+民族+学历+职称 。 数据流量:根据公司的员工具体录用情况来确定。 说明:要对每一位被聘用的新员工进行唯一编号。

2)数据流名称:奖惩情况 位置:P3→员工

定义: 奖惩情况=员工流水号+奖惩类型+奖惩金额+奖惩年月日。 数据流量:根据公司的具体情况来确定。 说明:要对每一次的奖惩记录进行唯一编号。

3)数据流名称:奖惩批复 位置:上级→P3

定义: 奖惩批复=奖惩类型+批复部门号+批复原因+批复日期。 数据流量:根据公司的具体情况来确定。 说明:具体应用中,批复原因可以省略。

4)数据流名称:调动情况 位置:P5→员工

定义: 调动情况=员工号+调动前职务+调动后职务+调动日期。 数据流量:根据公司的具体情况来确定。

说明:员工号和调动日期可以唯一确定一个调动情况。

5)数据流名称:调动批复 位置:上级→P5

定义: 调动批复=批复部门号+批复原因+批复日期。 数据流量:根据公司的具体情况来确定。 说明:批复原因可以省略。

6)数据流名称:上班刷卡 位置:员工→P7.1

定义: 上班刷卡=员工号+上班刷卡时间+刷卡机号。 数据流量:根据公司的具体规模情况来确定。 说明:上班刷卡时间会汇入到出勤记录中。

7)数据流名称:下班刷卡 位置:员工→P7.2

定义: 下班刷卡=员工号+下班刷卡时间+刷卡机号。 数据流量:根据公司的具体情况来确定。 说明:下班刷卡时间会汇入到出勤记录中。

8)数据流名称:工资查询 位置:P4→员工

定义: 工资查询=员工号+基本工资+奖金+罚款+超始时间+截止时间+发薪日期。 数据流量:根据公司的具体情况来确定。

说明:根据员工号和发薪日期可以唯一确定一个工资记录。

9)数据流名称:请假申请 位置:员工→P2.2

定义: 请假申请=员工号+请假时间+请假天数。 数据流量:根据公司的具体情况来确定。

说明:员工号和请假时间可以唯一确定一个请假记录。

10)数据流名称:请假批复 位置:上级→P2.2

定义: 请假批复=审批人+批复结果。 数据流量:根据公司的具体情况来确定。 说明:批复结果的类型只能是(批准、拒绝)。

11)数据流名称:销假申请 位置:员工→P2.1

定义: 销假申请=员工号+销假时间 。 数据流量:根据公司的具体情况来确定。 说明:针对销假申请没用单独建立销假记录表,在这里将销假记录和请假记录进行了合并。因为在一般情况下,请假是不能够进行嵌套的。

12)数据流名称:管理员情况 位置:管理员→P6

定义: 用户身份=员工编号。

数据流量:根据公司的具体情况来确定。 说明:要对每一位管理员建立唯一的账号。

13)数据流名称:用户身份

位置:安全管理→{P1,P2.1,P2.2,P3,P4,P5,P7.1,P7.2} 定义: 用户身份=[ 非法用户 | 内部管理员 | 服务管理员] 数据流量:根据公司的具体情况来确定。

说明:不同的用户身份对应不同的操作权限,对应着不同的安全级别。

14)数据流名称:部门情况

位置:上级→部门情况

定义: 部门情况=部门号+部门名称+领导人号 数据流量:根据公司的具体情况来确定。 说明:部门号是主码。

(2)主要的数据存储定义 1)数据存储编号:员工记录 D1

输入:P1

输出:P1,P7.1,P7.2,P2.1,P2.2

数据结构:员工记录=姓名+性别+出生日期+民族+学历+职称 +员工编号。 数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以随机检索为主。

说明:员工编号具有唯一性和非空性;性别只能是男或女;主码是员工编号。

2)数据存储编号:请假记录 D2

输入:P2.1,P2.2 输出:P2.1,P2.2

数据结构:请假记录=员工号+请假时间+请假天数+销假时间 。 数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。

说明:主码设为请假时间和员工号;员工号是外码,参照表是员工记录。

3)数据存储编号:奖惩记录 D3

输入:P3 输出:P3 数据结构:奖惩记录=员工流水号+奖惩类型+奖惩金额+奖惩时间+批复部门号+批复原因+批复日期。

数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。

说明:主码设为奖惩时间和员工号;员工号是外码,参照表是员工记录。

4)数据存储编号:工资记录 D4

输入:P4 输出:P4

数据结构:工资记录=员工号+基本工资+奖金+罚款+超始时间+截止时间+发薪日期。 数据量和存取频度:根据公司的具体规模情况来确定。

存取方式:联机处理;检索和更新;以更新操作为主。

说明:主码设为发薪日期和员工号;员工号是外码,参照表是员工记录。

5)数据存储编号:职务调动记录 D5

输入:P5 输出:P5

数据结构:职务调动记录=员工号+调动前职务+调动后职务+调动日期+批复部门号+批复原因+批复日期。

数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。

说明:主码设为调动日期和员工号;员工号是外码,参照表是员工记录。

6)数据存储编号:管理人员记录 D6

输入:P6 输出:P6

数据结构:管理人员记录=用户密码+职工号+密码+管理员账号。 数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。 说明:主码设为管理员账号。

7)数据存储编号:出勤记录 D7

输入:P7.1,P7.2 输出:P7.1,P7.2

数据结构:出勤记录=员工号+上班刷卡时间+下班刷卡时间+刷卡日期。 数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。

说明:主码设为员工号和刷卡日期;员工号是外码,参照表是员工记录。

8)数据存储编号:部门记录 D8

输入:P8 输出:P8

数据结构:部门记录=部门号+部门名称+领导人号。 数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以检索操作为主。 说明:主码设为部门号。

(3)主要的处理过程

1)处理过程编号:P1 处理过程名:档案管理

输入:用户身份,员工记录,员工情况 输出:员工记录

处理说明:根据员工的聘用、解聘建立或删除员工记录,以及在后续的过程中,以管理员身份对员工的记录进行修改。

2)处理过程编号:P2.1 处理过程名:销假管理

输入:销假申请,请假批复,用户身份,员工记录,销假记录 输出:请假记录

处理说明:根据员工的销假申请,把销假时间录入到相应的请假记录中。

3)处理过程编号:P2.2 处理过程名:请假管理

输入:请假申请,请假批复,用户身份,员工记录,请假记录 输出:请假记录

处理说明:根据员工的请假申请和批复情况,进行请假表的登记。

4)处理过程编号:P3 处理过程名:奖惩管理

输入:用户身份,奖惩批复,奖惩记录 输出:奖惩记录,奖惩情况

处理说明:根据奖惩批复的要求对员工进行相应的惩处,并对惩处进行记录。

5)处理过程编号:P4 处理过程名:工资管理 输入:用户身份,工资记录 输出:工资记录,工资查询

处理说明:根据员工目前的工资情况,进行调薪的操作。

6)处理过程编号:P5 处理过程名:调动管理

输入:调动批复,用户身份,职务调动记录 输出:职务调动记录,调动情况

处理说明:根据调动批复的内容,更改员工的职务信息,并对调动情况进行记录。

7)处理过程编号:P6 处理过程名:安全管理 输入:管理员情况

输出:D6, P1,P2.1,P2.2,P3,P4,P5,P7.1,P7.2 处理说明:建立管理人员记录表;通过用户名和口令,确认用户身份,保证系统安全性。

8)处理过程编号:P7.1

处理过程名:上班管理

输入:上班刷卡,用户身份,员工记录,出勤记录 输出:出勤记录

处理说明:根据输入的员工号信息,记录上班时间,并判断是否迟到。

9)处理过程编号:P7.2 处理过程名:下班管理

输入:下班刷卡,用户身份,员工记录,出勤记录 输出:出勤记录

处理说明:根据输入的员工号信息,记录下班时间,并判断是否早退。

10)处理过程编号:P8 处理过程名:部门管理 输入:部门情况,部门记录 输出:部门记录

处理说明:根据上级的调度,对现在公司的部门进行领导人的调换,或者是增加或删除某一部门。

3 数据库结构设计 3.1 概念结构设计

根据系统需求分析,可以得出人事管理系统数据库的概念模型(信息模型),图5是用E-R 图表示的人事管理系统的概念模型。最后,对设计出的数据模型进行规范化处理,使数据模型满足第三范式。

3.2 逻辑结构设计

将人事管理系统的E-R 图转换为关系数据库的数据模型,其关系模式为:

1)员工档案(员工编号+姓名+性别+出生日期+民族+学历+职称+部门号),其中员工编号为主码,部门号为外码;

2)管理员记录(管理员账号,员工编号,密码,级别),其中管理员账号为主码,员工编号为外码;

3)请假记录(请假编号+员工编号+请假时间+请假天数+销假时间+审批领导号+批复结果) 请假编号为主码,其中员工编号外码。

4)奖惩记录(奖惩编号+员工编号+奖惩类型+奖惩金额+奖惩日期+批复部门号+批复原因+ 批复日期),奖惩编号为主码,其中员工编号和批复部门号为外码;

5)职务调动记录(调动编号+员工编号+调动前职务+调动后职务+调动日期+批复部门号+批复原因+批复日期),调动编号为主码,其中员工编号和批复部门号为外码;

6)出勤记录(出勤编号+员工号+上班刷卡时间+下班刷卡时间+刷卡日期),出勤编号为主码,员工号为外码;

7)工资记录(工资编号+员工号+基本工资+奖金+罚款+起始时间+截止时间+发薪日期),工资编号为主码,员工号为外码。

8)部门记录(部门编号+名称+领导人号),部门编号为主码。

9)刷卡机记录(刷卡机号)。

将人事管理系统定名为“人事管理系统”。 各实体的分E-R 图,如图A,B,C 所示:

A )员工实体图

B )部门实体图

C )管理人员实体图

D )刷卡机实体图

全局E-R 图,如图E 所示:

E) 各实体间的联系图

3.3 数据库结构的详细设计

经过检查,此数据库的详细逻辑设计满足第3范式的要求。人事管理系统中各表的属性设计

表1

4 物理设计

4.1数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等) 的特点,为给定的

数据库系统确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。主要体现在后者。

(1)建立索引:

①对表 部门 在属性列 领导人号 上建立非聚集索引, ②对表 员工 在属性列 出生日期 上建立非聚集索引,在属性列 学历 上建立非聚集 索引

③对表 出勤 在属性列 上班日期 上建立非聚集索引 ④对表 工资 在属性列 基本工资 上建立非聚集索引

⑤对表 职务调动 在属性列 调动前职务 上建立非聚集索引。 ⑥对表 奖惩记录 在属性列 奖惩类型 上建立非聚集索引。

⑦对表 请假记录 在属性列“请假天数”上建立非聚集索引,在属性列“审批人编号” 上建立非聚集索引。 (2)存储结构

确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。 将日志文件和数据库对象(表、索引等) 分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。所以,系统应将日志文件和数据文件存放在不同磁盘上。

4.2数据库的建立

具体SQL 代码如下:

create database 人事管理系统 on primary (

name=人事管理系统,

filename='D:\SQL\汽车售后服务.mdf', size=10,

filegrowth=10%, maxsize=50 )

log on (

name=人事管理系统_日志,

filename='D:\SQL\人事管理系统_日志.ldf', size=5,

filegrowth=10%, maxsize=10 ) go

create table 部门

部门号 Char(4) primary key, 部门名 Char(10) not null, 领导人号 Char(4) not null, ) go

create table 管理人员 (

管理员账号 char(4) primary key, 职工编号 Char(4) not null, 密码 Char(6) not null, 级别 Char(4) check(级别 in ('管理员',' 系统管理员')), foreign key (职工编号) references 员工(员工编号) ) go

create table 刷卡机

( 刷卡机号 Char(4) primary key )

create table 员工 (

员工编号 Char(4) primary key, 姓名 Char(10) not null, 性别 Char(2) check(性别 in('男',' 女')), 出生日期 datetime, 学历 VarChar(32) not null, 身份证号 VarChar(32) not null, 民族 VarChar(16) not null, 职称 Char(10), 部门号 char(4), ) go

create table 出勤 ( 出勤号 Char(6) primary key, 员工编号 Char(4) not null, 上班日期 datetime not null, 上班时间 datetime not null, 下班时间 datetime not null, 刷卡机号 Char(4),

foreign key (刷卡机号) references 刷卡机(刷卡机号), foreign key (员工编号) references 员工(员工编号) )

go

create table 工资 ( 工资编号 Char(6) primary key, 员工编号 Char(4) not null, 基本工资 money not null, 罚款 money, 起始时间 Datetime, 截止时间 Datetime, 发薪日期 Datetime, foreign key (员工编号) references 员工(员工编号) ) go

create table 职务调动 ( 调动编号 Char(6) not null primary key, 员工编号 Char(4) not null, 调动前职务 Char(10), 调动后职务 Char(10), 调动部门号 Char(4) not null, 调动日期 Datetime, 批复日期 Datetime, 调动原因 VarChar(50),

foreign key (员工编号) references 员工(员工编号), foreign key (调动部门号) references 部门(部门号) )

create table 奖惩记录 ( 奖惩编号 Char(6) not null primary key, 员工编号 Char(4) not null, 奖惩类型 Char(4), 奖惩金额 money, 奖惩日期 Datetime, 批复部门号 Char(4), 批复日期 Datetime, 奖惩原因 VarChar(50),

foreign key (员工编号) references 员工(员工编号), foreign key (批复部门号) references 部门(部门号) ) Go

create table 请假记录 (

请假编号 Char(6) not null primary key, 员工编号 Char(4) not null, 请假时间 Datetime, 销假时间 datetime, 请假天数 int , 审批人编号 Char(4),

foreign key (员工编号) references 员工(员工编号) ) Go

/*索引的建立*/

create index部门_领导人号_index on部门(领导人号) create index 出勤_学历_index on 出勤(学历 )

create index 出勤_出生日期_index on 员工(出生日期 ) create index 出勤_上班日期_index on 出勤(上班日期 ) create index 工资_基本工资_index on 工资(基本工资 )

create index 职务调动_调动前职务_index on 职务调动(调动前职务 ) create index 奖惩记录_奖惩类型_index on 奖惩记录(奖惩类型 ) create index 请假记录_请假天数_index on 请假记录(请假天数) Go

4.3实验数据的输入 为了验证所设计的数据库的性能,在SQL server 2000上建立的“人事管理系统”数据库,输入了少量的实验数据。

4.4数据库输入、输出或查询模块的应用程序 无。

5 用户子模式的设计

无。

6总结

由于在数据库的设计初期,没有对人事管理系统进行准确地需求分析,导致后期设计过程中的数据库的概念设计阶段无法进行。因此,通过此次数据库课程设计使学生认识到了需求分析对于软件系统设计的重要性。也认识到规范化的设计流程对于后期的设计来说,是十分重要的。前面的设计是后面的铺垫,只有对前面的设计过程进行准确地分析,才能节省整个系统的开发时间。最后,通过此次数据库课程设计使学生初步理解了简单数据库的一般开发流程,以及数据流图和E-R 图等专业图形地绘制。

目录

1 系统概述 ····················2 系统数据流程图和数据字典 ············2.1 用户需求调查 ··················2.2 系统数据流程图 ·················2.3 系统数据字典 ··················3 数据库结构设计 ················3.1 概念结构设计 ·················3.2 逻辑结构设计 ·················3.3 数据库结构的详细设计 ·············4 物理设计 ···················5 用户的子模式(外模式)设计(没做)6 总结 ······················系统概述

3 3 3 4 7 13 12 12 14 15 19 19

······

1

本文按照数据库系统设计的基本步骤,采取了事先进行需求分析,然后进行数据库的概念设计和逻辑结构设计,最后进行数据库详细设计的方法,完成了一个人事管理系统数据库系统的设计。最终,在SQL SEVER 2000完成的人事管理系统,可以实现:对员工基本档案的管理、奖惩记录的管理、出勤记录的管理、职务调动记录的管理、工资管理、请销假管理。

2 系统数据流程图和数据字典 2.1 用户需求调查

通过对现行人事管理系统的调查,明确了人事管理系统由档案管理、职务调动管理、奖惩管理、考勤管理、工资管理、请销假管理组成。 系统功能的主要描述如下。 (1)员工档案管理

1)对公司里所有员工进行统一编号;将每一位员工的信息保存在员工档案记录中。 2)对新聘用的员工,将其信息加入到员工档案记录中;对于解聘的员工,将其信息从员工档案记录中删除。

3)当员工的信息发生变动时,修改员工档案记录中相应的属性。

(2)员工职务调动管理

对公司里所有员工的职务记录进行统一编号;登记员工调动前后的具体职务,以及调动时间。

(3)奖惩管理

对公司里所有员工的奖惩记录进行统一编号;登记员工奖惩的原因,所受奖惩类型,奖惩时间。

(4)考勤管理

1)对员工上班刷卡的记录进行统一编号;登记员工上班时间、签到类型(准时、迟到)。 2)对员工下班刷卡的记录进行统一编号;登记员工上班时间、签到类型(准时、早退)。

(5)请销假管理

1)对员工请假的记录进行统一编号;登记员工请假时间、请假类型。

2)对员工销假的记录进行统一编号;登记员工销假时间、请假类型,检查是否超期。

(6)工资管理

1)对公司里所有员工的工资记录进行统一编号,建立工资记录表。

(7)部门管理

1)对公司所有的部门进行编号,建立部门记录。 2.2 系统数据流程图

经过详细的调查,弄清了系统现行的业务流程。在此基础上,构造出系统的逻辑模型,并通过数据流程图表示。人事管理系统的顶层数据流程图如图1所示。

图1

注:图中虚线表示的数据流是员工信息。

在人事管理系统顶层流程图中,“请假管理”和“出勤管理”两个处理框所表示的功能不是很具体,需对他们进一步细化。请假管理细化流程图如图2所示。

图2

出勤管理细化流程图如图3所示。

图3

最终,经过整理后得出细化后的系统数据流程图。如图4所示。

图4

2.3 系统数据字典

人事管理系统数据流程图中,数据信息和处理过程还需要通过数据字典来描述。在本文的数据字典中,主要对数据流图中的数据流、数据存储和处理过程进行说明。

(1)主要的数据流定义

1)数据流名称:员工情况 位置:员工→P1。

定义: 员工情况=姓名+性别+出生日期+民族+学历+职称 。 数据流量:根据公司的员工具体录用情况来确定。 说明:要对每一位被聘用的新员工进行唯一编号。

2)数据流名称:奖惩情况 位置:P3→员工

定义: 奖惩情况=员工流水号+奖惩类型+奖惩金额+奖惩年月日。 数据流量:根据公司的具体情况来确定。 说明:要对每一次的奖惩记录进行唯一编号。

3)数据流名称:奖惩批复 位置:上级→P3

定义: 奖惩批复=奖惩类型+批复部门号+批复原因+批复日期。 数据流量:根据公司的具体情况来确定。 说明:具体应用中,批复原因可以省略。

4)数据流名称:调动情况 位置:P5→员工

定义: 调动情况=员工号+调动前职务+调动后职务+调动日期。 数据流量:根据公司的具体情况来确定。

说明:员工号和调动日期可以唯一确定一个调动情况。

5)数据流名称:调动批复 位置:上级→P5

定义: 调动批复=批复部门号+批复原因+批复日期。 数据流量:根据公司的具体情况来确定。 说明:批复原因可以省略。

6)数据流名称:上班刷卡 位置:员工→P7.1

定义: 上班刷卡=员工号+上班刷卡时间+刷卡机号。 数据流量:根据公司的具体规模情况来确定。 说明:上班刷卡时间会汇入到出勤记录中。

7)数据流名称:下班刷卡 位置:员工→P7.2

定义: 下班刷卡=员工号+下班刷卡时间+刷卡机号。 数据流量:根据公司的具体情况来确定。 说明:下班刷卡时间会汇入到出勤记录中。

8)数据流名称:工资查询 位置:P4→员工

定义: 工资查询=员工号+基本工资+奖金+罚款+超始时间+截止时间+发薪日期。 数据流量:根据公司的具体情况来确定。

说明:根据员工号和发薪日期可以唯一确定一个工资记录。

9)数据流名称:请假申请 位置:员工→P2.2

定义: 请假申请=员工号+请假时间+请假天数。 数据流量:根据公司的具体情况来确定。

说明:员工号和请假时间可以唯一确定一个请假记录。

10)数据流名称:请假批复 位置:上级→P2.2

定义: 请假批复=审批人+批复结果。 数据流量:根据公司的具体情况来确定。 说明:批复结果的类型只能是(批准、拒绝)。

11)数据流名称:销假申请 位置:员工→P2.1

定义: 销假申请=员工号+销假时间 。 数据流量:根据公司的具体情况来确定。 说明:针对销假申请没用单独建立销假记录表,在这里将销假记录和请假记录进行了合并。因为在一般情况下,请假是不能够进行嵌套的。

12)数据流名称:管理员情况 位置:管理员→P6

定义: 用户身份=员工编号。

数据流量:根据公司的具体情况来确定。 说明:要对每一位管理员建立唯一的账号。

13)数据流名称:用户身份

位置:安全管理→{P1,P2.1,P2.2,P3,P4,P5,P7.1,P7.2} 定义: 用户身份=[ 非法用户 | 内部管理员 | 服务管理员] 数据流量:根据公司的具体情况来确定。

说明:不同的用户身份对应不同的操作权限,对应着不同的安全级别。

14)数据流名称:部门情况

位置:上级→部门情况

定义: 部门情况=部门号+部门名称+领导人号 数据流量:根据公司的具体情况来确定。 说明:部门号是主码。

(2)主要的数据存储定义 1)数据存储编号:员工记录 D1

输入:P1

输出:P1,P7.1,P7.2,P2.1,P2.2

数据结构:员工记录=姓名+性别+出生日期+民族+学历+职称 +员工编号。 数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以随机检索为主。

说明:员工编号具有唯一性和非空性;性别只能是男或女;主码是员工编号。

2)数据存储编号:请假记录 D2

输入:P2.1,P2.2 输出:P2.1,P2.2

数据结构:请假记录=员工号+请假时间+请假天数+销假时间 。 数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。

说明:主码设为请假时间和员工号;员工号是外码,参照表是员工记录。

3)数据存储编号:奖惩记录 D3

输入:P3 输出:P3 数据结构:奖惩记录=员工流水号+奖惩类型+奖惩金额+奖惩时间+批复部门号+批复原因+批复日期。

数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。

说明:主码设为奖惩时间和员工号;员工号是外码,参照表是员工记录。

4)数据存储编号:工资记录 D4

输入:P4 输出:P4

数据结构:工资记录=员工号+基本工资+奖金+罚款+超始时间+截止时间+发薪日期。 数据量和存取频度:根据公司的具体规模情况来确定。

存取方式:联机处理;检索和更新;以更新操作为主。

说明:主码设为发薪日期和员工号;员工号是外码,参照表是员工记录。

5)数据存储编号:职务调动记录 D5

输入:P5 输出:P5

数据结构:职务调动记录=员工号+调动前职务+调动后职务+调动日期+批复部门号+批复原因+批复日期。

数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。

说明:主码设为调动日期和员工号;员工号是外码,参照表是员工记录。

6)数据存储编号:管理人员记录 D6

输入:P6 输出:P6

数据结构:管理人员记录=用户密码+职工号+密码+管理员账号。 数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。 说明:主码设为管理员账号。

7)数据存储编号:出勤记录 D7

输入:P7.1,P7.2 输出:P7.1,P7.2

数据结构:出勤记录=员工号+上班刷卡时间+下班刷卡时间+刷卡日期。 数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。

说明:主码设为员工号和刷卡日期;员工号是外码,参照表是员工记录。

8)数据存储编号:部门记录 D8

输入:P8 输出:P8

数据结构:部门记录=部门号+部门名称+领导人号。 数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以检索操作为主。 说明:主码设为部门号。

(3)主要的处理过程

1)处理过程编号:P1 处理过程名:档案管理

输入:用户身份,员工记录,员工情况 输出:员工记录

处理说明:根据员工的聘用、解聘建立或删除员工记录,以及在后续的过程中,以管理员身份对员工的记录进行修改。

2)处理过程编号:P2.1 处理过程名:销假管理

输入:销假申请,请假批复,用户身份,员工记录,销假记录 输出:请假记录

处理说明:根据员工的销假申请,把销假时间录入到相应的请假记录中。

3)处理过程编号:P2.2 处理过程名:请假管理

输入:请假申请,请假批复,用户身份,员工记录,请假记录 输出:请假记录

处理说明:根据员工的请假申请和批复情况,进行请假表的登记。

4)处理过程编号:P3 处理过程名:奖惩管理

输入:用户身份,奖惩批复,奖惩记录 输出:奖惩记录,奖惩情况

处理说明:根据奖惩批复的要求对员工进行相应的惩处,并对惩处进行记录。

5)处理过程编号:P4 处理过程名:工资管理 输入:用户身份,工资记录 输出:工资记录,工资查询

处理说明:根据员工目前的工资情况,进行调薪的操作。

6)处理过程编号:P5 处理过程名:调动管理

输入:调动批复,用户身份,职务调动记录 输出:职务调动记录,调动情况

处理说明:根据调动批复的内容,更改员工的职务信息,并对调动情况进行记录。

7)处理过程编号:P6 处理过程名:安全管理 输入:管理员情况

输出:D6, P1,P2.1,P2.2,P3,P4,P5,P7.1,P7.2 处理说明:建立管理人员记录表;通过用户名和口令,确认用户身份,保证系统安全性。

8)处理过程编号:P7.1

处理过程名:上班管理

输入:上班刷卡,用户身份,员工记录,出勤记录 输出:出勤记录

处理说明:根据输入的员工号信息,记录上班时间,并判断是否迟到。

9)处理过程编号:P7.2 处理过程名:下班管理

输入:下班刷卡,用户身份,员工记录,出勤记录 输出:出勤记录

处理说明:根据输入的员工号信息,记录下班时间,并判断是否早退。

10)处理过程编号:P8 处理过程名:部门管理 输入:部门情况,部门记录 输出:部门记录

处理说明:根据上级的调度,对现在公司的部门进行领导人的调换,或者是增加或删除某一部门。

3 数据库结构设计 3.1 概念结构设计

根据系统需求分析,可以得出人事管理系统数据库的概念模型(信息模型),图5是用E-R 图表示的人事管理系统的概念模型。最后,对设计出的数据模型进行规范化处理,使数据模型满足第三范式。

3.2 逻辑结构设计

将人事管理系统的E-R 图转换为关系数据库的数据模型,其关系模式为:

1)员工档案(员工编号+姓名+性别+出生日期+民族+学历+职称+部门号),其中员工编号为主码,部门号为外码;

2)管理员记录(管理员账号,员工编号,密码,级别),其中管理员账号为主码,员工编号为外码;

3)请假记录(请假编号+员工编号+请假时间+请假天数+销假时间+审批领导号+批复结果) 请假编号为主码,其中员工编号外码。

4)奖惩记录(奖惩编号+员工编号+奖惩类型+奖惩金额+奖惩日期+批复部门号+批复原因+ 批复日期),奖惩编号为主码,其中员工编号和批复部门号为外码;

5)职务调动记录(调动编号+员工编号+调动前职务+调动后职务+调动日期+批复部门号+批复原因+批复日期),调动编号为主码,其中员工编号和批复部门号为外码;

6)出勤记录(出勤编号+员工号+上班刷卡时间+下班刷卡时间+刷卡日期),出勤编号为主码,员工号为外码;

7)工资记录(工资编号+员工号+基本工资+奖金+罚款+起始时间+截止时间+发薪日期),工资编号为主码,员工号为外码。

8)部门记录(部门编号+名称+领导人号),部门编号为主码。

9)刷卡机记录(刷卡机号)。

将人事管理系统定名为“人事管理系统”。 各实体的分E-R 图,如图A,B,C 所示:

A )员工实体图

B )部门实体图

C )管理人员实体图

D )刷卡机实体图

全局E-R 图,如图E 所示:

E) 各实体间的联系图

3.3 数据库结构的详细设计

经过检查,此数据库的详细逻辑设计满足第3范式的要求。人事管理系统中各表的属性设计

表1

4 物理设计

4.1数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等) 的特点,为给定的

数据库系统确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。主要体现在后者。

(1)建立索引:

①对表 部门 在属性列 领导人号 上建立非聚集索引, ②对表 员工 在属性列 出生日期 上建立非聚集索引,在属性列 学历 上建立非聚集 索引

③对表 出勤 在属性列 上班日期 上建立非聚集索引 ④对表 工资 在属性列 基本工资 上建立非聚集索引

⑤对表 职务调动 在属性列 调动前职务 上建立非聚集索引。 ⑥对表 奖惩记录 在属性列 奖惩类型 上建立非聚集索引。

⑦对表 请假记录 在属性列“请假天数”上建立非聚集索引,在属性列“审批人编号” 上建立非聚集索引。 (2)存储结构

确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。 将日志文件和数据库对象(表、索引等) 分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。所以,系统应将日志文件和数据文件存放在不同磁盘上。

4.2数据库的建立

具体SQL 代码如下:

create database 人事管理系统 on primary (

name=人事管理系统,

filename='D:\SQL\汽车售后服务.mdf', size=10,

filegrowth=10%, maxsize=50 )

log on (

name=人事管理系统_日志,

filename='D:\SQL\人事管理系统_日志.ldf', size=5,

filegrowth=10%, maxsize=10 ) go

create table 部门

部门号 Char(4) primary key, 部门名 Char(10) not null, 领导人号 Char(4) not null, ) go

create table 管理人员 (

管理员账号 char(4) primary key, 职工编号 Char(4) not null, 密码 Char(6) not null, 级别 Char(4) check(级别 in ('管理员',' 系统管理员')), foreign key (职工编号) references 员工(员工编号) ) go

create table 刷卡机

( 刷卡机号 Char(4) primary key )

create table 员工 (

员工编号 Char(4) primary key, 姓名 Char(10) not null, 性别 Char(2) check(性别 in('男',' 女')), 出生日期 datetime, 学历 VarChar(32) not null, 身份证号 VarChar(32) not null, 民族 VarChar(16) not null, 职称 Char(10), 部门号 char(4), ) go

create table 出勤 ( 出勤号 Char(6) primary key, 员工编号 Char(4) not null, 上班日期 datetime not null, 上班时间 datetime not null, 下班时间 datetime not null, 刷卡机号 Char(4),

foreign key (刷卡机号) references 刷卡机(刷卡机号), foreign key (员工编号) references 员工(员工编号) )

go

create table 工资 ( 工资编号 Char(6) primary key, 员工编号 Char(4) not null, 基本工资 money not null, 罚款 money, 起始时间 Datetime, 截止时间 Datetime, 发薪日期 Datetime, foreign key (员工编号) references 员工(员工编号) ) go

create table 职务调动 ( 调动编号 Char(6) not null primary key, 员工编号 Char(4) not null, 调动前职务 Char(10), 调动后职务 Char(10), 调动部门号 Char(4) not null, 调动日期 Datetime, 批复日期 Datetime, 调动原因 VarChar(50),

foreign key (员工编号) references 员工(员工编号), foreign key (调动部门号) references 部门(部门号) )

create table 奖惩记录 ( 奖惩编号 Char(6) not null primary key, 员工编号 Char(4) not null, 奖惩类型 Char(4), 奖惩金额 money, 奖惩日期 Datetime, 批复部门号 Char(4), 批复日期 Datetime, 奖惩原因 VarChar(50),

foreign key (员工编号) references 员工(员工编号), foreign key (批复部门号) references 部门(部门号) ) Go

create table 请假记录 (

请假编号 Char(6) not null primary key, 员工编号 Char(4) not null, 请假时间 Datetime, 销假时间 datetime, 请假天数 int , 审批人编号 Char(4),

foreign key (员工编号) references 员工(员工编号) ) Go

/*索引的建立*/

create index部门_领导人号_index on部门(领导人号) create index 出勤_学历_index on 出勤(学历 )

create index 出勤_出生日期_index on 员工(出生日期 ) create index 出勤_上班日期_index on 出勤(上班日期 ) create index 工资_基本工资_index on 工资(基本工资 )

create index 职务调动_调动前职务_index on 职务调动(调动前职务 ) create index 奖惩记录_奖惩类型_index on 奖惩记录(奖惩类型 ) create index 请假记录_请假天数_index on 请假记录(请假天数) Go

4.3实验数据的输入 为了验证所设计的数据库的性能,在SQL server 2000上建立的“人事管理系统”数据库,输入了少量的实验数据。

4.4数据库输入、输出或查询模块的应用程序 无。

5 用户子模式的设计

无。

6总结

由于在数据库的设计初期,没有对人事管理系统进行准确地需求分析,导致后期设计过程中的数据库的概念设计阶段无法进行。因此,通过此次数据库课程设计使学生认识到了需求分析对于软件系统设计的重要性。也认识到规范化的设计流程对于后期的设计来说,是十分重要的。前面的设计是后面的铺垫,只有对前面的设计过程进行准确地分析,才能节省整个系统的开发时间。最后,通过此次数据库课程设计使学生初步理解了简单数据库的一般开发流程,以及数据流图和E-R 图等专业图形地绘制。


相关文章

  • 某企业人事管理系统毕业论文
  • 衢州学院 毕业设计(论文) 题 目:某企业人事管理系统分析与设计 作 者: 分 院: 专业班级: 指导教师: 职 称: 2013年 1月 14日 某 | 企 员 业 工 人 调 事 整 管 与 理 工 系 资 统 管 分 理 析 管 与 理 ...查看


  • 110604168赵健毕业论文正文.结论.参考文献
  • 1 引言 1.1 系统开发的背景情况 在当今社会,经济与科技在不断迅速发展,技术的进步速度也是非常惊人的,在当下时代中,人们不断追求与时俱进的技术,和高效率的办事手段.不管在什么方面,只要能够达到人们所期待的那种高效率,高便捷的方法都会迎得 ...查看


  • 山东大学网络教育学院
  • 山东大学网络教育学院 毕业论文(设计) 论文(设计)题目: 企业员工信息管理系统毕业论文设计与实现 姓 名 级专 业 计算机科学与技术 学习中心 指导教师 职 称 2012年 11 月 19 日 目录 摘 要 ............... ...查看


  • 人事管理系统毕业论文
  • 本科毕业论文(设计) 论文(设计)题目: 人事综合管理系统 学 院: 专 业: 班 级: 学 号: 学生姓名: 指导教师: 年 月 日 贵州大学本科毕业论文(设计) 诚信责任书 本人郑重声明:本人所呈交的毕业论文(设计),是在导师的指导 下 ...查看


  • 超市管理信息系统分析设计书
  • 超市管理信息系统分析与点评 1.1概述 1.1.1开发背景 某某连锁超市地处北京,成立于二十世纪九十年代初期.连锁店采用统一采购,统一核算,统一配送的低成本的经营方式.超市发展至今已经拥有十几家连锁店,一家配送中心.我们研究的对象是该连锁超 ...查看


  • 企业人事管理(优秀)
  • 东北大学本科生毕业设计(论文)专用纸 摘要 随着计算机技术的飞速发展,大量信息扑面而来,企业应建立一套完整的现代化.网络化.规范化的人事管理系统来改变传统手工办理人事业务速度慢.效率低的弊端,提高工作效率.优化人事管理.降低劳动成本,准确地 ...查看


  • 课程设计工资管理系统
  • 西安财经学院 <信息系统分析与设计>课程设计报告 题目 企业工资管理系统 姓名 专业 班级 学号 目 录 一.概述 (一)开发工资管理系统的目的∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ...查看


  • 计算机专业毕业论文题目_大全(1)
  • 目 录 ASP 类计算机专业毕业论文题目.................................................................................................... ...查看


  • 详细设计说明书模板n
  • 南 阳 理工学院软件学院 09级信息管理专业 二〇一〇年六月 户 ][门网 详细设计说明书 目 录 1 概述 ................................................................. ...查看


热门内容