人事管理系统设计数据库原理与应用.docx

上传人:b****6 文档编号:15745012 上传时间:2023-07-07 格式:DOCX 页数:40 大小:1.18MB
下载 相关 举报
人事管理系统设计数据库原理与应用.docx_第1页
第1页 / 共40页
人事管理系统设计数据库原理与应用.docx_第2页
第2页 / 共40页
人事管理系统设计数据库原理与应用.docx_第3页
第3页 / 共40页
人事管理系统设计数据库原理与应用.docx_第4页
第4页 / 共40页
人事管理系统设计数据库原理与应用.docx_第5页
第5页 / 共40页
人事管理系统设计数据库原理与应用.docx_第6页
第6页 / 共40页
人事管理系统设计数据库原理与应用.docx_第7页
第7页 / 共40页
人事管理系统设计数据库原理与应用.docx_第8页
第8页 / 共40页
人事管理系统设计数据库原理与应用.docx_第9页
第9页 / 共40页
人事管理系统设计数据库原理与应用.docx_第10页
第10页 / 共40页
人事管理系统设计数据库原理与应用.docx_第11页
第11页 / 共40页
人事管理系统设计数据库原理与应用.docx_第12页
第12页 / 共40页
人事管理系统设计数据库原理与应用.docx_第13页
第13页 / 共40页
人事管理系统设计数据库原理与应用.docx_第14页
第14页 / 共40页
人事管理系统设计数据库原理与应用.docx_第15页
第15页 / 共40页
人事管理系统设计数据库原理与应用.docx_第16页
第16页 / 共40页
人事管理系统设计数据库原理与应用.docx_第17页
第17页 / 共40页
人事管理系统设计数据库原理与应用.docx_第18页
第18页 / 共40页
人事管理系统设计数据库原理与应用.docx_第19页
第19页 / 共40页
人事管理系统设计数据库原理与应用.docx_第20页
第20页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

人事管理系统设计数据库原理与应用.docx

《人事管理系统设计数据库原理与应用.docx》由会员分享,可在线阅读,更多相关《人事管理系统设计数据库原理与应用.docx(40页珍藏版)》请在冰点文库上搜索。

人事管理系统设计数据库原理与应用.docx

人事管理系统设计数据库原理与应用

课程设计报告

 

课程设计名称:

数据库原理与应用

系部:

二系

学生姓名:

韦敏

班级:

10信息与计算科学

学号:

20100202111

成绩:

指导教师:

陈林

开课时间:

2012-2013学年1学期

一.设计题目:

人事管理系统

二.主要内容:

人事管理系统主要是针对企业单位内部组织结构和员工信息的管理,本系统的主要功能为:

员工信息管理,部门信息管理,系统用户管理,故我们需要实现如下功能的建设:

1)员工信息管理:

每个部门的员工各种信息的添加,修改,删除,包括员工的基本信息、学历信息、职称等信息,以及查看符合各种条件的员工部分与总体信息;

2)部门信息管理:

查看部门信息,包括部门编号、部门名称、部门经理、部门简介等信息;具有更新部门的功能。

3)系统用户管理:

查看系统用户信息,包括用户名和用户类型(系统管理员和普通用户)等信息;

 

三.具体要求

1.课程设计的内容独立自主完成,课程设计报告内容完整、格式规范、排版整洁美观;

2.后台数据库采用MSSQLSERVER2005,前台界面语言不限,编写的程序代码,须有较详细的注释说明;

四.进度安排

课程设计安排:

16周

星期一讲解课程设计的内容,安排每一天的具体任务,分配并熟悉题目;

星期二需求分析:

给出系统的功能需求、性能需求,并绘制DFD和DD;

星期三概念结构设计:

绘制实体属性图(可选),局部ER图和全局ER图;

星期四逻辑结构设计:

转换、优化;

星期五逻辑结构设计:

外模式设计

17周

星期一物理结构设计及数据库实施;

星期二应用程序编制调试、整理课程设计报告;

星期三应用程序编制调试、整理课程设计报告,并检查;

星期四根据反馈结果修改课程设计报告;

星期五课程设计答辩,交材料;

上交的材料:

课程设计的电子稿、打印稿、源码(SQL代码和程序代码)

五.成绩评定

考核方法:

现场验收(占50%),课程设计报告(占50%)。

考核内容:

学习态度(出勤情况,平时表现等)、方案合理性、各阶段的图表与程序编制质量、设计报告质量。

成绩评定:

