人事管理系统681428711_第1页
人事管理系统681428711_第2页
人事管理系统681428711_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

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

4、职务名称varchar(20)可否员工职称编号int可否员工职称varchar(20)可否员工电话char(20)可否员工电子邮件char(20)可否员工养老保险号int可否职务信息表字段名数据类型可否为空主键职务编号int否是职务名称varchar(20)可否职称信息表字段名数据类型可否为空主键职称编号int否是职称名称varchar(10)可否部门信息表字段名数据类型可否为空主键部门编号int否是部门名称char(10)可否部门经理编号int可否部门描述varchar(50)可否员工薪资表字段名数据类型可否为空主键薪资编号int否是员工编号int否否基本薪资int可否其他薪资int可否薪资

5、发放日期datetime否否员工请假表字段名数据类型可否为空主键请假申请编号int否是员工编号int否否开始时间datetime否否结束时间datetime否否申请状态char(20)可否审核者编号int否否员工考勤表字段名数据类型可否为空主键考勤编号int否是员工编号int否否到达时间datetime可否记录者编号int可否考勤类型char(4)否否日期datetime否否养老保险信息表字段名数据类型可否为空主键养老保险号int否是时间datetime可否金额money可否1.3数据流 是数据结果在系统内传输的路径数据流描述=员工编号,来源客户的输入,利用SQLServer2005出现存储起

6、来然后根据客户需求输出客户所要结果1.4数据存储 数据存储是数据停留或保留的地方,也是数据流的来源和去向之一i. 根据员工所提交的职工编号和薪资发放时间,查看该员工该月的薪资信息,包括员工编号、员工姓名、基本薪资、其他薪资和薪资发放时间。ii. 根据员工提交的员工编号,查看该员工所有请假信息,包括员工编号、员工姓名、开始时间、结束时间、申请状态和审核者编号。iii. 根据员工提交的员工编号和日期,查看该员工该日的考勤信息,包括员工编号、员工姓名、到达时间、记录者标号、考勤类型和日期。2.概念结构设计2.1由上面的需求分析规划出的实体有:员工基本信息实体、部门基本信息实体、员工薪 资信息实体、员

7、工请假信息实体和员工考情信息实体。实体之间的联系如下:(1) 每个员工只能在一个部门工作,每个部门可以有多个员工,员工和部门之间是多对 一的关系。(2) 每个员工只有一个职称,而一个职称可以对应多个员工,因此员工和职称之间是多 对一的关系。(3) 每个员工可以有多个职务,而每个职务可以让多个员工从事,所以员工与职务之间 是多对多的关系。(4) 考虑到员工每个月的薪资可能会更换,一个员工可以有多个薪资信息,一个薪资信 息只属于一个员工,因此员工和薪资信息之间是一对多的关系。(5) 每个员工可以有多个请假信息,一个请假信息只属于一个员工,因此员工和请假信 息之间具有一对多的关系。(6) 考虑到每天

8、的考勤情况可能不一样,一个员工可以有多个考勤信息,一个考勤信息 只属于一个员工,因此员工和考勤信息之间是一对多的关系。(7) 考虑到每个员工的养老保险金额可能会更换,一个员工可以有多个养老保险金额, 而一个养老保险金额只属于一个员工,因此员工和养老保险金额之间是一对多的关 系。2.2根据以上设计得出其 E-R图如下:部门描述部门编号部门名称部门经理职称名称员工电子邮件员工性别员工电话员工姓名11属于员工编号薪资编号考勤编号nnin考勤信息薪资信息考勤管理计算工资11到达时间1基本薪资请假管理nnn养老保险请假信息职务编号职务编号职务编号职务编号申请状态请假编号开始时间结束时间养老保险号从事部门

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

10、表(请假申请编号、员工编号、开始时间、结束时间、申请状态、审核者 编号),主键为请假申请编号。(7)员工考勤表(考勤编号、员工编号、到达时间、 键为考勤编号。记录者编号、考勤类型、日期),主(8)养老保险信息表(养老保险号、时间、金额),主键为养老保险号。4 .物理结构设计4.1数据库物理设计阶段的任务是根据具体计算机系统(DBMS硬件等)的特点,为给定的数据库系统确定合理的存储结构和存取方法。所谓的合理主要有两个含义:一个是要使物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度,主要体现在后者。(1)建立索引:a)对表在属性列上建非聚焦立索引b)对表在属性列上建非聚焦立索引

