【优质文档】人事管理系统681428711.pdf

上传人:白大夫 文档编号:5296813 上传时间:2020-04-03 格式:PDF 页数:11 大小:211.58KB
返回 下载 相关 举报
【优质文档】人事管理系统681428711.pdf_第1页
第1页 / 共11页
【优质文档】人事管理系统681428711.pdf_第2页
第2页 / 共11页
【优质文档】人事管理系统681428711.pdf_第3页
第3页 / 共11页
【优质文档】人事管理系统681428711.pdf_第4页
第4页 / 共11页
【优质文档】人事管理系统681428711.pdf_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《【优质文档】人事管理系统681428711.pdf》由会员分享,可在线阅读,更多相关《【优质文档】人事管理系统681428711.pdf(11页珍藏版)》请在三一文库上搜索。

1、人事管理系统数据库设计报告 目录 一 需 求 分 析.2 二 概念结构设计 5 三 逻辑结构设计 7 四 物理结构设计 .7 五 数据库的建立 8 六 实训小结 14 1.需求分析 1.1 人事管理系统的基本功能是管理员工的资料,管理员工考勤,管理员工薪资等 a)管理员工资料: 人事部成员负责管理和维护普通员工的资料。当员工第一次来公司报到 时,人事部将员工的基本资料(姓名、性别、出生年月日、电子邮件及所属部门等信息 录入到数据库中并可以进行修改和维护。普通员工可以查看自己和同事的资料,同时也 可以修改自己的部分信息) b)管理员工考勤: 员工必须按规定时间上下班,不能迟到或早退。有一名人事助

2、理专门负 责记录员工的上下班时间,如果一个员工在一个月迟到多于五次,则要扣除薪资。 人事 部可以管理考勤记录,员工可以查看自己的纪录,经理可以查看下属的纪录。 c)管理员工请假: 员工一年有一百个小时的年假。员工请假不得超过规定的小时数。员工 可以查看自己的年假小时数,查看本人某段时间的请假记录,提交请假申请。部门经理 可以查看下属的请假记录,批准/否决其请假申请。 d)管理员工薪资: 员工薪资有其他薪资和基本薪资组成,其他薪资包括有可能因为请假迟 到和缺勤扣除部分薪资。基本薪资由人事部经理决定和修改人事部负责每月根据员工的 请假记录和考勤记录,计算员工的本月薪资。普通员工可以查看自己本月薪资

3、明细,还 可以查看自己历史薪资记录。 e)员工养老保险: 员工每一年都要办保险一次,有效时间为一年,员工可查看自己是否办 理保险,输入员工保险编号只可以查看到自己的相关信息。 f)公司里的每个人可根据,员工姓名或员工编号来查看其员工职称名称和员工职务名称员 工职称编号和员工职务编号,今天是否在上班,或请假! 1.2 数据字典 数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,数据是进行 详细的数据收集和数据分析所获得的主要成果。数据项是不可分再分的数据单位。没有注明 的可为空员工信息表 字段名数据类型可否为空主键 员工编号int 否是 员工姓名char(20) 否否 员工性

4、别char(2) 可否 员工所属部门编号int 可否 员工职务编号int 可否 员工职务名称varchar(20) 可否 员工职称编号int 可否 员工职称varchar(20) 可否 员工电话char(20) 可否 员工电子邮件char(20) 可否 员工养老保险号int 可否 职务信息表 字段名数据类型可否为空主键 职务编号int 否是 职务名称varchar(20) 可否 职称信息表 字段名数据类型可否为空主键 职称编号int 否是 职称名称varchar(10) 可否 部门信息表 字段名数据类型可否为空主键 部门编号int 否是 部门名称char(10) 可否 部门经理编号int 可否

