人事管理系统-数据库课程设计资料_第1页
人事管理系统-数据库课程设计资料_第2页
人事管理系统-数据库课程设计资料_第3页
人事管理系统-数据库课程设计资料_第4页
人事管理系统-数据库课程设计资料_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

精品文档数据库系统原理课程设计报告设计题目 人事管理系统 学 号 311409030124 姓 名 田 飞 飞 成 绩 评 语: 二零一六年十二月 目录1 系统开发概述11.1系统开发背景11.2系统功能需求分析21.3系统性能需求分析31.4系统数据流程分析52 数据库概念结构设计53 数据库逻辑结构设计84 数据库物理结构设计94.1数据库及数据表的创建94.1.1 数据库创建94.1.2 数据表的创建94.2数据完整性设计124.2.1主键约束的创建124.2.2 DEFAULT约束的创建134.2.3外键约束的创建134.2.4 UNIQUE约束的创建144.2.5 CHECK约束的创建144.3 索引的创建154.4 视图的创建155 数据库的操作165.1数据操纵165.1.1表结构的修改165.1.2数据插入175.1.3数据更新175.1.4数据删除185.2 数据查询195.2.1单表查询195.2.2多表查询205.3 存储过程的创建215.4 触发器的创建226 总结23参考文献24 2欢迎下载。精品文档1 系统开发概述1.1系统开发背景在知识经济大环境下,技术的竞争、市场的竞争、服务的竞争最后归结于人才的竞争,企业的内部管理与运营措施由此发生了巨大的变化,以人为本理念深入人心,人事管理在各个单位中的功效日益突出,被置于企业管理中的首要位置。随着科学技术的逐步发展与计算机科学的日益成熟,人事工作者非常希望把人事管理中比较繁琐的工作交给计算机处理,降低人工管理的压力并提升工作效率,于是各种形式的人事管理系统应运而生。目前国内的人事管理系统基本还处在人事信息方面的管理系统阶段,对于“人力资源”的研发尚没有实质启动,主要是根据人员的信息及考勤方面管理等功能,过分强调“人”的管理,缺少人事相关信息的整体性、系统性。人事管理的整体框架体系仍没有创建起来,仍有许多的功能需要进一步研发与优化。现有的人事管理系统模块间相矛盾或不协同,很难有效发挥人力资源管理系统预期效能。人事信息的一个明显特征就是数据量大、关系复杂,利用传统人工的措施管理文件档案,效率低、保密性差,查找、修改、维护也极为困难,人事工作者因为缺乏适用软件支持,工作上存在诸多不便。国外企业关于人事信息的管理,企业的人事管理部门或者劳动保障部门也创建了自己的人力资源管理系统,用于实现企业内部的人力资源或者劳动管理。无论人才流动到哪里,在人们进行求职、贷款以及办理保险之时,具备查阅权限的机构都能够查阅该人的信息,以衡量为该人办理有关手续的潜在风险,或者是否可以录用。国内软件行业在研发人事管理系统过程中,并不缺少先进的人事管理理念,然而,却非常缺乏如何把先进的管理理念转化成适合中国企业特征的技术手段、途径,没有形成一套成熟、稳定的研发人事系统的实践及工作流程,很难合并成为系统化的人事管理信息系统。现阶段人事管理系统主要涉及档案管理,交互性较差,创建一套具备较高起点的人事数据库管理系统势在必行。因此,决定对人事管理方面开展信息化改造,推动人事管理工作的规范化及科学化,让企业整体信息化水平迈上新的台阶,因而提升整体管理水平。1.2系统功能需求分析作为人事管理系统,其功能、安全、稳定性和可管理性十分关键,必须符合人事管理需求。但是,目前流行的人事管理系统所具有的功能及利用的研发技术,远远不能应对人事管理需要。在功能方面,现有的人事管理类系统大多数是请假考勤、借助网上布置工作任务、收发文等;在技术方面,这类人事管理系统所利用的研发技术,降低了系统研发效率和可维护性。所以,研发功能符合人事管理实际环节以及易于维护、扩展的应用系统,成为当务之急。 该系统需要完成如下功能:1.实现部门、职务、学历等信息的管理;2.实现职工信息的管理;3.实现职工学习经历和任职经历的管理;4.实现奖惩信息的管理;5. 员工各种信息的输入,包括员工的基本信息、学历信息、职称,员工各种信息的修改;6. 按照一定的条件,查询、统计符合条件的员工信息;至少应该包括每个员工详细信息的查询、按学历查询、按工作岗位查询等,至少应该包括按学历、参加工作时间等统计各自的员工信息;7.创建视图查询各职工的员工号、姓名、部门、工资信息;8.创建存储过程查询各部门各种职称的职工数量;9. 创建触发器当增加、删除职工和修改职工部门信息时自动修改相应部门的职工人数;10. 建立数据库相关表之间的参照完整性约束。系统总体功能模块包括员工基本情况、工作部门信息、员工学历信息、员工考勤状况、员工工资信息、员工调动管理、员工奖惩管理、员工请假信息等8个模块,其模块结构如下: 1.3系统性能需求分析运行环境:CPU:1.4G以上。内存:512M上。硬盘:需要128M以上空间操作系统:Windows操作系统(Win2000/WinXP/Win2003及以上)数据库系统:SQLServer大型数据库数据库在各种信息系统中得到广泛的应用,数据在信息系统中的价值越来越重要,数据库系统的安全与保护成为一个越来越值得关注的方面。数据库系统中的数据由DBMS统一管理与控制,为了保证数据库中数据的安全、完整和正确有效,要求对数据库实施保护,使其免受某些因素对其中数据造成的破坏。1用户认证数据库系统不允许一个未经授权的用户对数据库进行操作。用户标识与鉴别,即用户认证,是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自己的名字或身份,每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供机器使用权。对于获得上机权的用户若要使用数据库时,数据库管理系统还要进行用户标识和鉴定。用户标识和鉴定的方法有很多种,而且在一个系统中往往多种方法并用,以得到更强的安全性。常用的方法是用户名和口令。通过用户名和口令来鉴定用户的方法简单易行,但其可靠程度极差,容易被他人猜出或测得。因此,设置口令法对安全强度要求比较高的系统不适用。近年来,一些更加有效的身份认证技术迅速发展起来。例如使用某种计算机过程和函数、智能卡技术,物理特征(指纹、声音等)认证技术等具有高强度的身份认证技术日益成熟,并取得了不少应用成果,为将来达到更高的安全强度要求打下了坚实的理论基础。2存取控制数据库安全性所关心的主要是DBMS的存取控制机制。数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,这主要通过数据库系统的存取控制机制实现。存取控制是数据库系统内部对已经进入系统的用户的访问控制,是安全数据保护的前沿屏障,是数据库安全系统中的核心技术,也是最有效的安全手段。在存取控制技术中,DBMS所管理的全体实体分为主体和客体两类。主体(Subject)是系统中的活动实体,包括DBMS所管理的实际用户,也包括代表用户的各种进程。客体(Object)是存储信息的被动实体,是受主体操作的,包括文件、基本表、索引和视图等。数据库的完整性的基本含义是指数据库中数据的正确性、有效性和相容性,其主要目的是防止错误的数据进入数据库。正确性是指数据的合法性,例如数值型数据只能含有数字而不能含有字母。有效性是指数据是否属于所定义域的有效范围。相容性是指表示同一事实的两个数据应当一致,不一致即是不相容。数据库系统是对现实系统的模拟,现实系统中存在各种各样的规章制度,以保证系统正常、有序地运行。许多规章制度可转化为对数据的约束,对数据库中的数据设置某些约束机制,这些添加在数据上的语义约束条件称为数据库完整性约束条件,简称“数据库的完整性”,系统将其作为模式的一部分“定义”于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图向关系模型的转换关系模型: 员工表(员工号,姓名,性别,民族,年龄,学历,部门号)部门表(部门号,部门名,部门经理)学历表(学历号,学历,毕业时间,毕业院校,员工号)考勤表(考勤号,本月天数,请假天数,正常工作天数,员工号)工资表(工资编号,基本工资,罚款,起始时间,结束时间,发薪时间,员工号)调动表(调动编号,调动前部门,调动后部门,调动日期,员工编号)请假表(请假编号,开始时间,结束时间,请假天数,员工编号)奖惩表(奖惩编号,奖惩金额,奖惩日期,员工编号)4 数据库物理结构设计4.1数据库及数据表的创建4.1.1 数据库创建create database 人事管理系统on primary( name = 人事管理系统_data, filename=f:Sql Server人事管理系统_data.mdf, size=3MB, 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_员工号 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 调动表( 调动编号 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工资表的主键约束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_学历 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语句创建检查约束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.将员工表的出生日期字段删除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.查询部门表的部门号,部门名,部门经理;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.员工号 = 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_员工表_性别性别 varchar(10)ASSELECT * FROM 员工表WHERE 性别 = 性别结果: 5.4 触发器的创建Create Trigger 工资表_Update On 工资表 for Update As if Update(基本工资) beginprint 执行触发器. end结果:6 总结在这两周的学习中,我终于体会到SQLServer2008的功能丰富,表达能力强,使用灵活方便,应用面广。虽然当中我遇到很多难题,但是最终我还是顺利地完成了此次工作。在设计中,我深知自己所掌握的知识还远远不够,掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。在实验过程中,从

温馨提示

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

评论

0/150

提交评论