11、c)对表在属性列上建非聚焦立索引d)对表在属性列上建非聚焦立索引e)对表在属性列上建非聚焦立索引f)对表在属性列上建非聚焦立索引g)对表在属性列上建非聚焦立索引h)对表在属性列上建非聚焦立索引(2) 存储过程需求设置:(1) 根据员工所提交的员工编号,查看该员工的基本信息,包括姓名、性别、所属部门 编号、电话、电子邮件、养老保险编号。(2) 根据员工所提交的职工编号和薪资发放时间,查看该员工该月的薪资信息,包括员 工编号、员工姓名、基本薪资、其他薪资和薪资发放时间。(3) 根据员工提交的员工编号,查看该员工所有请假信息,包括员工编号、员工姓名、 开始时间、结束时间、申请状态和审核者编号。(4)

12、 根据员工提交的员工编号和日期,查看该员工该日的考勤信息,包括员工编号、员 工姓名、到达时间、记录者标号、考勤类型和日期。(5) 根据员工所提交的员工编号,查看该员工的工作简介,包括员工的姓名、职务和职 称。(6) 根据员工所提交的养老保险号,查看该员工的养老保险信息,包括员工姓名、保险 时间、保险金额。(3) 视图设置:为公司内部员工提供所有员工的基本信息,当公司内部员工查询时可以根据视图快速的查询所需信息不需要查看很多表,视图是从一个或几个表导出的表。是一个虚表,建立了表之间的关系把相应的表联系起来了!员工根据根据输入 员工姓名员工所属部门编号员工职位部门名称员工电话或员工电 子邮件查看员

13、工相应的信息。4.2触发器设置:(1) 在员工信息表上建立触发器,当员工信息表中的员工编号被修改时,员工薪资表、 员工请假表、员工考勤表中的员工编号也被修改。(2) 在部门信息表上建立触发器,当部门信息表中的部门编号被修改时,员工信息表中 的员工所属部门编号也被修改。(3) 在职务信息表上建立触发器,当职务信息表中的职务编号被修改时,员工信息表中的职务编号也被修改。(4) 在职称信息表上建立触发器,当职称信息表中的职称编号被修改时,员工信息表中的职称编号也被修改。(5) 在养老保险信息表上建立触发器,当养老保险信息表上的养老保险号被修改时,员 工信息表中的养老保险号也被修改。5 数据库的建立5

