(论文)课程设计报告- 人事管理系统最新优秀毕业论文资料搜集呕血奉献_第1页
(论文)课程设计报告- 人事管理系统最新优秀毕业论文资料搜集呕血奉献_第2页
(论文)课程设计报告- 人事管理系统最新优秀毕业论文资料搜集呕血奉献_第3页
(论文)课程设计报告- 人事管理系统最新优秀毕业论文资料搜集呕血奉献_第4页
(论文)课程设计报告- 人事管理系统最新优秀毕业论文资料搜集呕血奉献_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

课程设计专用纸 目 录一、目的及要求 1 1.1、 课程设计目的 11.2、 开发环境及所选题目 11.3、 选题原因 11.4、 系统开发的重点和难点 1二、课程设计内容说明 22.1、需求分析 22.2、概念结构设计 52.3、逻辑结构设计 72.4、物理结构设计 82.5、数据库实施 11三、结论与体会 20一、目的及要求1.1 课程设计目的通过两周的课程设计,要求学生加深对数据库技术相关理论的理解,增强动手能力,掌握使用现行较为流行的数据库理论和数据库开发工具进行数据库管理操作(如建库、建立完整性约束,对数据库中数据进行查询,更改等操作)的方法;具体应用方面,要求学生对SQL语言要有较深入的了解和掌握,对数据库的管理(主要是安全性方面)要有一定程度的了解;设计的最终结果为学生设计和完成具有较完善功能和一定规模的数据库应用系统(后台),为此后的软件工程课程设计和毕业设计作准备。1.2 开发环境及所选题目开发环境:SQL Server 2000所选题目:人事管理系统1.3 选题原因人事管理系统是每个企业与公司必备的系统,应用最为广泛,一个好的人事管理系统应该能够给管理员带来极大的方便,同时也极大提高了管理人员的工作效率。所以我想选这个题目来考验下自己。人事在社会上普遍存在,所以我想在需求分析时应该会比较容易实现,这样更有利于系统的设计。我们以前任何设计时,与我们最接近的就是学生成绩管理或者是学生学籍管理,这次选人事管理系统也是由于它们有比较相近的地方。 1.4 系统开发的重点和难点系统出现了一些技术难点大致如下:1、建立合理的表结构,避免数据冗余 各表通过特定字段实现不同表的数据连接,避免数据冗余,需要设计简洁高效的表结构。2、建立相当的系统安全性管理员登录身份的验证机制设计、操作页面的权限保护。当然这虽然是前台的事,但设计时也应着重考虑。3、建立严密的数据表操作机制同一表有可能在多个模块中被修改,所以严密的数据表操作机制的建立十分比较困难的,但也是必须的。除了设计时必须有相当程度的考虑,在编制时更应加强程序逻辑的可靠性和程序调试的全面性。二、课程设计内容说明1. 需求分析l 问题陈述:信息技术为企业的发展提供了机遇,也带来了挑战。如何改良企业内部经营机制,公正,客观,全面,快捷地评估员工的业绩,实现以人为本的经营战略,提高人事管理工作的效率,使人事管理员有更多的精力去做人力资源分析,研究和开发工作,是企业立足发展,开拓未来,领先同行业的关键。本人事管理系统分为四个模块:管理员登录、员工基本信息管理、员工考勤信息管理、员工调动信息管理。其中管理员管理员工和部门,也可以查询员工岗位信息,员工调动信息以及员工的考勤信息,具有使用此系统的最高权限。l 系统所需完成的功能:本系统是为了更好的实现人事信息管理。员工基本信息管理可包括:(1) 员工资料管理:包括员工信息的添加,修改,删除(对于转出、辞职、辞退、退休员工信息的删除),查询等功能;员工信息包括编号、姓名、性别、生日、住址、学历、专业、进入本公司时间、E-mail等。备注:删除时对于转出,辞职,辞退,和退休的员工要分情况删除。退休员工和其他原因离职的员工信息要保存在不同的表里以提高此系统的完善性。在添加时,应该注意添加时在岗位信息表里也应该有相应的信息添加以体现此系统的智能性。(2) 员工资料查询:按编号、按姓名、按进入公司时间等进行查询。员工考勤信息管理可包括(1)考勤信息管理:包括请假、加班、出差信息的添加,修改,删除3个功能。(2) 对考勤信息的查询:按员工编号或时间查询考勤情况。员工调动信息管理可包括:(1) 员工调动信息管理:包括员工调动信息的添加,修改,删除3个功能;员工调动信息包括原有部门、原有职务、新部门、新职务等。在做此模块时应注意各个模块之间的联系,把实际中的情况都要考虑进去,以完备整个系统。比如添加和修改调动信息时应把岗位信息表里的内容也相应的进行改动,还要做些视图供管理员查询。(2) 员工调动信息查询:按某个员工的调动情况或某个时间范围内部调动情况等进行查询。l 数据字典员工基本信息表:主键:编号,Char(5),能否为空:否。 含义:每个员工都有一个与之唯一对应的公司给予的数字编号。岗位信息表:主键:员工编号,CHAR(5),能否为空:否。 含义:每个员工都有一个与之唯一对应的公司职位,编号 和岗位唯一对应。考勤信息表:主键:员工编号,CHAR(5),能否为空:否。 含义:公司需要考勤,每个员工都需要被考勤,每条考勤 信息都对应一个员工。调动信息表:主键:员工编号,CHAR(5),能否为空:否。 含义:有些员工需要调动,每条调动信息都对应一个员工。部门信息表:主键:部门名称,CHAR(20),能否为空:否。 含义:每个部门都有个唯一与之对应的名称,可以唯一标 此部门。管理员信息表:主键:账号,CHAR(10),能否为空:否。 含义:每个人事管理系统都要有管理员,每个管理员都 唯一一个账号。l 功能模块框架图人事管理信息系统 员工考勤管理管理员登录岗位信息表调动信息表员工考勤表察看调动视图员工调动管理察看岗位视图视图管理视图查询视图管理岗位信息添加考勤信息查询考勤信息删除考勤信息添加视图查询员工岗位管理岗位信息删除岗位信息修改调动信息添加调动信息修改调动信息查询图2.1.1功能模块框架图2. 概念结构设计编号姓名性别生日住址学历专业备注Email进入本公司时间配偶工作单位配偶姓名外语情况毕业学校毕业时间员工图2.2.1员工属性图员工编号岗位名称所属部门岗位 图2.2.2岗位属性图部门名称部门经理所属城市部门电话部门所属单位图2.2.3部门属性图姓名账号学历密码管理员住址性别所属单位 图2.2.4管理员属性图 员工编号原有部门所属职务调动时间调动新部门新职务图2.2.5信息属性图加班时间员工编号考勤出差地点请假原因请假结束时间请假开始时间 图2.2.6考勤属性图管理员 1 1管理2管理1 n n 调动员工 部门 n 1 1 n m执行 考勤2 所属 1 1 n 考勤1考勤岗位 n m图2.2.7全局E-R图3. 逻辑结构设计根据上面设计的E-R图和需求分析,可以设计下列几个表:员工基本信息表:编号,姓名,性别,生日,住址,学历,专业,进入本公司时间,Email,配偶姓名,配偶工作单位,毕业学校,外语情况,毕业时间,备注岗位信息表:员工编号,岗位名称,所属部门部门信息表:部门名称,部门电话,部门电话,部门经理,所属单位,所在城市管理远信息表:帐号,密码,姓名,性别,学历,住址,所属单位调动信息表:员工编号,原有部门,原有职务,新部门,新职务,调动时间考勤信息表:员工编号,请假原因,请假开始时间,请假结束时间,加班时间,出差地点,日期,所属部门退休员工信息表:编号,姓名,性别,生日,住址,学历,专业,进入本公司时间,Email,配偶姓名,配偶工作单位,毕业学校,外语情况,毕业时间,备注离职员工信息表:编号,姓名,性别,生日,住址,学历,专业,进入本公司时间,Email,配偶姓名,配偶工作单位,毕业学校,外语情况,毕业时间,备注备注:在退休员工信息表中,考虑到实际中公司可能不需要这么多属性,所以只有编号和姓名是有值的,其他都为空。还有就是两个表是另外的备份表在E-R图中并没有显示出来。4. 物理结构设计表2.4.1岗位基本信息表 列名 数据类型 可否为空 说明员工编号 Char(5) 否员工编号 岗位名称 Char(20) 可员工岗位名称 所属部门 Char(20) 可岗位所属部门表2.4.2员工基本信息表列名数据类型可否为空 说明 编号 CHAR(5) 否员工编号 姓名 CHAR(10) 否 员工姓名 生日 Varchar(50) 可 员工生日 住址 Varchar(100) 可 员工住址 学历 Char(10) 可 员工学历 专业 Char(20) 可 员工专业进入本公司时间 Varchar(20) 可加入公司日期 Email Varchar(20) 可 员工Email 配偶姓名 Char(10) 可 员工配偶姓名配偶工作单位 Varchar(30) 可员工配偶工作毕业学校 Varchar(20) 可 员工毕业学校 外语情况 Varchar(20) 可 员工外语情况 毕业时间 Varchar(20) 可 员工毕业时间 备注 Char(4) 可 员工在职情况表2.4.3部门信息表列名 数据类型 可否为空 说明 部门名称 Char(20) 否 部门名称 部门电话 Varchar(10) 可 部门电话号码 部门经理 Char(10) 可 部门经理姓名 所属单位 Char(20) 可所属单位名称 所在城市 Char(10) 可所在城市名称表2.4.4 调动信息表 列名 数据类型 可否为空 说明 员工编号 Char(5) 否 员工编号 原有部门 Char(20) 可 原有部门名称 原有职务 Char(20) 可 原有岗位名称 新部门 Char(20) 可 新部门名称 新职务 Char(20) 可 新职务名称 调动时间 Varcher(20) 可 调动日期表2.4.5考勤信息表 列名 数据类型 可否为空 说明员工编号char(5) 否 员工编号请假原因varchar(50)可 请假原因请假开始时间varchar(20)可请假开始时间请假结束时间varchar(20)可请假结束时间加班时间varchar(20)可加班时间出差地点char(10)可出差地点日期varchar(20)可日期所属部门char(20)可所属部门表2.4.6管理员信息表列名数据类型可否为空说明帐号char(10) 否管理员帐号密码char(10)可管理员密码姓名char(10)可管理员姓名性别char(2)可管理员性别学历char(10)可管理员学历住址varchar(100)可管理员住址所属单位char(20)可管理员所属单位语言环境:SQL Server 2000操作系统:Windows 2000 Server存储路径:数据存储在硬盘里表2.4.7 主要数据类型表符号含义符号含义INT长整数CHAR(N)N位定长字符串SMALLINT短整数VARCHAR(N)不超过N变长字符串REAL浮点数BIT(N)N位定长位串DOUBLEPRECISION双精度浮点数BIT VARYING不超过N位变长位串FLOATN位浮点数DATE日期:年:月:日Numberic(p,q)定宽,定小数位TIME时间:时:分:秒表2.4.8 主要语句命令表:语句说明语句说明Create创建表,视图和存储过程等Update更新表,视图和存储过程等Alter修改表,视图和存储过程等Delete删除表,视图和存储过程等5. 数据库实施l 表的创建员工基本信息表 create table 员工基本信息表(编号 char(5) not null unique, 姓名 char(10), 性别 char(2), 生日 varchar(50), 住址 varchar(100), 学历 char(10), 专业 char(20), 进入本公司时间 varchar(20), Email varchar(20), 配偶姓名 char(10), 配偶工作单位 varchar(30), 毕业学校 varchar(20), 外语情况 varchar(20), 毕业时间 varchar(20), 备注 char(4), constraint c1 check(备注 in(退休,在职,转出,辞退,辞职), constraint c2 check(性别 in(男,女);备注:本表将婚姻信息表和员工信息表合并一起了。还有上班信息表 被我删掉了。调动信息表create table 调动信息表(员工编号 char(5) not null unique, 原有部门 char(20), 原有职务 char(20), 新部门 char(20), 新职务 char(20), 调动时间 varchar(20);备注:本表反应了员工调动的信息,与岗位信息表紧密相连。考勤信息表create table 考勤信息表(员工编号 char(5) not null unique, 上班时间 varchar(20), 下班时间 varchar(20), 请假原因 varchar(50), 请假开始时间 varchar(20), 请假结束时间 varchar(20), 加班时间 varchar(20), 出差地点 char(10), 日期 varchar(20), 所属部门 char(20);备注:此表为了方便管理员调出最近考勤表来查看数据。l 在员工基本表里,我做了一个删除触发器和一个添加触发器。删除触发器create trigger save_del on 员工基本信息表for delete asbegin if (select 备注 from deleted)=退休begininsert 退休员工信息表select * from deletedupdate 退休员工信息表set 生日=NULL,住址=NULL,学历=NULL,专业=NULL, 进入本公司时间=NULL,Email=NULL,配偶姓名=NULL, 配偶工作单位=NULL,毕业学校=NULL,外语情况=NULL,毕业时间=NULLwhere 编号 in(select 编号 from deleted)endif (select 备注 from deleted) not in(退休,在职)begininsert 离职员工信息表select * from deletedenddelete from 考勤信息表where 员工编号 in(select 编号 from deleted)delete from 岗位信息表where 员工编号 in(select 编号 from deleted)delete from 调动信息表where 员工编号 in(select 编号 from deleted)end备注:此触发器是当删除员工时才能触发,但删除员工之前一定需将此元组中备注属性修改掉。可用此存储结构:(create procedure pro_update备注y1 char(5),y2 varchar(50)asupdate 员工基本信息表set 备注=y2where 编号=y1)修改掉属性备注后,再实施删除操作(代码略),同时将触发此触发器将岗位信息表,调动信息表以及考勤信息表里的相关信息全部删除,并会保留到另外的退休员工信息表或离职员工信息表。其实,我有个想法就是将此删除触发器改成修改触发器,即在将一元组备注属性修改掉后就触发自动将该元组删除,并牵连其他表中相关信息也删除。但在实际运用中可能会有些将备注属性误修改的人为误操作,我就不清楚该怎样才能避免这种误操作,所以由于水平与知识的欠缺就放弃了此想法,相信在以后的学习中会有些进步。 添加触发器 create trigger t_insert员工 on 员工基本信息表for insertasbegindeclare a char(5)set a=(编号 in(select 编号 from inserted)insert into 岗位信息表(员工编号) values(a)end 备注:此触发器比较简单,就是在实际运用中可以方便用户插入一个新的员工信息,同时不会忘记在其他表中建立与之相关的元组信息。不过添加到相关表中,只有一个主属性,其他非主属性皆为空,请用户自行输入。l 在调动信息表里,当添加和修改调动信息时也要有触发器来修改岗位信息表。在实际运用中这是必须的,很多公司和企业都需要这种自动化的添加与修改,方便而且不易出错。添加触发器create trigger t_insert调动信息 on 调动信息表for insertas declare a char(5),b char(20),c char(20)set a=(select 员工编号 from inserted)set b=(select 新部门 from inserted)set c=(select 新职务 from inserted)update 岗位信息表set 所属部门=b,岗位名称=cwhere 员工编号=a备注:通过插入存储过程可以触发添加触发器,存储过程如下:create procedure pro_insert调动信息y1 char(5),y2 char(20),y3 char(20),y4 char(20),y5 char(20),y6 varchar(20)asinsert into 调动信息表(员工编号,原有部门,原有职务,新部门,新职务,调动时间) values(y1,y2,y3,y4,y5,y6)修改触发器create trigger t_update调动信息 on 调动信息表for updateas declare a char(5),b char(20),c char(20)set a=(select 员工编号 from inserted)set b=(select 新部门 from inserted)set c=(select 新职务 from inserted)update 岗位信息表set 所属部门=b,岗位名称=cwhere 员工编号=a备注:从修改触发器我学到点东西,上面两个触发器,就关键字不同,其他都一样。很多同学都不会做修改触发器,因为触发器不能送参,只能通过两个逻辑表来实现。但是他们因为都忽略了一个重要的知识点:修改是先删除后添加。知道这个后就不难想象在逻辑表inserted里是有新修改的元组的,这就是我的一点小心得。同样此修改触发器也是通过存储过程实现的:create procedure pro_update调动信息y1 char(5),y2 char(20),y3 char(20),y4 char(20),y5 char(20),y6 varchar(20)asupdate 调动信息表set 原有部门=y2,原有职务=y3,新部门=y4,新职务=y5,调动时间=y6where 员工编号=y1l 在岗位信息表里,我做了添加,删除和修改的存储过程,举例如下:添加存储过程create procedure pro_insert岗位信息y1 char(5), y2 char(20), y3 char(20)as insert into 岗位信息表(员工编号,岗位名称,所属部门) values(y1,y2,y3)删除存储过程create procedure pro_delete岗位信息id char(5)asdelete from 岗位信息表where 员工编号=id这个存储过程是按编号删除的,其他类似,在此就不再赘述了!修改存储过程create procedure pro_update岗位信息y1 char(5),y2 char(20), y3 char(20)as update 岗位信息表set 岗位名称=y2,所属部门=y3where 员工编号=y1l 考勤信息表,在此举例:出差信息的修改,加班信息的添加和请假信息的删除。其他都基本相同,不做赘述!出差信息修改存储过程create procedure pro_update出差信息y1 char(10),y2 char(10)asupdate 考勤信息表set 出差地点=y2where 出差地点=y1加班信息的添加create procedure pro_insert加班信息y1 char(5),y2 varchar(20),y3 varchar(20),y4 varchar(50),y5 varchar(20),y6 varchar(20),

温馨提示

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

评论

0/150

提交评论