《华东交通大学数据库课设(人事管理系统).doc》由会员分享,可在线阅读,更多相关《华东交通大学数据库课设(人事管理系统).doc(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date华东交通大学数据库课设(人事管理系统)华东交通大学课程设计任务书华东交通大学课程设计任务书姓名学号专业班级课设设计题目指导教师李正凡学 历职 称教授1目的按照关系型数据库的基本原理,综合运用所学的基本知识,以小组为单位,设计开发一个小型的管理信息系统。通过对一个实际问题的分析、设计与实现,将原理与应用相结合,使学生学会如何把书本上学到的知识用于解决实际问题,培养学生的
2、动手能力,另一方面,使学生能深入理解和灵活掌握教学内容。2设计内容和要求(包括原始数据、技术参数、条件、设计要求等)从发布的题目中选择一个(或自定选题),采用ASP.NET、SQL Server、VB(或VC、Java)等开发技术,设计和开发该系统。1) 完成基本的需求分析、概念结构设计和逻辑结构设计;2) 完成基本的系统设计和界面设计;3) 建立数据库,实现相应功能;4) 建立公共服务子系统;5) 建立基本帮助模块,对本系统的基本功能和使用方法等进行描述。3设计工作任务及工作量的要求(包括课程设计计算说明书(论文)、代码、运行软件等) 设计工作任务:1) 完成时间内容和要求的各项工作;2)
3、完善系统的完整性和安全性;3) 联调测试。工作量的要求:各小组每个成员均需完成独立的功能模块,并在各自提交的课设报告中体现出来。组长负责协调小组成员,最后联调成一个完善的系统。4主要参考文献1 王珊 萨师煊,数据库系统概论(第四版),高等教育出版社,2006.52 周立柱等译数据库管理系统原理与设计(第3版)清华大学出版社2004.33 施伯乐 丁宝康 汪卫数据库系统教程(.第2版)高等教育出版社2004.55设计成果形式及要求 1) 应用软件(能实际运行) 2) 课设报告6工作计划及进度 第19周完成所有工作。教研室主任审查意见: 签字:_ 年 月 日 目录一、引言31.1设计目的31.2开
4、发环境31.3人员及分工3二、概要设计42.1需求分析4项目设计的目的42.1.1技术可行性42.1.2效益可行性42.1.3功能需求分析4三、详细设计53.1设计思路53.2概念设计53.2.1模块分析63.3数据库概念结构设计:73.4数据库逻辑结构设计:103.5表设计113.6物理设计133.7安全性设计143.8创建工程143.8.1主窗体(用户界面)153.8.2主窗体菜单153.8.3公用模块153.9数据库实现163.10简单界面设计24四、存在的主要问题24五、课程设计小结25六、参考文献25一、引言1.1设计目的 现在企业规模日益巨大,需要处理的事务越来越多,繁复的人事管理
5、在人工条件下已经不能顺利的完成。所以需要机械化高校的模式管理。在企业中,人事管理工作是非常重要的一项工作,它负责整个企业的日常人事安排,人员的人事管理等,她能为了帮助企业解决现在面临的各种内部管理问题,高效的人事管理可以提高企业的市场竞争力,使企业具有更强的凝聚力和活力。为此,提高人事管理工作的效率,设计一套人事管理系统具有实际应用意义。 本次课设主要介绍了企业人事管理系统,它包括需求分析、概念结构设计和逻辑结构设计三个主要部分,主要实现对企业员工信息的规范化、系统化的管理。在需求分析中,主要内容为数据流图、数据字典(数据项、数据结构、数据流、数据存储);在概念结构设计中,构造出E-R图、总体
6、概念模型;在逻辑结构设计中主要工作就是将E-R图转换成关系模式。1.2开发环境本文以win 7系统,以SQLServer2008为开发工具,设计实现了一套简单的企业人事管理系统。二、概要设计2.1需求分析项目设计的目的实现企业人事管理系统化,规范化和自动化,从而达到提高人事管理的工作效率和工作质量的目的。整个系统应当操作简便,界面友好,维护简便。数据库要求运行稳定,执行速度快,数据安全性高。2.1.1技术可行性 人事管理系统主要涉及到对数据的读取和删改等操作,结合所需功能的简单操作。利用数据库相关知识和其他编程语言是可实现的。2.1.2效益可行性人工管理费时费力。人事管理系统投入可提高了工作效
7、率,保证了各项数据的准确性,避免了工作人员的流动造成的收据丢失等问题。2.1.3功能需求分析 支持企业高效率人事管理的日常业务,支持企业进行劳动人事管理及其相关方面的科学决策。 人事档案管理:户口状况、政治面貌、生理状况、合同管理等;1)对公司里所有员工进行统一编号;将每一位员工的信息保存在员工档案记录中。2)对新聘用的员工,将其信息加入到员工档案记录中;对于解聘的员工,将其信息从员工档案记录中删除。3)当员工的信息发生变动时,修改员工档案记录中相应的属性。考勤加班出差管理:加班、出差、请假、旷工等.对公司里所有员工的职务记录进行统一编号;登记员工调动前后的具体职务,以及调动时间。人事变动:新
8、进员工登记、员工离职登记、人事变更记录;新进员工登记、员工离职登记、人事变更记录。考核奖惩:对公司里所有员工的奖惩记录进行统一编号;登记员工奖惩的原因,所受奖惩类型,奖惩时间。奖惩制度、奖惩方案。员工培训:对公司里所有员工的培训记录进行统一编号;员工培训的开始时间,截止时间,员工培训期间的结果表 培训项目、培训考核。系统维护:如数据安全管理(含备份与恢复)、操作员管理、权限设置等。操作员管理、权限设置等。 具有数据备份和数据恢复功能。三、详细设计3.1设计思路(1) 针对给定的系统进行需求分析,设计系统结构图和系统功能模块图; (2) 针对需求分析,画出E-R图表示的概念模型,并将其转换为至少
9、满足3NF的关系模式,设计较为合理的数据库模式;(3) 系统中应能体现对数据库的保护(数据恢复、并发控制、安全性和完整性);(4) 系统应该有较为友好的用户界面;3.2概念设计在概念设计中首先要画好ER图,经过对系统的整体需求有了深刻了解之后,确定本企业人事管理系统的功能,基本框架如下图:系统功能模块3.2.1模块分析人事管理系统共包含职工登陆模块、职工奖惩登录模块、管理员登录模块、查询模块和更新模块五个模块。1.职工登陆模块: 模块内容:此模块包括职工姓名、职工编号的输入。 模块功能:通过运行此模块,匹配输入正确的姓名和编号密码进入系统。2.职工奖惩登陆模块:模块内容:此模块包括职工编号的输
10、入。模块功能:通过运行此模块,匹配输入正确的职工编号,则可进入奖惩查看页面。3. 管理员登录模块模块内容:此模块包括管理员登录帐号、密码的输入。模块功能:通过此模块,匹配的输入正确的管理员登录帐号和密码,则允许进入管理员操作页面。4.查询模块模块内容:此模块可以查看职工的详细信息和工资信息。 模块功能:通过此模块,职工与管理员都可以完成相应的查询工作。职工可以询自己的基本信息而管理员可以查询所有的职工信息。5.更新管理模块模块内容:此模块可以实现修改信息的功能。模块功能:此模块是对管理员应用的,管理员可以修改职工的个人信息等等。3.3数据库概念结构设计: 数据库概念结构设计是在需求分析的基础上
11、,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面描写的逻辑结构设计打下基础。用E-R图是描述数据实体关系的一种直观描述工具,所以本系统采用E-R图的方法进行数据库概念结构设计。概念设计1各实体的E-R图 档案资料编号姓名 用户资料实体ER图员工资料身份证号文化程度民族性别姓名出生日期编号住址电话岗位部门编号薪水 员工资料实体ER图部门资料编号名称职能定员部门资料实体ER图 岗位资料编号名称 岗位资料实体ER图员工调动记录现岗备注原岗现部原部门日期编号 员工调动记录实体ER图 员工培训编号时间评分 员工培训实体ER图奖惩制度编号原因记录类型奖惩制度实体ER图管理员账号管理员编号密码
12、管理员信息E-R图系统流程图系统E-R图 3.4数据库逻辑结构设计:将人事管理系统的E-R图转换为关系数据库的数据模型,其关系模式为:1档案(档案编号+员工姓名+部门号),其中档案编号为主键,部门号,员工姓名为外键。2员工资料(员工编号+姓名+性别+出生日期+民族+文化程度+身分证号+工资+电话+部门+岗位+住址+培训),其中员工编号为主键,部门号,岗位号,培训号为外键。3岗位(岗位编号+岗位名称+培训+调动记录),其中岗位编号为主键,培训号为外键。4部门(部门编号+部门名称+部门负责人+培训+奖惩+员工+职能),其中部门编号为主键,奖惩编号,员工编号,培训编号为外键。5培训(培训编号+培训名
13、称+岗位+员工+部门+培训时间+培训评分),其中培训编号为主键,岗位编号,员工编号,部门号为外键。6奖惩制度(奖惩编号+奖惩原因+奖惩记录+奖惩类型+员工+部门号),其中奖惩编号为主键,员工编号,部门号为外键。7调动记录(调动编号+原来部门+现在部门+原来岗位+现在岗位+调动日期+员工姓名+档案),其中调动编号为主键,部门编号,岗位编号,员工姓名,档案编号为外键。8员工拥有(档案编号+岗位编号+员工编号+调动编号)。9员工从属(员工编号+部门编号)10.员工处于(员工编号+培训编号+奖惩编号)。 3.5表设计根据需求分析,本系统后台数据库共分为6个表,以下分别给出各个数据库表的简单描述。1.
14、员工信息表该表存储用户基本信息,以供员工登陆密码验证。如下表:2. 考勤信息表该表存储员工考勤的基本信息。如下表:3. 人事变动信息表该表存储企业人事变动信息。如下表:4. 考核奖惩信息表 该表存储奖惩的基本信息。如下表:5. 员工培训信息表该表存储员工的培训信息。如下表:6.系统管理员信息表该表存储管理员的信息。如下表:1011调动生成(调动编号+员工编号+岗位编号+部门编号)。3.6物理设计(1) 建立索引:1对表 档案 在属性列 档案编号 建立聚集索引 2对表 员工资料 在属性列 员工编号 建立聚集索引 ,在属性列 身份证号 建立聚集索引3对表 培训 在属性列 培训评分 建立非聚集索引,
15、在属性列 培训编号 建立非聚集索引4对表 奖惩编号 在属性列 奖惩原因 建立非聚集索引,5对表 调动记录 在属性列 调动前岗位 建立非聚集索引,在属性列 调动后部门 建立非聚集索引,在属性列 员工编号 建立非聚集索引(2) 簇集的设置,数据库划分等簇是目录的集合,每个用户有一个关联的簇,用户可以访问所有目录的集合,簇是被提交的查询的最大范围,故在一定程度上,簇是特定用户所看到的“数据库”,因此可以根据簇集的划分来对数据库进行一个划分,整个中小型企业可以建立2大特定数据库,即员工系统和部门系统,员工系统可以在档案编号里面建立非簇集索引,部门系统可以在岗位编号里面建立非簇集索引,2个特定数据库通过
16、调动记录关系模式联系起来,构成整个人事管理系统。(3) 存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。 将日志文件和数据库对象(表、索引等)分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。所以,系统应将日志文件和数据文件存放在不同磁盘上。3.7安全性设计设置用户和角色,并为用户和角色设置访问权限,据此,我们设置了3个表:1 角色(即用户组)表:包括三个字段,编号,角色名,对该角色的描述; 2 用户表:包括三个或以上字段,编号,用户名,对该用户的描述,其它(如地址、电话等信息);3 权限
17、列表:该表记录所有要加以控制的权限,如查询、修改、删除、增加等,也包括三个字段,编号,名称,描述;1档案管理员(用户)对员工资料(角色)进行查询,更新,删除等权限(根据调动信息表);2部门负责人(用户)对员工资料(角色)进行查询;3员工(用户)对部门资料(角色)进行查询;4员工(用户)对员工资料(角色)进行查询,但是对其他员工资料没有权限;5部门负责人(用户)对部门资料(角色)查询,更新,删除;3.8创建工程包括:一个工程文件 (*.vbp )多个窗体文件 (*.frm) 标准模块文件 (*.bas)一个或多个ActiveX 控件 (*.ocx)一个资源文件( *.res)3.8.1主窗体(用
18、户界面)进入系统后,在系统主画面,你将看到一栏菜单栏,包括了系统的主要功能;有一些系统的常用功能。要执行某项功能,点菜单栏的相应菜单即可。主窗体是为了实现系统的集中管理,提供给用户简单、方便、美观的管理界面。如下图:3.8.2主窗体菜单包括系统的大部分主要的功能。系统设置:初始化数据库、备份与恢复数据库登陆窗口:登陆系统 员工基本信息:浏览数据中员工信息,可以添加,修改,删除、查询信息员工考勤信息:浏览数据库中的考勤信息,可以添加,修改,删除、查询信息员工考评信息:浏览数据库中的考评信息,可以添加,修改,删除、查询信息员工薪资管理:浏览数据库中的薪资信息,可以添加,修改,删除,查询信息3.8.
19、3公用模块在VB 中可以用公用模块来存放整个工程项目公用的函数、全局变量等。整个工程项目中的任何地方都可以调用公用模块中的函数,变量。这样可以极大的提高代码的利用效率。3.8.4用户管理模块 主要包括系统登录、数据信息的管理、系统工具、其他功能等功能模块。是系统的核心部分。3.9数据库实现1数据库,基表,视图的创建(1)在SQLselver 2008 创建数据库 CREATE DATEBASE RSGLXT(filename=C:Program FilesMicrosoft SQL Server 2008MSSQLDataSuperMarketdb.mdf,size=100MB,maxsize
20、=200MB,filegrowth=20MB)log on(name=SuperMarketlog,filename=C:Program FilesMicrosoft SQL ServerMSSQLDataSuperMarketdb.ldf,size=60MB,maxsize=200MB,filegrowth=20MB)(2)创建实体基本表使用如下语句创建档案表CREATE TABLE dbo.DAB(BH varchar(4) NOT NULL PRIMARY KEY,XM varchar(10) NOT NULL, )使用如下语句创建员工表CREATE TABLE dbo.YGB(BH v
21、archar(4) NOT NULL PRIMARY KEYSR date NULL,XM varchar(12) NOT NULL,XB varchar(2) NOT NULL,MZ varchar(10) NULL,WHCD varchar(10) NULL,XS varchar(6) NULL,SFZH nchar(20) NOT NULL,GW varchar(20) NOT NULL,BMBH varchar(4) NOT NULL,DH varchar(15) NULL,ZZ varchar(50) NULL,)使用如下语句创建部门表CREATE TABLE dbo.BMB(BH
22、varchar(4) NOT NULL PRIMARY KEY,MC varchar(15) NOT NULL,ZN varchar(50) NULL,DY varchar(4) NULL,)使用如下语句创建岗位表CREATE TABLE dbo.GWB(BH varchar(4) NOT NULL PRIMARY KEY,MC varchar(10) NOT NULL,)使用如下语句创建员工调动表CREATE TABLE dbo.YGDDB(BH varchar(4) NOT NULL PRIMARY KEY,RQ date NOT NULL,YBBH varchar(4) NOT NULL
23、,XBBH varchar(4) NOT NULL,YGBH varchar(4) NOT NULL,XGBH varchar(4) NOT NULL,BZ varchar(100) NULL,)使用如下语句创建用户培训表, 设编号为外键,并添加以置空值原则和级联原则的完整性约束CREATE TABLE dbo.YGPXB(BH varchar(4) NOT NULL PRIMARY KEY,SJ date NULL,PF varchar(2) NULL, FOREIGN KEY (BH) REFRENCES YGB(BH)ON DELETE SET NULLON UPDATE CASECAD
24、E)使用如下语句创建员工奖惩表 设编号为外键,并添加以置空值原则和级联原则的完整性约束CREATE TABLE dbo.YGJCB(BH varchar(4) NOT NULL PRIMARY KEY,YY varchar(100) NULL,LX varchar(20) NOT NULL,RQ date NULL, FOREIGN KEY (BH) REFRENCES YGB(BH)ON DELETE SET NULLON UPDATE CASECADE)(3)视图的创建*创建用于查询档案增删信息的视图*CREATE VIEW V_DAB_YGB ASSELECT XM AS 员工姓名YAB
25、.BH AS 员工编号DAB.RQ AS 档案增删日期FROM DAB ,YGB WHERE DAB.XM=YGB.XM*创建用于查询员工奖惩情况的视图*CREATE VIEW V_YCQGB_YGBASSELECT YGB.XM AS 员工姓名 YCQGB.RQ AS 奖惩日期 YCQGB.LX AS 奖惩类型 YCQGB.MC AS 奖惩名称FROM YCQGB,YGBWHERE YCQGB.YGBH=YGB.BH*创建用于查询员工调动情况的视图*CREATE VIEW V_BMB_GWB_DDJLB_YGBASSELECT BMB.MC AS 前部门名称 BMB.MCAS 后部门名称 Y
26、GB.XM AS 员工姓名 GWB.MC AS 前岗位名称 GWB.MCAS 后岗位名称 DDJLB.RO 调动日期FROM BMB, GWB, DDJLB , YGBWHERE DDJLB.YGBH=YGB.BH 员工编号 DDJLB.YBMBH=BMB.BH 部门编号 DDJLB.XBMBH=BMB.BH DDJLB.YGWBH=GWB.BH 岗位编号 DDJLB.XGWBH=GWB.BH*创建查询员工培训情况的视图*CREATE VIEW V_YGPXB_YGBAS SELECT YGPXB.MC AS 培训名称 YGPXB.KRQ AS 培训开始日期 YGPXB.JRQ AS 培训结束
27、日期 YGB.XM AS 员工姓名FROM YGPXB,YGBWHERE YGPXB.YGBH=YGB.BH 培训编号*创建查询部门内部管理情况的视图*CREATR VIEW V_BMB_YGB_GWBASSELECT YGB.XM AS 员工姓名 BMB.MC AS 部门名称 GWB.MC AS 岗位名臣FROM BMB,YGB,GWBWHERE YGB.BH=BMB.YGBH 部门编号 YGB.BH=GWB.YGBH 岗位编号2数据库的索引,安全性权限等(1)数据库的索引*在档案表上建立一个以档案编号为索引项的聚集索引*CREATE clustered INDEX IX_DAB ON DA
28、B (DAB.BH);*在调动记录上建立一个以员工编号,岗位编号,部门编号为索引号的非聚集索引*CREATE nonclustered INDEX IX_BH ON DDJLB (DDJLB.YGBH,DDJLB.GWBH,DDJLB.BMBH);*在员工资料表建立一个以员工身份证号为索引号的聚集索引*CREATE clustered INDEX IX_YGB ON YGB (SFZH);*在培训表建立一个以员工编号,培训评分为索引号的非聚集索引*CREATE nonclustered INDEX IX_PX ON PXB (BH,PF);*在奖惩制度表建立一个以员工编号,奖惩原因为索引号的非
29、聚集索引*CREATE nonclustered INDEX IX_JCZD ON JCZD (BH,YY);(2)安全性权限Dbo.dab(BH,XM,DIS),假设有管理员ADbo.ygb(BH,XM,DIS),假设有员工BDbo.bmb(BH,XM,DIS),假设有部门负责人CGRANT SELECT , UPDATE, DELETE ON Dbo.dab Dbo.ygb to A with grant option GRANT SELECT ON Dbo.ygb to BGRANT SELECT ON Dbo.bmb to BGRANT SELECT ,UPDATE ,DELETE O
30、N Dbo.bmb to C with grant option GRANT SELECT ON Dbo.dab ,Dbo.ygb to C3.10简单界面设计查询页面设计登陆页面设计四、存在的主要问题1、 各个成分之间的关系,以及整个数据库的功能的实现之间关系未能协调好,使得具体的功能难得以实现;2、在建立关系图的时候,由于每个表中的主码名称一样,但意义不统一,所以造成课设初期无法建立关系图。设计它们的E-R图,未能考虑到成分之间的完整性,我们曾经讨论过是用属性表示某个对象恰当,还是用实体集表示更为恰当;还分析了是否使用一般化。五、课程设计小结本小组由林聪、高扬两人组成负责开发人事管理系统,
31、之后在收集资料过程中,我上网下载,到图书馆检索,众多资料,纷繁复杂,通过学习的理论知识和广泛地资料分析我们制定了需求分析。由于初学数据库,掌握不是很深,感谢班级同学的帮助,大家一直互相帮助,互相分享一些心得和方法。本次开发过程中我体会到在实际系统开发和实现过程中学习和实践的重要性,它决定着系统开发的效率,甚至有时候它可以决定系统开发的成败。另一个重要体会是要加强创新意识,大胆采用一些新方法,可有效提高系统的效率,有时候甚至可以取得一些意想不到的效果。通过此次课程设计,我对Sql Server和Visual Studio2008的使用有了更进一步的了解。提高了动手能力、分析问题和解决问题的能力。我的一些知识运用的熟练程度得到了提高,进一步了解了数据库的结构特点和设计过程。使我深深体会到理论联系实际的重要性把所学得的知识融会贯通,增强了我对所学知识的实际操作能力。也培养了我独立思考,独立完成的能力。从而也在设计过程中得到了提高和锻炼。六、参考文献1 王珊 萨师煊,数据库系统概论(第四版),高等教育出版社,2006.52 周立柱等译数据库管理系统原理与设计(第3版)清华大学出版社2004.33 施伯乐 丁宝康 汪卫数据库系统教程(.第2版)高等教育出版社2004.5 4百度词条-
限制150内