优,良,中,及格,不及格。

特别说明:

(1)如发现抄袭,按照不及格处理。

(2)材料不齐的,考核等级降一级。

电子稿件以压缩文件的形式上交,压缩命名为:

11位学号+姓名

正文撰写包含的内容:

1、需求分析

2、概念结构设计

3、逻辑结构设计

4、物理结构设计

5、数据库实施及应用程序编制

6、心得体会

7、参考资料

正文:

题目:

人事管理系统

第一章系统概述

本文按照数据库系统设计的基本步骤,采取了事先进行需求分析,得出对应的数据流图和数据字典,再进行概念结构设计,逻辑结构设计和物理结构设计,最后通过运行和测试,成功完成了一个小型的人事管理系统的设计。

最终,在SQLSEVER2005上运行的人事管理系统,可以实现:

员工各种信息的管理,员工所在部门信息的相关管理。

第二章需求分析

2.1需求分析

通过对当前人事管理系统的相关调查,确定所做的人事管理系统功能的基本要求如下:

Ø员工各种信息的输入及修改,包括员工的基本信息、学历信息、职称等信息;

Ø员工所在的部门信息,包括部门名称、部门经理等信息;

Ø按照一定的条件,查询、统计符合条件的员工信息;包括每个员工详细信息的查询、按学历查询、按部门查询等,包括按学历、部门、参加工作时间等统计各自的员工信息;

Ø对于转出、辞职、辞退、退休员工信息的删除,并更新相应部门的统计信息。

2.2功能分析

人事管理系统主要是针对企业单位内部组织结构和员工信息的管理,本系统的主要功能为:

员工信息管理,部门信息管理,系统用户管理,故我们需要实现如下功能的建设:

4)员工信息管理:

每个部门的员工各种信息的添加,修改,删除,包括员工的基本信息、学历信息、职称等信息,以及查看符合各种条件的员工部分与总体信息;

5)部门信息管理:

查看部门信息,包括部门编号、部门名称、部门经理、部门简介等信息;具有更新部门的功能。

6)系统用户管理:

查看系统用户信息,包括用户名和用户类型(系统管理员和普通用户)等信息;

2.3系统数据流程图

数据流图描述的是系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。

因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员也能容易理解。

数据流图里的符号也极为简单,只有四个:

1)外部实体;2)处理;3)连线;4)数据存储。

这四个符号也有两种。

一种是Yourdon&Coad法,另一种是Gane&Sarson法。

只是略有不同而已。

在这篇论文中,我们使用MicrosoftVisio,故使用Gane&Sarson法。

所对应的四个符号如图2.1所示:

图2.1

经过详细调查,了解到企业单位人事管理系统的业务流程,在此基础上,得出系统的逻辑模型,并用数据流图表示,情况如图2.2,图2.3所示:

图2.2顶层数据流图

图2.30层数据流图

在上述人事管理系统数据流图中,员工档案管理功能还没具体实现,主要实现功能如图2.4所示:

图2.41层数据流图

综合0层数据流,得出最终的数据流图,如图2.5所示,

图2.5总数据流图

2.4系统数据字典

人事管理系统数据流程图中,数据信息和处理过程还需要通过数据字典来描述。

在本文的数据字典中,主要对数据流图中的数据项、数据结构、数据流、数据存储和处理过程进行说明。

2.4.1数据项

序号:

1

名称:

_name

含义:

员工姓名

值域:

varchar(10)

序号:

2

名称:

_no

含义:

员工编号

值域:

varchar(5)

序号:

3

名称:

_sex

含义:

员工性别

值域:

varchar

(2)

序号:

4

名称:

_callnumber

含义:

员工联系电话

类型:

int

序号:

5

名称:

_education

含义:

员工学历

值域:

varchar(10)

序号:

6

名称:

_position

含义:

员工职称

值域:

varchar(10)

 

序号:

7

名称:

dpt_no

含义:

员工所在部门编号

值域:

varchar(4)

序号:

8

名称:

_worktime

含义:

员工参加工作时间

值域:

varchar(20)

序号:

9

名称:

_infor_change

含义:

工作变动

值域:

varchar(4)

序号:

10

名称:

dpt_name

含义:

部门名称

值域:

varchar(20)

序号:

11

名称:

dpt_manager

含义:

部门经理编号

值域:

varchar(5)

序号:

12

名称:

dpt_no

含义:

部门编号

值域:

varchar(4)

序号:

13

名称:

dpt_count

含义:

部门人数

类型:

int

序号:

14

名称:

dpt__abstract

含义:

部门简介

值域:

varchar(200)

序号:

17

名称:

users_name

含义:

用户名

值域:

varchar(10)

序号:

18

名称:

users_pwd

含义:

用户密码

值域:

varchar(16)

 

序号:

19

名称:

_authority

含义:

用户权限

值域:

int

 

2.4.2数据结构

序号:

1

名称:

员工信息表

组成:

_name,_no,_sex,_callnumber,_education,_position,dpt_no,_worktime,_infor_change,

序号:

2

名称:

部门信息表

组成:

dpt_name,dpt_manager,dpt_no,dpt_count,dpt__abstract

序号:

3

名称:

登录信息表

组成:

users_name,users_pwd,_authority

2.4.3数据流

1)数据流名称:

员工情况

位置:

员工→P1.1,员工→P1.2。

定义:

员工情况=姓名+性别+编号+学历+联系电话+所在部门+参加工作时间+职称。

数据流量:

根据公司的员工具体录用情况来确定。

说明:

要对每一位被聘用的新员工进行唯一编号。

2)数据流名称:

员工变动情况

位置:

P1.5→D1,P1.5→D6。

定义:

员工变动情况=员工号+变动前职位+变动原因+调动日期。

数据流量:

根据公司的具体情况来确定。

说明:

员工号可以唯一确定一个员工变动情况。

3)数据流名称:

用户情况

位置:

用户→P3

定义:

用户身份=员工编号

数据流量:

根据公司的具体情况来确定。

说明:

要对每一名用户建立唯一的账号。

4)数据流名称:

用户身份

位置:

安全管理→{P1.1,P1.2,P1.3,P1.4,P1.5,P2}

定义:

用户身份=[管理员|员工]

数据流量:

根据公司的具体情况来确定。

说明:

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

5)数据流名称:

部门情况

位置:

部门→部门情况

定义:

部门情况=部门编号+部门名称+部门人数+部门简介+部门经理

数据流量:

根据公司的具体情况来确定。

说明:

部门编号是主码。

2.4.4数据存储

1)D1员工档案

输入:

P1.1,P1.2,P1.5

输出:

P1.2,P1.3,P1.4,P1.5

数据结构:

员工档案=姓名+性别+学历+员工编号+联系电话+所在部门编号+参加工作时间+职称+工作变动。

数据量和存取频度:

根据公司的具体规模情况来确定。

存取方式:

联机处理;检索和更新;以随机检索为主。

说明:

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

2)D2部门记录

输入:

P2

输出:

P2

数据结构:

部门记录=部门编号+部门名称+部门人数+部门简介+部门经理。

数据量和存取频度:

根据公司的具体规模情况来确定。

存取方式:

联机处理;检索和更新;以检索操作为主。

说明:

主码设为部门号。

3)D3用户记录

输入:

P3

输出:

P3

数据结构:

用户记录=员工编号+管理员编号+密码+权限

数据量和存取频度:

根据公司的具体规模情况来确定。

存取方式:

联机处理;检索和更新;以更新操作为主。

说明:

主码设为管理员编号。

4)D4员工相应信息

输入:

P1.4

输出:

P4

数据结构:

员工相应信息=员工编号+学历+联系电话+所在部门编号+参加工作时间+职称+工作变动。

数据量和存取频度:

根据公司的具体规模情况来确定。

存取方式:

联机处理;检索和更新;以更新操作为主。

说明:

主码设为员工编号。

5)D5员工信息更新

输入:

P1.5

输出:

P2

数据结构:

员工信息更新=员工编号+职称+工作变动+所在部门编号。

数据量和存取频度:

根据公司的具体规模情况来确定。

存取方式:

联机处理;检索和更新;以更新操作为主。

说明:

主码设为员工编号。

2.4.5数据处理

1)处理过程编号:

P1.1

处理过程名:

员工信息录入

输入:

员工

输出:

员工档案

处理说明:

根据员工基本信息员工进行信息录入,录入的结果存放到员工档案中。

2)处理过程编号:

P1.2

处理过程名:

员工信息修改

输入:

员工,员工档案

输出:

员工档案

处理说明:

根据员工基本信息以及员工档案进行信息修改,修改的结果存放到员工档案中。

3)处理过程编号:

P1.3

处理过程名:

员工信息查看

输入:

员工档案

输出:

员工档案

4)处理过程编号:

P1.4

处理过程名:

员工信息查询