5、 部门描述varchar(50) 可否 员工薪资表 字段名数据类型可否为空主键 薪资编号int 否是 员工编号int 否否 基本薪资int 可否 其他薪资int 可否 薪资发放日期datetime 否否 员工请假表 字段名数据类型可否为空主键 请假申请编号int 否是 员工编号int 否否 开始时间datetime 否否 结束时间datetime 否否 申请状态char(20)可 否 审核者编号int否 否 员工考勤表 字段名数据类型可否为空主键 考勤编号int 否是 员工编号int 否否 到达时间datetime可否 记录者编号int可否 考勤类型char(4)否否 日期datetime否否

6、 养老保险信息表 字段名数据类型可否为空主键 养老保险号int 否是 时间datetime 可否 金额money 可否 1.3数据流是数据结果在系统内传输的路径 数据流描述 = 员工编号,来源客户的输入,利用SQL Server2005 出现存储起来然后根据客 户需求输出客户所要结果 1.4数据存储数据存储是数据停留或保留的地方,也是数据流的来源和去向之一 i.根据员工所提交的职工编号和薪资发放时间,查看该员工该月的薪资信息,包括员 工编号员工姓名、基本薪资、其他薪资和薪资发放时间。 ii.根据员工提交的员工编号,查看该员工所有请假信息,包括员工编号、员工姓名、 开始时间、结束时间、申请状态和

7、审核者编号。 iii.根据员工提交的员工编号和日期,查看该员工该日的考勤信息,包括员工编号、 员 工姓名、到达时间、记录者标号、考勤类型和日期。 2.概念结构设计 2.1由上面的需求分析规划出的实体有:员工基本信息实体、部门基本信息实体、员工薪 资信息实体、员工请假信息实体和员工考情信息实体。 实体之间的联系如下: (1)每个员工只能在一个部门工作,每个部门可以有多个员工,员工和部门之间是多对 一的关系。 (2)每个员工只有一个职称,而一个职称可以对应多个员工,因此员工和职称之间是多 对一的关系。 (3)每个员工可以有多个职务,而每个职务可以让多个员工从事,所以员工与职务之间 是多对多的关系。

8、 (4)考虑到员工每个月的薪资可能会更换,一个员工可以有多个薪资信息,一个薪资信 息只属于一个员工,因此员工和薪资信息之间是一对多的关系。 (5)每个员工可以有多个请假信息,一个请假信息只属于一个员工,因此员工和请假信 息之间具有一对多的关系。 (6)考虑到每天的考勤情况可能不一样,一个员工可以有多个考勤信息,一个考勤信息 只属于一个员工,因此员工和考勤信息之间是一对多的关系。 (7)考虑到每个员工的养老保险金额可能会更换,一个员工可以有多个养老保险金额, 而一个养老保险金额只属于一个员工,因此员工和养老保险金额之间是一对多的关 系。 2.2根据以上设计得出其E-R 图如下: 3逻辑结构设计

9、把上述概念结构转换成数据模型,得人事管理系统中的关系模式如下: (1)员工信息表(员工编号、员工姓名、员工性别、员工所属部门编号、员工职务编号、 员工职务名称、员工职称编号、员工职称名称、员工电话、员工电子邮件、员工养 老保险号),主键为员工编号。 (2)职务信息表(职务编号、职务名称),主键为职务编号。 (3)职称信息表(职称编号、职称名称),主键为职称编号。 (4)部门信息表(部门编号、部门名称、部门经理编号、部门描述),主键为部门编号。 (5)员工薪资表(薪资编号、员工编号、基本薪资、其他薪资、薪资发放日期),主键为 部 门 员 工 部门编号部门名称部门经理 部门描述 属于 请假管理 请