14、.1创建数据库Create Database 人事管理系统On(Name=人事管理 DAT, File name=人事管理 DAT.MDF' , Size = 3 , Maxsize =20,Filegrowth =2)Log on(Name=人事管理 log , File name=人事管理 LOG 丄 DF' , Size =1 , Maxsize =20,Filegrowth =2)5.2创建数据表文件1. Create table 员工信息表(员工编号int ,员工姓名 char (20),员工性别 char ( 2),员 工所属部门编号 int ,员工职务编号int

15、,员工职称编号 int ,员工职称 varchar (20),员工 电话char (20),员工电子邮件 char (20),员工养老保险号int );2. Createtable职务信息表(职务编号int ,职务名称 varchar ( 20),职务所属部门编号int );3. Create table职称信息表(职称编号int ,职称名称 varchar ( 20 );4. Create table员工薪资表(薪资编号int ,员工编号int ,基本薪资int ,其他薪资int ,薪资发放日期Datetime );5. Createtable员工考勤表(考勤编号int ,员工编号int ,

16、到达时间 datetime ,记录者编号 int ,考勤类型 char (4),日期 Datetime );6. Createtable员工请假表(请假申请编号int ,员工编号int ,开始时间 Datetime ,结束时间 Datetime,申请状态 char (20),审核者编号 int );7. Create table 部门信息表(部门编号int ,部门名称 char ( 10),部门描述varchar ( 50),部门经理编号 int );8. Create table养老保险信息表(养老保险号 int ,时间datetime ,金额 money )5.3存储过程设计1. Use人

17、事管理系统Go Create procedurelook in formati on/存储过程look in formatio n:根据员工提交的员工编号,查看该员工的基本信息,包括姓名、性别、所属部门编号、电话、电子邮件、养老保险编号./id intAs Select 员工姓名,员工性别,员工所属部门编号,员工电话,员工电子邮件,员工养老保险 号From员工信息表Where 员工编号=id ;2. Use人事管理系统Go Create procedure lookduty/存储过程lookduty:根据员工提交的员工编号和日期,查看该员工该日的考勤信息,包括员工编号、员工姓名、到达时间、记录

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

19、姓名,开始时间,结束时间,申请状态,审核者编号From 员工信息表,员工请假表 Where员工信息表.员工编号=员工请假表.员工编号And员工信息表.员工编号=id ;4. Use 人事管理系统Go Create procedure lookwage/存储过程lookwage:根据员工所提交的薪资编号和薪资发放日期,查看该员工该月的薪资信息,包括员工编号、员工姓名、基本薪资、其他薪资和薪资发放日期./id int , time datetimeAS Select员工薪资表.员工编号,员工姓名,基本薪资,其他薪资,薪资发放日期From 员工信息表,员工薪资表 Where员工信息表.员工编号=员工

20、薪资表.员工编号And薪资编号=id and 薪资发放日期=time ;5. Use 人事管理系统Go Create procedure lookwork/存储过程lookwork:根据员工所提交的员工编号,查看该员工的工作简介,包括员工的姓名、职务和职称/id intAs Select员工信息表.员工姓名,职务名称,职称名称From 员工信息表,职务信息表,职称信息表Where员工编号=id ;6. Use 人事管理系统Go Create procedure look in sura nee/存储过程look in sura nce :根据员工所提交的养老保险号,查看该员工的养老保险信息,包

21、括 员工姓名、保险时间、保险金额/id intAs Select员工信息表.员工姓名,时间,金额From 员工信息表,养老保险信息表 Where养老保 险号=id ;5.4触发器设计1. Use 人事管理系统Go Create trigger departid on 咅部门信息表/触发器departid:当部门信息表中的部门编号被修改时,员工信息表中的员工所属部门编号也被修改./For update As Beg in Update员工信息表Set员工信息表.员工所属部门编号 =(select 部门编号from inserted)Where 员工信息表.员工所属部门编号 =(select 部门

22、编号 from deleted ) End ;2. Use 人事管理系统Go Create trigger worerid on 员工信息表/触发器workerid:当员工信息表中的员工编号被修改时,员工薪资表、员工请假表和员工考勤表中的员工编号也被修改./For update As Beg inBegi nUpdate员工薪资表 Set员工薪资表.员工编号=(select员工编号孑 fromin sertedWhere员工薪资表.员工编号=(select员工编号 fromdeleted)Update员工请假表Set员工请假表.员工编号=(select员工编号 fromin serted)Wh

23、ere员工请假表.员工编号=(select员工编号 fromdeleted)Update员工考勤表Set员工考勤表.员工编号=(select员工编号 fromin serted)Where员工考勤表.员工编号=(select员工编号 fromdeleted)EndEnd;3. Use 人事管理系统Go Create trigger workpost on 职务信息表/触发器workpost:当职务信息表中的职务编号被修改时,员工信息表中的员工职务编号也被修改./For update AsBegin Update员工信息表 Set员工信息表.员工职务编号 =(select职务编号 fromins

24、erted) Where 员工信息表.员工职务编号 =(select职务编号 from deleted ) End ;4. Use 人事管理系统Go Create trigger worktitleon 职称信息表/触发器workpost:当职称信息表中的职称编号被修改时,员工信息表中的员工职称编号也被修改./For update AsBegin Update员工信息表 Set 员工信息表.员工职称编号 =(select 职称编号 frominserted) Where 员工信息表.员工职称编号 =(select职称编号 from deleted ) End ;5. Use 人事管理系统Go Create trigger work in sura nee on 养老保险信息表/触发器work in sura nee :当养老保险信息表中的养老保险号被修

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论