输入:

员工档案

输出:

员工相应信息

5)处理过程编号:

P1.5

处理过程名:

员工信息删除

输入:

员工档案

输出:

员工信息更新

6)处理过程编号:

P2

处理过程名:

部门档案管理

输入:

D5,部门信息

输出:

部门记录

7)处理过程编号:

P3

处理过程名:

安全管理

输入:

用户情况

输出:

用户记录

第三章概念结构设计

根据系统需求分析,可以得出人事管理系统数据库的概念模型(信息模型),各类E-R图绘制如下:

图3.1员工实体图

图3.2部门实体图

图3.3用户实体图

 

第四章逻辑结构设计

4.1E-R模型向关系模型的转换

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

员工(姓名,性别,员工编号,联系电话,学历,职称,所在部门编号,参加工作时间,工作变动),其中,员工编号是主码,所在部门编号为引用“部门”关系模式的外码。

部门(名称,经理,部门编号,简介,员工人数),其中,部门编号是主码。

4.2数据模型的优化

员工关系模式中,各个属性间函数依赖关系:

员工编号→姓名

员工编号→联系电话

员工编号→学历

员工编号→职称

员工编号→所在部门编号

员工编号→参加工作时间

员工编号→工作变动

此关系属于第三范式。

部门关系模式中,各个属性间函数依赖关系:

部门编号→名称

部门编号→部门简介

部门编号→部门人数

部门编号→部门经理

此关系属于第三范式。

用户关系模式中,各个属性间函数依赖关系:

用户名→用户密码

用户名→权限

此关系属于第三范式。

4.3设计外模式

员工关系模式:

员工(姓名,性别,员工编号,联系电话,学历,职称,所在部门编号,参加工作时间,工作变动)。

在此关系模式上建立了四个视图:

员工1(员工编号,姓名,学历)

员工2(员工编号,姓名,部门编号)

员工3(员工编号,姓名,参加工作时间)

员工4(员工编号,姓名,工作变动)

第五章数据库结构的物理结构设计

数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。

所谓的“合理”主要有两个含义:

一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。

主要体现在后者。

数据库的物理结构设计大致包括:

确定数据的存取方法、确定数据的存储结构。

5.1确定数据的存取方法

确定数据库的存取方法,就是确定建立哪些存储路径以实现快速存取数据库中的数据。

现行的DBMS一般都提供了多种存取方法,如索引法、HASH法等。

其中,最常用的是索引法。

本课程设计也采用索引的存取方法。

建立索引如下:

(1)对表员工在属性列员工编号建立非聚簇索引

(2)对表部门在属性列部门编号建立非聚簇索引

5.2确定数据的存储结构

确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。

将日志文件和数据库对象(表、索引等)分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。

所以,系统应将日志文件和数据文件存放在不同磁盘上。

第六章数据库行为设计

到目前为止,我们详细讨论了数据库的结构设计问题,下面我们进行数据库的行为设计。

数据库行为设计一般分为如下几个步骤:

1)功能分析

2)功能设计

3)事务设计

4)应用程序设计与实现

6.1功能设计

将人事管理系统的功能需求转化为总功能结构图,(此处不分管理员和员工)如下所示,

图6.1总功能结构图

第七章数据库实施及应用程序编制

数据库实施阶段包括两项重要工作,一是加载数据,二是调试和运行程序。

下面是具体实施。

7.1数据库实施

7.1.1加载数据如下所示:

图7.1部门信息

图7.2用户信息

7.1.2调试和运行程序如下:

进入系统,如图7.3所示:

图7.3登陆界面

用户登录:

输入用户名和密码,档案表中数据为:

用户名as,密码:

as,权限为管理员,当输入有误时,情况如图7.4:

如图7.4

输入正确时,如图7.5:

图7.5用户登陆成功

单击确定,进入系统,拥有管理员权限,对各项需求功能实现如图7.6所示:

(a)(b)

(c)(d)

图7.6主界面功能图

7.1.2.1员工信息管理功能

每个部门的员工各种信息的添加,修改,删除,包括员工的基本信息、学历信息、职称等信息,以及查看符合各种条件的员工部分与总体信息;需求实现如下:

添加员工,如图7.7所示:

(a)(b)

图7.7添加员工窗口

点击员工信息查看,如图7.8所示:

(a)(b)

图7.8员工信息查看

继续添加,若添加员工编号和已有的员工重复,则弹出提示框,如图7.9所示:

图7.9员工信息插入不成功