10、假信息 考勤管理 计算工资 薪资信息 薪资编号 基本薪资 员工姓名 员工编号 员工电话 考勤信息 到达时间 考勤编号 请假编号申请状态开始时间 结束时间 n 1 1 n 1 n 1 n 员工性别 职称 职务 养老保险 员工电子邮件 从 事 职务编号职务编号 拥有 养老保险号 职务编号职务编号 职称编号 职称名称 属于 n m 1 n n 1 E-R 图 薪资编号。 (6)员工请假表(请假申请编号、员工编号、开始时间、结束时间、申请状态、审核者 编号) ,主键为请假申请编号。 (7)员工考勤表(考勤编号、员工编号、到达时间、记录者编号、考勤类型、日期),主 键为考勤编号。 (8)养老保险信息表(

11、养老保险号、时间、金额),主键为养老保险号。 4物理结构设计 4.1数据库物理设计阶段的任务是根据具体计算机系统(DBMS 和硬件等)的特点,为给定 的数据库系统确定合理的存储结构和存取方法。所谓的合理主要有两个含义:一个是要使物 理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度,主要体现在后 者。 (1)建立索引: a)对表在属性列上建非聚焦立索引 b)对表在属性列上建非聚焦立索引 c)对表在属性列上建非聚焦立索引 d)对表在属性列上建非聚焦立索引 e)对表在属性列上建非聚焦立索引 f)对表在属性列上建非聚焦立索引 g)对表在属性列上建非聚焦立索引 h)对表在属性列上建非聚

12、焦立索引 (2)存储过程需求设置: (1)根据员工所提交的员工编号,查看该员工的基本信息,包括姓名、性别、所属部门 编号、电话、电子邮件、养老保险编号。 (2)根据员工所提交的职工编号和薪资发放时间,查看该员工该月的薪资信息,包括员 工编号员工姓名、基本薪资、其他薪资和薪资发放时间。 (3)根据员工提交的员工编号,查看该员工所有请假信息,包括员工编号、员工姓名、 开始时间、结束时间、申请状态和审核者编号。 (4)根据员工提交的员工编号和日期,查看该员工该日的考勤信息,包括员工编号、员 工姓名、到达时间、记录者标号、考勤类型和日期。 (5)根据员工所提交的员工编号,查看该员工的工作简介,包括员工

13、的姓名、职务和职 称。 (6)根据员工所提交的养老保险号,查看该员工的养老保险信息,包括员工姓名、保险 时间、保险金额。 (3) 视图设置: 为公司内部员工提供所有员工的基本信息,当公司内部员工查询时可以根 据视图快速的查询所需信息不需要查看很多表,视图是从一个或几个表导出的表。是一个 虚表,建立了表之间的关系把相应的表联系起来了! 员工根据根据输入员工姓名 . 员工所属部门编号. 员工职位 . 部门名称 . 员工电话或员工电 子邮件查看员工相应的信息。 4.2触发器设置: (1)在员工信息表上建立触发器,当员工信息表中的员工编号被修改时,员工薪资表 员工请假表员工考勤表中的员工编号也被修改。

14、 (2)在部门信息表上建立触发器,当部门信息表中的部门编号被修改时,员工信息表中 的员工所属部门编号也被修改。 (3)在职务信息表上建立触发器,当职务信息表中的职务编号被修改时,员工信息表中 的职务编号也被修改。 (4)在职称信息表上建立触发器,当职称信息表中的职称编号被修改时,员工信息表中 的职称编号也被修改。 (5)在养老保险信息表上建立触发器,当养老保险信息表上的养老保险号被修改时,员 工信息表中的养老保险号也被修改。 5数据库的建立 5.1 创建数据库 CreateDatabase人事管理系统 On ( Name=人事管理 DAT, Filename=人事管理 DAT.MDF, Siz

15、e = 3 , Maxsize=20 , Filegrowth=2) Logon ( Name=人事管理 log , Filename=人事管理 LOG.LDF, Size =1, Maxsize=20 , Filegrowth=2) 5.2 创建数据表文件 1.Createtable员工信息表 ( 员工编号int, 员工姓名char ( 20 ), 员工性别char( 2),员 工所属部门编号int, 员工职务编号int, 员工职称编号int, 员工职称varchar( 20 ), 员工 电话char( 20 ), 员工电子邮件char( 20 ), 员工养老保险号int); 2.Creat

