《人事管理系统-数据库课程设计资料(共26页).doc》由会员分享,可在线阅读,更多相关《人事管理系统-数据库课程设计资料(共26页).doc(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上数据库系统原理课程设计报告设计题目 人事管理系统 学 号 4 姓 名 田 飞 飞 成 绩 评 语: 二零一六年十二月 目录 专心-专注-专业1 系统开发概述1.1系统开发背景在知识经济大环境下,技术的竞争、市场的竞争、服务的竞争最后归结于人才的竞争,企业的内部管理与运营措施由此发生了巨大的变化,以人为本理念深入人心,人事管理在各个单位中的功效日益突出,被置于企业管理中的首要位置。随着科学技术的逐步发展与计算机科学的日益成熟,人事工作者非常希望把人事管理中比较繁琐的工作交给计算机处理,降低人工管理的压力并提升工作效率,于是各种形式的人事管理系统应运而生。目前国内的人事管
2、理系统基本还处在人事信息方面的管理系统阶段,对于“人力资源”的研发尚没有实质启动,主要是根据人员的信息及考勤方面管理等功能,过分强调“人”的管理,缺少人事相关信息的整体性、系统性。人事管理的整体框架体系仍没有创建起来,仍有许多的功能需要进一步研发与优化。现有的人事管理系统模块间相矛盾或不协同,很难有效发挥人力资源管理系统预期效能。人事信息的一个明显特征就是数据量大、关系复杂,利用传统人工的措施管理文件档案,效率低、保密性差,查找、修改、维护也极为困难,人事工作者因为缺乏适用软件支持,工作上存在诸多不便。国外企业关于人事信息的管理,企业的人事管理部门或者劳动保障部门也创建了自己的人力资源管理系统
3、,用于实现企业内部的人力资源或者劳动管理。无论人才流动到哪里,在人们进行求职、贷款以及办理保险之时,具备查阅权限的机构都能够查阅该人的信息,以衡量为该人办理有关手续的潜在风险,或者是否可以录用。国内软件行业在研发人事管理系统过程中,并不缺少先进的人事管理理念,然而,却非常缺乏如何把先进的管理理念转化成适合中国企业特征的技术手段、途径,没有形成一套成熟、稳定的研发人事系统的实践及工作流程,很难合并成为系统化的人事管理信息系统。现阶段人事管理系统主要涉及档案管理,交互性较差,创建一套具备较高起点的人事数据库管理系统势在必行。因此,决定对人事管理方面开展信息化改造,推动人事管理工作的规范化及科学化,
4、让企业整体信息化水平迈上新的台阶,因而提升整体管理水平。1.2系统功能需求分析作为人事管理系统,其功能、安全、稳定性和可管理性十分关键,必须符合人事管理需求。但是,目前流行的人事管理系统所具有的功能及利用的研发技术,远远不能应对人事管理需要。在功能方面,现有的人事管理类系统大多数是请假考勤、借助网上布置工作任务、收发文等;在技术方面,这类人事管理系统所利用的研发技术,降低了系统研发效率和可维护性。所以,研发功能符合人事管理实际环节以及易于维护、扩展的应用系统,成为当务之急。 该系统需要完成如下功能:1.实现部门、职务、学历等信息的管理;2.实现职工信息的管理;3.实现职工学习经历和任职经历的管
5、理;4.实现奖惩信息的管理;5. 员工各种信息的输入,包括员工的基本信息、学历信息、职称,员工各种信息的修改;6. 按照一定的条件,查询、统计符合条件的员工信息;至少应该包括每个员工详细信息的查询、按学历查询、按工作岗位查询等,至少应该包括按学历、参加工作时间等统计各自的员工信息;7.创建视图查询各职工的员工号、姓名、部门、工资信息;8.创建存储过程查询各部门各种职称的职工数量;9. 创建触发器当增加、删除职工和修改职工部门信息时自动修改相应部门的职工人数;10. 建立数据库相关表之间的参照完整性约束。系统总体功能模块包括员工基本情况、工作部门信息、员工学历信息、员工考勤状况、员工工资信息、员
6、工调动管理、员工奖惩管理、员工请假信息等8个模块,其模块结构如下: 1.3系统性能需求分析运行环境:CPU:1.4G以上。内存:512M上。硬盘:需要128M以上空间操作系统:Windows操作系统(Win2000/WinXP/Win2003及以上)数据库系统:SQLServer大型数据库数据库在各种信息系统中得到广泛的应用,数据在信息系统中的价值越来越重要,数据库系统的安全与保护成为一个越来越值得关注的方面。数据库系统中的数据由DBMS统一管理与控制,为了保证数据库中数据的安全、完整和正确有效,要求对数据库实施保护,使其免受某些因素对其中数据造成的破坏。1用户认证数据库系统不允许一个未经授权
7、的用户对数据库进行操作。用户标识与鉴别,即用户认证,是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自己的名字或身份,每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供机器使用权。对于获得上机权的用户若要使用数据库时,数据库管理系统还要进行用户标识和鉴定。用户标识和鉴定的方法有很多种,而且在一个系统中往往多种方法并用,以得到更强的安全性。常用的方法是用户名和口令。通过用户名和口令来鉴定用户的方法简单易行,但其可靠程度极差,容易被他人猜出或测得。因此,设置口令法对安全强度要求比较高的系统不适用。近年来,一些更加有效的身份认证技术迅速发展起来。例如使用某种计算机过程和函
8、数、智能卡技术,物理特征(指纹、声音等)认证技术等具有高强度的身份认证技术日益成熟,并取得了不少应用成果,为将来达到更高的安全强度要求打下了坚实的理论基础。2存取控制数据库安全性所关心的主要是DBMS的存取控制机制。数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,这主要通过数据库系统的存取控制机制实现。存取控制是数据库系统内部对已经进入系统的用户的访问控制,是安全数据保护的前沿屏障,是数据库安全系统中的核心技术,也是最有效的安全手段。在存取控制技术中,DBMS所管理的全体实体分为主体和客体两类。主体(Subject)是系统中的活动实体,
9、包括DBMS所管理的实际用户,也包括代表用户的各种进程。客体(Object)是存储信息的被动实体,是受主体操作的,包括文件、基本表、索引和视图等。数据库的完整性的基本含义是指数据库中数据的正确性、有效性和相容性,其主要目的是防止错误的数据进入数据库。正确性是指数据的合法性,例如数值型数据只能含有数字而不能含有字母。有效性是指数据是否属于所定义域的有效范围。相容性是指表示同一事实的两个数据应当一致,不一致即是不相容。数据库系统是对现实系统的模拟,现实系统中存在各种各样的规章制度,以保证系统正常、有序地运行。许多规章制度可转化为对数据的约束,对数据库中的数据设置某些约束机制,这些添加在数据上的语义
10、约束条件称为数据库完整性约束条件,简称“数据库的完整性”,系统将其作为模式的一部分“定义”于DBMS中。DBMS必须提供一种机制来检查数据库中数据的完整性,看其是否满足语义规定的条件,这种机制称为“完整性检查”。1.4系统数据流程分析2 数据库概念结构设计员工信息E-R图: 部门信息E-R图: 学历信息E-R图: 考勤信息E-R图: 工资信息E-R图: 调动信息E-R图: 请假信息E-R图: 奖惩信息E-R图: 总体E-R图:3 数据库逻辑结构设计1E-R图向关系模型的转换关系模型: 员工表(员工号,姓名,性别,民族,年龄,学历,部门号)部门表(部门号,部门名,部门经理)学历表(学历号,学历,
11、毕业时间,毕业院校,员工号)考勤表(考勤号,本月天数,请假天数,正常工作天数,员工号)工资表(工资编号,基本工资,罚款,起始时间,结束时间,发薪时间,员工号)调动表(调动编号,调动前部门,调动后部门,调动日期,员工编号)请假表(请假编号,开始时间,结束时间,请假天数,员工编号)奖惩表(奖惩编号,奖惩金额,奖惩日期,员工编号)4 数据库物理结构设计4.1数据库及数据表的创建4.1.1 数据库创建create database 人事管理系统on primary( name = 人事管理系统_data, filename=f:Sql Server人事管理系统_data.mdf, size=3MB,
12、maxsize=20MB, filegrowth=10%)log on( name = 人事管理系统_log, filename=f:Sql Server人事管理系统_data.ldf, size=512KB, maxsize=10MB, filegrowth=10%)4.1.2 数据表的创建1创建员工表2创建部门表3SQL语句创建学历表create table 学历表( 学历号 char(5) primary key, 学历 char(8) not null, 毕业时间 date , 毕业院校 char(10) not null, 员工号 char(10), constraint fk_员工
13、号 foreign key (员工号) references 员工表(员工号)4SQL语句创建考勤表create table 考勤表( 考勤号 char(8) primary key, 本月天数 int, 请假天数 int, 正常工作天数 int, 员工号 char(10) )5SQL语句创建工资表create table 工资表( 工资编号 char(8), 基本工资 money not null, 罚款 money, 起始时间 datetime, 结束时间 datetime, 发薪时间 datetime, 员工号 char(10) )6SQL语句创建调动表create table 调动表(
14、 调动编号 char(8), 调动前部门 char(10) not null, 调动后部门 char(10) not null, 调动日期 datetime, 员工编号 char(10)7SQL语句创建奖惩表create table 奖惩表( 奖惩编号 char(8), 奖惩金额 money, 奖惩日期 date, 员工编号 char(10)8SQL语句创建请假表create table 请假表( 请假编号 char(8), 开始时间 datetime, 结束时间 datetime, 请假天数 int, 员工编号 char(10)4.2数据完整性设计4.2.1主键约束的创建1调动表的主键约束2
15、工资表的主键约束alter table 工资表 add constraint 工资表_pk_工资编号 primary key(工资编号);3奖惩表的主键约束alter table 奖惩表 add constraint 奖惩表_pk_奖惩编号 primary key(奖惩编号);4请假表的主键约束alter table 请假表 add constraint 请假表_pk_请假编号 primary key(请假编号);4.2.2 DEFAULT约束的创建1将员工表的民族默认值设为汉2使用SQL语句为学历表添加默认约束alter table 学历表 add constraint 学历表_DF_学历
16、DEFAULT 本科 for 学历4.2.3外键约束的创建1为员工表创建外键约束2. 使用SQL语句分别为学历表,考勤表,工资表,调动表,奖惩表,请假表创建外键约束alter table 学历表add constraint 学历表_FK_员工号foreign key (员工号) references 员工表(员工号)4.2.4 UNIQUE约束的创建1.为奖惩表的奖惩日期设置唯一约束2.通过SQL语句为工资表设置唯一约束alter table 工资表add constraint 工资表_UQ_罚款 unique(罚款)4.2.5 CHECK约束的创建1为员工表的年龄字段创建检查约束2使用SQL
17、语句创建检查约束alter table 员工表add constraint CK_性别 check(性别 = 男 or 性别 =女) 4.3 索引的创建1. 为员工表的姓名字段创建一个索引create index 员工表_姓名_index on 员工表(姓名)2为考勤表创建一个索引 4.4 视图的创建1创建查询员工号,姓名,部门号,部门名的视图2. 创建查询员工号,姓名,毕业院校,工资编号和基本工资的视图 5 数据库的操作5.1数据操纵5.1.1表结构的修改1为学历表添加一个专业字段use 人事管理系统alter table 学历表add 专业 varchar(10)结果:2.将员工表的出生日
18、期字段删除use 人事管理系统alter table 员工表drop column 出生日期结果:5.1.2数据插入1.使用编辑前2百行插入数据2.使用SQL语句插入数据5.1.3数据更新1.将员工表林青的年龄改为28,部门号改为302使用SQL语句更新数据update 部门表set 部门经理 = 王达where 部门号 = 10;结果:5.1.4数据删除delete from 员工表where 员工号 = 9;结果:5.2 数据查询5.2.1单表查询1查询员工表的员工号,姓名,性别,学历,部门号select 员工号,姓名,性别,学历,部门号 from 员工表;结果:2.查询部门表的部门号,部
19、门名,部门经理;select 部门号,部门名,部门经理from 部门表结果:3.查询学历表学历号,学历,毕业院校Select 学历号,学历,毕业院校From 学历表结果:5.2.2多表查询1.两张表查询员工号,姓名,部门名,部门经理select y.员工号,y.姓名,b.部门名,b.部门经理from 员工表 as y join 部门表 as b on(y.部门号 = b.部门号)结果:2.三张表查询员工姓名,所在部门名,和毕业院校,学历select 姓名,部门名,毕业院校,x.学历from 员工表 y join 部门表 b on y.部门号 = b.部门号join 学历表 x on y.员工号
20、 = x.员工号结果:3.四张表查询员工姓名,所在部门经理,毕业时间,基本工资和发薪日期select 姓名,部门经理,毕业时间,基本工资,发薪时间from 员工表 y join 部门表 b on y.部门号 = b.部门号join 学历表 x on y.员工号 = x.员工号join 工资表 g on y.员工号 = g.员工号结果: 5.3 存储过程的创建1. 创建不带参数的存储过程USE 人事管理系统GoCREATE PROCEDURE p_学历表ASSELECT * FROM 学历表 WHERE 学历= 本科结果:2.创建带参数的存储过程CREATE PROCEDURE p_员工表_性别
21、性别 varchar(10)ASSELECT * FROM 员工表WHERE 性别 = 性别结果: 5.4 触发器的创建Create Trigger 工资表_Update On 工资表 for Update As if Update(基本工资) beginprint 执行触发器. end结果:6 总结在这两周的学习中,我终于体会到SQLServer2008的功能丰富,表达能力强,使用灵活方便,应用面广。虽然当中我遇到很多难题,但是最终我还是顺利地完成了此次工作。在设计中,我深知自己所掌握的知识还远远不够,掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没掌握好,而是光知道书
22、本上的知识是远远不够的,一定要把理论知识和实践结合起来。在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,增强了自己在数据库中应用SQL语言的灵活性。在学习过程中,我们对本学期所学的知识有了一个比较系统的认识和理解。进一步掌握了数据库的方法和技术,提高软件开发的实际能力,培养综合分析、解决问题的能力。从中到学到用,从用又到学,不断修改,不断进步。通过此次人事资源管理系统的数据库的课程设计,真正达到了学与用的结合,增强了我们对
23、数据库方面应用的理解,涉及了各方面的知识,大大扩展了我们的知识面,同时使我们学会了如何使用所学的知识去解决一些实际问题。对自己今后参与开发数据库系统积累了不少经验,通过这次课程设计,我收益颇丰,感受深刻。从中更好的理解知识,我觉得这样的课程设计特别有价值和实践意义。我相信经过不断地尝试和努力,我一定会有更多的收获和体验。知识不是知道、了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。把学到的知识应用到实践中去,多做多练,才可以把理论的精华发挥出来。参考文献1数据库系统概论(第三版)萨师煊、王珊 高等教育出版社,2000年8月2SQL Server入门很简单秦婧主编 清华大学出版社 2013年12月第一版3 数据库技术的历史及未来的发展趋势综述李大勇,时延鹏 2005,64数据库系统设计、实现与管理金名等著 清华大学出版社 2012年5月第八版5 数据库高级实例导航. 钟军 科学出版社2004年7月. 6 数据库开发经典案例解析 王晟,王松,刘强 北京.清华大学出版社.2005.7