修改之后就可以添加成功,如图7.10所示:

图7.10员工信息插入成功

查看员工信息,如图7.11所示:

(a)(b)

图7.11员工信息查看

员工信息修改功能,如图7.12所示:

图7.12员工修改

检查员工信息是否修改成功,如图7.13所示:

(a)(b)(c)(d)

图7.13员工信息

说明已修改成功;

员工信息删除功能,如图7.14所示,弹出窗口,员工变动情况选择无,转出,将转出进行删除:

(a)(b)

(c)

(d)

图7.14员工删除过程

员工信息按条件查询,点击:

详细,教育学历,工作时间,以及工作变动,如图7.15所示:

(a)

(b)

(c)

(d)

(e)

(f)

(g)

图7.16员工信息查询

部门管理:

添加部门信息,包括部门编号、部门名称、部门经理、部门简介等信息;具有更新部门的功能,演示情况如下:

(部门中首先有一个经理,员工人数初值为1,部门信息更新后,员工人数可做相应修改)

点击信息查看和统计,如图7.17所示:

图7.17部门信息

点击部门信息更新,进入更新界面,选择部门,进行更新,完成后,点击“请点击查看所有部门”按钮,即可看到更新后的数据,如图7.18所示:

(a)(b)

(c)

图7.18员工信息更新

系统用户管理:

查看系统用户信息,包括用户名和用户类型(系统管理员和普通用户)等信息;

点击用户档案查询,如图7.19所示:

(a)(b)

图7.19用户档案查询

以上即所有功能的实现演示。

点击退出按钮,离开人事管理系统,如图7.20所示:

图7.20用户离开主界面

7.2应用程序编制

建立人事管理系统数据库,具体的SQL语句如下:

7.2.1数据库创建

createdatabasePMS

7.2.2基本表创建

建立员工表

usePMS

createtableemployee(

_namevarchar(10)notnull,

_novarchar(5)primarykeynotnull,

_sexvarchar

(2),

_callnumbervarchar(11),

dpt_novarchar(4),

_educationvarchar(10),

_positionvarchar(10),

_worktimedatetime,

infor_changevarchar(4),

foreignkey(dpt_no)referencesdepartment(dpt_no))

建立部门表

usePMS

createtabledepartment(

dpt_namevarchar(20),

dpt_managervarchar(5),

dpt_novarchar(4)primarykey,

dpt_countint,

dpt_abstractvarchar(200))

建立用户表

createtableUsers(

Users_namevarchar(10)primarykeynotnull,

Users_pwdvarchar(16),

_authorityint)

7.2.3视图编制

1)员工信息视图

createviewV_v1(_no,_name,_education)

as

select_no,_name,_education

fromemploye

2)员工部门信息视图

createviewv_v2(_no,_name,dpt_no)

as

select_no,_name,dpt_no

fromemployee

3)员工工作时间视图

createviewV_v3(_no,_name,_worktime)

as

select_no,_name,_worktime

fromemployee

4)员工工作信息视图

createviewV_v4(_no,_name,infor_change)

as

select_no,_name,infor_change

fromemployee

7.2.4存储过程成编制

1)员工信息查看

procedurepro_look

createprocedurepro_look

@nochar(5)

as

select*fromemployee

where_no=@no

2)部门总体信息

createprocedurepro_dpt_total_info

@nochar(4)

as

selectdepartment.dpt_no,employee._no,employee._name,department.dpt_count

fromemployee,department

whereemployee.dpt_no=department.dpt_noanddepartment.dpt_no=@no

Go

3)寻找对应学历条件的员工人数

createprocedurepro_count1

@countintoutput,@educationvarchar(10)

as

select@count=COUNT(*)fromV_v1

where_education=@education

4)寻找对应部门编号条件的员工人数

createprocedurepro_count2

@countintoutput,@dptnovarchar(4)

as

select@count=COUNT(*)fromV_v2

wheredpt_no=@dptno

5)寻找对应工作时间条件的员工人数

createprocedurepro_count3

@countintoutput,@worktmdatetime,@worktimmdatetime

as

select@count=COUNT(*)fromV_v3

where_worktimebetween@worktmand@worktimm

6)寻找对应工作变动条件的员工人数

createprocedurepro_count4

@countintoutput,@info_changevarchar(4)

as

select@count=COUNT(*)fromV_v4

whereinfor_change=@info_change

7)寻找员工总人数

createprocedurepro_count5

@countintoutput

as

selec

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2