16、etable职务信息表 ( 职务编号int, 职务名称varchar( 20 ), 职务所属部门编号int); 3. Createtable职称信息表 ( 职称编号 int, 职称名称varchar( 20 ); 4. Createtable员工薪资表 ( 薪资编号int, 员工编号 int, 基本薪资int, 其他薪资int, 薪资发放日期Datetime); 5. Createtable员工考勤表 ( 考勤编号int, 员工编号 int, 到达时间datetime, 记录者编 号 int, 考勤类型char( 4),日期 Datetime); 6. Createtable员工请假表 ( 请

17、假申请编号int, 员工编号int, 开始时间Datetime, 结 束时间Datetime, 申请状态char( 20 ), 审核者编号int); 7. Createtable部门信息表 ( 部门编号int, 部门名称char( 10 ), 部门描述varchar( 50 ),部门经理编号int); 8. Createtable养老保险信息表( 养老保险号int, 时间datetime, 金额money ) 5.3 存储过程设计 1. Use 人事管理系统 Go Createprocedure lookinformation / 存储过程 lookinformation:根据员工提交的员工编

18、号,查看该员工的基本信息, 包括姓名、性别、所属部门编号、电话、电子邮件、养老保险编号./ id int As Select员工姓名 , 员工性别 ,员工所属部门编号, 员工电话 , 员工电子邮件, 员工养老保险 号From 员工信息表Where员工编号 =id ; 2. Use 人事管理系统 Go Createprocedure lookduty / 存储过程 lookduty:根据员工提交的员工编号和日期,查看该员工该日的考勤信息,包括员 工编号、员工姓名、到达时间、记录者编号、考勤类型和日期./ id int, time datetime As Select员工考勤表 . 员工编号 ,

19、员工姓名 , 到达时间 , 记录者编号 , 考勤类型 , 日期 From员工信息表 , 员工考勤表Where员工信息表 . 员工编号 =员工考勤表 . 员工编号 And员工信息表 . 员工编号 =id and日期 =time ; 3.Use人事管理系统 Go Createprocedure lookvacation / 存储过程 lookvacation:根据员工提交的员工编号,查看该员工所有请假信息, 包括员工编号、员工姓名、开始时间、结束时间、申请状态和审核者编号./ id int As Select员工请假表 . 员工编号 , 员工姓名 , 开始时间 , 结束时间 , 申请状态 , 审核

20、者编号 From员工信息表 , 员工请假表Where员工信息表 . 员工编号 =员工请假表 . 员工编号 And员工信息表 . 员工编号 =id ; 4.Use人事管理系统 Go Createprocedure lookwage / 存储过程 lookwage:根据员工所提交的薪资编号和薪资发放日期,查看该员工该月的薪资信 息,包括员工编号、员工姓名、基本薪资、其他薪资和薪资发放日期./ id int, time datetime AS Select员工薪资表 . 员工编号 , 员工姓名 , 基本薪资 , 其他薪资 , 薪资发放日期 From员工信息表 , 员工薪资表Where员工信息表 .

21、员工编号 =员工薪资表 . 员工编号 And薪资编号 =id and薪资发放日期 =time ; 5.Use人事管理系统 Go Createprocedure lookwork / 存储过程 lookwork:根据员工所提交的员工编号,查看该员工的工作简介,包括员工的姓 名、职务和职称/ id int As Select 员工信息表 . 员工姓名 , 职务名称 , 职称名称 From 员工信息表 , 职务信息表 , 职称信 息表Where 员工编号 =id ; 6.Use人事管理系统 Go Createprocedure lookinsurance / 存储过程 lookinsurance :

22、根据员工所提交的养老保险号,查看该员工的养老保险信息,包括 员工姓名、保险时间、保险金额/ id int As Select员工信息表 . 员工姓名 , 时间 , 金额 From 员工信息表 , 养老保险信息表Where 养老保 险号 =id ; 5.4 触发器设计 1.Use人事管理系统 Go Createtrigger departid on部门信息表 / 触发器 departid:当部门信息表中的部门编号被修改时,员工信息表中的员工所属部门编号 也被修改 ./ Forupdate As Begin Update员工信息表 Set员工信息表 . 员工所属部门编号=( select部门编号f

23、rom inserted) Where员工信息表 . 员工所属部门编号=( select部门编号from deleted) End ; 2.Use人事管理系统 Go Createtrigger worerid on员工信息表 / 触发器 workerid:当员工信息表中的员工编号被修改时,员工薪资表、员工请假表和员工考 勤表中的员工编号也被修改./ Forupdate As Begin Begin Update员工薪资表 Set员工薪资表 . 员工编号 =( select员工编号frominserted) Where员工薪资表 . 员工编号 =( select员工编号from deleted)

24、 Update员工请假表Set 员工请假表 . 员工编号 =( select员工编号from inserted) Where员工请假表 . 员工编号 =( select员工编号from deleted) Update员工考勤表 Set员工考勤表 . 员工编号 =( select员工编号from inserted) Where员工考勤表 . 员工编号 =( select员工编号from deleted) End End; 3.Use人事管理系统 Go Createtrigger workpost on职务信息表 / 触发器 workpost:当职务信息表中的职务编号被修改时,员工信息表中的员工职

25、务编号也被 修改 ./ Forupdate As Begin Update员工信息表 Set 员工信息表 . 员工职务编号=( select职务编号from inserted) Where员工信息表 . 员工职务编号=( select职务编号from deleted) End ; 4.Use人事管理系统 Go Createtrigger worktitle on职称信息表 / 触发器 workpost:当职称信息表中的职称编号被修改时,员工信息表中的员工职称编号也被 修改 ./ Forupdate As Begin Update员工信息表 Set员工信息表 . 员工职称编号=( select职

26、称编号from inserted) Where员工信息表 . 员工职称编号=( select职称编号from deleted) End ; 5.Use人事管理系统 Go Createtrigger workinsuranceon 养老保险信息表 / 触发器 work insurance : 当养老保险信息表中的养老保险号被修改时,员工信息表中的养老保 险号也被修改./ Forupdate As Begin Update员工信息表 Set员工信息表 . 员工养老保险号=( select养老保险号from inserted) Where员工信息表 . 员工养老保险号=( select养老保险号 f

27、rom deleted) End ; 5.5建立视图 Createview员工基本信息( 员工编号 , 员工姓名 , 员工性别 , 员工所属部门编号, 员工职务编 号, 员工职务名称, 员工职称编号, 员工职称名称, 员工电话 , 员工电子邮件 , 员工养老保险号) AsSelect员工编号 , 员工姓名 , 员工性别 , 员工信息表 . 员工所属部门编号, 员工信息表 . 员工 职务编号 , 员工信息表 . 员工职务名称, 员工信息表 . 员工职称编号, 员工信息表 . 员工职称 , 员工 电话 , 员工电子邮件, 员工养老保险号From员工信息表 , 部门信息表 , 职务信息表 , 职称信

28、息表 , 养老保险信息表Where员工信息表 . 员工所属部门编号=部门信息表 . 部门编号 and 员工信息表 . 员工职称编号=职称信息表 . 职称编号 and员工信息表 . 员工职务编号=职务信息表 . 职务编号 and 员工信息表 . 员工养老保险号=养老保险信息表. 养老保险号 WITHCHECK OPTION; 六实训小结 通过本次实训, 加深了对数据库的理解,提高了对数据库应用程序的设计能力,学会了 如何利用数据库语言设计出所要的数据库。主要目的是通过计算机对企业员工的各种信息进 行管理和维护。作为计算机应用的一部分,使用计算机对人事信息进行管理,拥有着手工管理 所无法比拟的优点.例如 :检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、 成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理, 与世界接轨的重要条件。 具体分工工作: 需 求 分 析由黄烨廖祯做 概念结构设计由陈娇谢翔做 逻辑结构设计、物理结构设计由简兵兵做 数据库的建立由廖祯陈娇做

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1