题目 人力资源管理系统 主要内容:
设计一个便于管理且高效的人力资源管理系统,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,达到提高企业员工的管理效率的目的。使用数据库建立人力资源管理系统将会极大地方便员工对工资明细的了解并简化财务管理人员和考勤记录的劳动量,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。
基本要求:
1、利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理;
2、在第18周末之前完成预设计,并请指导教师审查,通过后方可进行下一步工作;
3、本课题要求使用数据库技术实现项目中数据的查询、添加、修改和删除功能来完成系统的各项功能模块的实现。
主要参考资料:
[1] 萨师煊,王珊。数据库系统概论(第四版)[M]。北京:高教出版社,2006。 [2] 张哲。ASP数据库项目案例导航[M]。北京:清华大学出版社,2007,10 [3] 丁宝康,董健全.数据库实用教程[M]。北京:清华大学出版社,2001,06
[4] 萨师煊,王珊.数据库系统概论(第二版)[M].北京:高等教育出版社,2000,02
完 成 期 限: 指导教师签名: 课程负责人签名:
摘要
摘要
伴随着时代的进步,计算机已成为现代人不可或缺的生活必需品,对每个公司而言若采用一套行之有效的人力资源管理系统来管理企业员工的基本信息、考勤记录及工资的发放,会方便许多。以前单一的人工记录已经无法满足当下高速更替的员工流量。仅靠简单的查阅档案记录人员流动、个人考勤及最终的工资结算,不仅费时费力,而且极容易出错,往往是投入大量的人力物力却得不到满意的高效管理。为了便于企业员工的管理,需要有效的人力资源管理软件,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,达到提高企业员工的管理效率的目的。采用数据库技术生成的人力资源管理系统将会极大地方便员工对工资明细的了解并简化财务管理人员和考勤记录的劳动量,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。基于这个问题,开发了人力资源管理系统。实现了员工基本信息与工资考勤记录的高效性、有效性和及时性。本文设计和开发一个中小型人力资源管理系统的实践,阐述了人力资源管理系统软件中所应具有的基本功能、设计、实现。
关 键 字:员工考勤管理;人员管理;津贴结算;高效性
I
目录
目录
摘要 ....................................................... I 目录 ...................................................... II 第一章 概述 ............................................... 1 第二章 需求分析 ........................................... 2
2。1 需求分析和功能实现 .......................................... 2 2.2 需求分析阶段的目标与任务..................................... 2
2。2.1 处理对象 ...................................................... 2 2。2.2 处理功能及要求 ................................................ 3 2.2。3 安全性和完整性要求 ............................................ 3
2。3 需求分析阶段成果 ............................................ 4
2.3.1 工资管理系统业务流程图 ......................................... 4 2。3。2 工资管理系统数据字典 ......................................... 5
第三章 概念设计阶段 ....................................... 9
3.1 设计分析 ..................................................... 9 3。2 任务与目标 .................................................. 9 3。3 阶段结果 .................................................... 9
第四章 逻辑设计阶段 ...................................... 15
4.1 逻辑设计的任务和目标 ........................................ 15 4.2 数据组织 .................................................... 15
4。2。1 将E-R图转换为关系模型 ...................................... 15 4.2.2 数据库模式定义 ................................................ 16 4。2.3 用户子模式定义 ............................................... 19
II
目录
4。3 数据处理 ................................................... 21
第五章 物理设计阶段 ...................................... 23
5。1 物理设计阶段的目标与任务 .................................. 23 5。2 数据存储方面 ............................................... 23 5.3 系统功能模块 ................................................ 23
5。3.1 员工基本信息的查询和更新模块 ................................. 23
第六章 数据库实施阶段 .................................... 25
6.1 建立数据库、数据表、视图、索引 ............................. 25
6。1。1 建立工资管理系统数据库 ...................................... 25 6.1。2 建立数据表 ................................................... 25 6。1.3 建立视图 ..................................................... 29 6。1。4 建立索引 .................................................... 30 6.1。5 建立触发器 ................................................... 30
6.2 数据入库 .................................................... 31 6.3 创建各个功能的存储过程 ...................................... 31
第七章 系统调试和测试 .................................... 32
7.1 数据查看和存储过程功能的验证 ............................... 32 7。2 存储过程功能的验证: ....................................... 33
设计心得体会 .............................................. 35 参考文献 .................................................. 36
III
第一章 概述
第一章 概述
随着计算机的普及,现代化的各企业,不再单单依赖人工记录来实现员工的基本信息记录以及工资的结算,以往的单一检索已经不能满足当下人们的需求,无论是在公司人员流动上还是在最终的工资结算,过去传统的人工记录往往是投入大量的人力物力却得不到高效的管理效率,在信息量如此巨大的今天已趋于淘汰。
逐渐地随着计算机在社会各领域的广泛应用,大量繁杂的工作得以快速、高效的完成,使人们从繁重的劳动中解脱出来,提高了工作效率和工作量.在计算机应用的众多领域中,管理信息系统占据着十分重要的地位。以计算机科学和现代化的通信技术为基础,对某一组织或机构中有关管理的数据进行收集、处理,并输出有用信息,从而支持组织决策的系统,使大量的手工劳动自动完成,避免了因人工操作带来的各种错误。
在社会不断进步的同时,各企业对人力的利用及财务的支出要求更加合理化,此时若采用一套行之有效的人力资源管理系统来管理员工的基本信息、各项津贴及月工资结算会方便很多.为了便于员工的工资管理、考勤管理、公司部门管理以及缩短工资结算速度,减少财务人员的工作量,提高管理质量和水平,做到高效、智能化的管理,各企业仅需要一套有效的人力资源管理系统软件.系统以其系统性、全面性和技术手段的多样性和先进性、使用的安全性和稳定性以及应用的广泛性为其特点,性能优良,极大地减轻了人事布管理人员的工作强度,提高了人事管理工作的现代化水平。
本文以人力资源管理系统开发过程为背景,全文分为目录、需求分析、概要设计、逻辑设计、物理设计,以及系统的实现等全过程.在程序设计与调试上采用了自上而下,逐步细化,逐步完善的原则。采用结构化的功能模块设计系统功能,可读性好,易于扩充.基本功能全面,系统可读性高,易于维护、更新,安全性高。
1
第二章 需求分析
第二章 需求分析
2.1 需求分析和功能实现
在当下信息社会的高科技,商品经济化的高利益驱使下,计算机的应用得以普及到经济和社会生活的各个层面。各行各业在日常经营管理各个方面走向规范化和网络化.以现代工具代替传统手工作业.无疑可以使管理更先进、更高效、更科学,信息交流更迅速。
作为计算机及网络应用的一部分,使用计算机对员工信息进行管理具有人工管理所无法比拟的优点。例如:检索迅速、保密性好,查找方便、存储量大、成本低等.这些优点能够极大地提高人力资源管理的效率,也是企业的科学化、正规化管理的重要条件.在系统设计之初,首先要对系统的现状进行分析。根据系统的目标、需求和功能制定选择一个较理想的系统实现方案,从而达到一个合理的优化系统。每个企业都需要对员工的考勤及工资的结算有一个明确的统计体系,最初由于企业中员工较少,人工管理比较方便和灵活,伴随着企业的扩大,人工管理已不能满足信息化的高速时代。
在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。这样,就把一个大的系统分解成了几个小系统。这里把系统的层次划分为了员工基本信息表、员工录用信息表、工作考核信息表、实发工资工资标准信息表、工资计发信息表、用户信息表、考勤信息表、考勤考核信息表、部门信息表.能够实现以下功能:
1、进行新旧员工信息修改以及删除;
2、能够实现对员工基本信息的查询和编辑管理; 3、能够进行考勤奖罚款功能; 4、能够进行月工资信息的查询功能;
2.2 需求分析阶段的目标与任务
2.2.1 处理对象
员工基本信息表:员工编号,姓名 ,性别,出生年月, 籍贯,民族,身份证号,政治面貌,所属部门编号,进入部门时间,职务代码,职称,起薪日,原单位,原职称,原职务,毕业学校,毕业日期,学历,专业,外语,地址,电话,邮箱,在岗状态
2
第二章 需求分析
员工录用信息表:签约合同号,员工编号,姓名,签约日期,到期日,合同类型,受聘部门,受聘职务,聘用标志,备注
工作考核信息表:员工编号,考核日期,工作态度,工作业绩,业务水平,考核结论,备注
工资标准信息表:工资等级编号,等级名称,底薪,补贴,奖金,车补,房补,养老保险,医疗保险,住房公积金
工资计发信息表:自动编号,员工编号,工资等级编号,底薪,补贴,奖金,车补,房补,扣考核,加班费,代扣养老保险,代扣医疗保险,代扣住房公积金,税前小计,税率,应发工资,计发日期
用户信息表:用户编号,用户名称,用户类型,密码,权限,身份证号,地址,电话,邮箱
考勤信息表:自动编号,员工编号,考勤日期,考勤类型,考勤天数,备注 考勤考核信息表:自动编号,员工编号,出勤日期,奖励,惩罚,加班费,扣考核
职务信息表:职务代码,职务名称,工资等级,工资上限,工资下限,简介 部门信息表:部门代码,部门名称,领导姓名,地址,电话,简介
2.2.2 处理功能及要求
1、能够存储一定数量的员工基本信息,并方便进行相应的员工数据操作和管理,主要包括:
1。员工的奖励、补贴及各款项的结合计算。 2。员工信息的多关键字检索查询。
2、能够对一定数量的员工、管理员进行相应的信息存储与管理,其中包括:
1。员工信息的登记、删除及修改。 2.管理员信息的增加、删除及修改。 3.员工资料的统计与查询。
3、能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询. 4、对查询、统计的结果能够列表显示。
2.2。3 安全性和完整性要求
1、安全性要求
系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提
3
第二章 需求分析
供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。 2、完整性要求
系统完整性要求系统中数据的正确性以及相容性。可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。
2。3 需求分析阶段成果
2。3.1 工资管理系统业务流程图
1、系统工资管理和发放流程如下图:
系统时钟 当前时间 管 理 员 考勤信息 管理请求信员工考勤信息 人力 资源 管理 系统 考勤信息 工资查询 工资发放情员工 工资发放情图2.1 工资发放图
2、系统员工分类管理流程如下图:
员工部门信息 员工部门管理 员工部门表 部门信息 部门信息 管理员 员工信息管理 员工录入信息 员工信息 图2。2 员工分类图
4
员工信息表 第二章 需求分析
2。3.2 工资管理系统数据字典
1、数据项:系统涉及的数据项有76项
表2。1 数据项列表
数据项编号 DI-1 DI—2 DI—3 DI—4 DI-5 DI-6 DI-7 DI-8 DI—9 DI-10 DI-11 DI—12 DI—13 DI—14 DI-15 DI-16 DI-17 DI-18 DI—19 DI-20 DI—21 DI-22 DI-23 DI—24 DI—25 DI-26 DI-27 DI-28 DI—29 DI—30 DI—31 DI—32 数据项名 staffID name sex birth birthplace Nation Identification political respectivedptid enterdptdate Dutyid title startpayDate originalEnterprise originalTitle originalDuty graduationSchool graduationDate schoolRecord major foreignLanguage address telphone email inpostType signContractID signDate contractDue contractType hiredDepartment hiredDuty hiredSymbol 数据项含义 员工编号 姓名 性别 出生年月 籍贯 民族 身份证号 政治面貌 所属部门编号 进入部门日期 职务代码 职称 起薪日 原单位 原职称 原职务 毕业学校 毕业日期 学历 专业 外语 地址 电话 邮箱 在岗状态 签约合同号 签约日期 到期日 合同类型 受聘部门 受聘职务 聘用标志
与其它数据项的关系 5 存储结构 Char(8) char(10) char(2) datetime 别名 编号 姓名 性别 出生年月 nvarchar(50) 籍贯 nvarchar(50) Char(18) Nvarchar(50) Char(4) datetime Char(4) 民族 身份证号 政治面貌 所属部门编号 进入部门日期 职务代码 Nvarchar(50) 职称 datetime Nvarchar(50) Nvarchar(50) Nvarchar(50) Nvarchar(50) datetime 起薪日 原单位 原职称 原职务 毕业学校 毕业日期 Nvarchar(50) 学历 Nvarchar(50) Nvarchar(50) 专业 外语 Nvarchar(50) 地址 Nvarchar(50) Nvarchar(50) char(8) char(10) datetime datetime char(8) Nvarchar(50) Nvarchar(50) char(4) 电话 邮箱 在岗状态 签约合同号 签约日期 到期日 合同类型 受聘部门 受聘职务 聘用标志 第二章 需求分析
数据项编号 DI-33 DI-34 DI-35 DI-36 DI-37 DI—38 DI-39 DI-40 DI-41 DI-42 DI—43 DI—44 DI-45 DI-46 DI—47 DI—48 DI-49 DI—50 DI—51 DI—52 DI-53 DI—54 DI—55 DI—56 DI-57 DI—58 DI-59 DI—60 DI-61 DI—62 DI-63 DI-64 DI—65 DI-66 DI-67 DI-68 DI—69 数据项名 remark 员工ID 考核日期 工作态度 工作业绩 业务水平 考核结论 wageScaleID wageScaleName basicSalary subsidy bonus carSubsidy houseSubsidy pension medicalInsurance houseProvidentFund accountID deInspection overtimePay dePension deMedicalInsurance deHousePtFund taxBefSubTotal incometax wage accountDate 用户ID 用户名称 用户类型 密码 权限 attendanceDate attendanceType days attendanceDate award 数据项含义 备注 员工编号 考核日期 工作态度 工作业绩 业务水平 考核结论 工资等级编号 等级名称 底薪 补贴 奖金 车补 房补 养老保险 医疗保险 住房公积金 自动编号 扣考核 加班费 代扣养老保险 代扣医疗保险 代扣住房公积金 税前小计 税率 应发工资 计发日期 用户编号 用户名称 用户类型 密码 权限 考勤日期 考勤类型 考勤天数 出勤日期 奖励 与其它数据项的关系 同staffID 6
存储结构 Text Char(8) datetime text text text text char(4) Nvarchar(50) Float(8) Float(8) Float(8) Float(8) Float(8) Float(8) Float(8) Float(8) numeric Float(8) Float(8) Float(8) Float(8) Float(8) Float(8) Float(8) Float(8) datetime char(10) char(10) Nvarchar(8) char(10) text datetime char(5) char(6) datetime text 别名 备注 员工编号 考核日期 工作态度 工作业绩 业务水平 考核结论 工资等级编号 等级名称 底薪 补贴 奖金 车补 房补 养老保险 医疗保险 住房公积金 自动编号 扣考核 加班费 代扣养老保险 代扣医疗保险 代扣住房公积 税前小计 税率 应发工资 计发日期 用户编号 用户名称 用户类型 密码 权限 考勤日期 考勤类型 考勤天数 出勤日期 奖励 第二章 需求分析
数据项编号 DI-70 DI—71 DI—72 DI-73 DI—74 DI—75 DI-76 数据项名 punishment dutyName wageUpLimit wageDownLimit departmentID departmentName leaderName 数据项含义 惩罚 职务名称 工资上限 工资下限 部门代码 部门名称 领导姓名 与其它数据项的关系 存储结构 text Nvarchar(50) Float(8) Float(8) Char(4) Nvarchar(50) Char(10) 别名 惩罚 职务名称 工资上限 工资下限 部门代码 部门名称 领导姓名 2、数据结构:
表2。2 数据结构列表
数据结构编号 数据结构名 数据结构含义 组成 staffID,name,sex,birth,birthplace,Nation,Identification,political,respectivedptid,enterdptdate,Dutyid,DS—1 员工基本信息表 员工基本信息 title,startpayDate,originalEnterprise,originalTitle,originalDuty,graduationSchool,graduationDate,schoolRecord,major,foreignLanguage,address,telphone,email,inpostType signContractID,staffID,name,signDate,contractDue,conDS—2 员工录用信息表 录用信息 tractType,hiredDepartment,hiredDuty,hiredSymbolremark ,DS-3 工作考核信息表 考核信息 员工ID,考核日期,工作态度,工作业绩,业务水平,考核结论,备注 wageScaleID,wageScaleName,basicSalary,DS-4 工资标准信息表 工资标准 subsidy,bonus,carSubsidy,houseSubsidy,pension,medicalInsurance,houseProvidentFund accountID,staffID,wageScaleID,DS-5 工资计发信息表 basicSalary,subsidy,bonus,carSubsidy,houseSubsidy,工资计发信息 deInspection,overtimePay,dePension,deMedicalInsurance,deHousePtFund,,taxBefSubTotal,incometax,wage,accountDate 用户ID,用户名称,用户类型,密码, 权限,身份证号,住址,电话,邮箱 DS-6 用户信息表 用户信息 7
第二章 需求分析
数据结构编号 数据结构名 数据结构含义 组成 accountID,staffIDattendanceType,days accountID,staffID,attendanceDate,award,punishment, overtimePay, deInspection dutyID,dutyName,, ,attendanceDate,DS—7 考勤信息表 考勤信息 DS—8 考勤考核信息表 考勤考核信息 DS—9 职务信息表 职务信息 wageScaleID,wageUpLimit,wageDownLimitintroduction DS-10 部门信息表 部门信息 departmentID,departmentName,leaderName,address, telphone, introduction 8
第三章 概念设计阶段
第三章 概念设计阶段
3.1 设计分析
系统开发的总体目标是实现人力资源管理的系统化和自动化,缩短员工工资结算的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高工资管理效率的目的。主要任务是对员工基本信息、管理员信息、员工津贴信息、考勤信息的基本的操作及外理。
概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。
3.2 任务与目标
1、选择中层数据流为切入点,通常选择实际系统中的子系统; 2、设计分E-R图,即各子模块的E—R图;
3、生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一; 在本工资管理系统中,分析各层数据流图和数据字典,知道整个系统功能围绕“员工”、“考勤\"和“津贴”的处理。根据实体与属性间的两条准则:①作为“属性\",不能再具有需要描述的性质。②“属性”不能与其他实体具有联系.
3.3 阶段结果
1、根据不同的对象,分别画出各分E-R图:
1.员工基本信息表的实体图及属性:员工信息表为实体,属性包括ID、姓名和身份证号等,E-R图如下:
9
第三章 概念设计阶段
姓名 性别 出生年月 民族 政治面貌 邮箱 毕业学校 员工编号 身份证号 电话 籍贯 所属部门编号 学历 职称 员工基本信息表 进入部门时间 外语 职务代码 原单位 专业 毕业日期 起薪日 地址 在岗状态 原职务 原职称 图3。1 员工基本信息表的实体图及属性图
2.员工录用信息表实体及属性:员工录用信息表为实体,属性包括姓名、合同类型和员工编号等,E-R图如下:
聘用标志 姓名 员工编号 员工录用信息表 备注 图3.2 员工录用信息表实体及属性图
受聘职务 合同类型 到期日 签约合同号 签约日期 受聘部门 3。工作考核信息表实体及属性:工作考核信息表为实体,属性包括员工编号、考核日期、业务水平、考核结论等,E-R图如下:
员工编号 考核日期 工作态度 工作业绩 业务水平考核结论 工作考核信息表 图3.3 工作考核信息表实体及属性图
备注 4。工资标准信息表实体及属性:工资标准信息表为实体,属性包括底薪、补贴、工资等级编号、等级名称和房补等,E—R图如下。
10
第三章 概念设计阶段
底薪 等级名称工资等级编号 住房公积金 补贴 奖金 养老保险 工资标准信息表 房补 车补 医疗保险
图3。4 工资标准信息表实体及属性图
5。工资计发信息表实体及属性:工资计发信息表为实体,属性包括底薪、补贴、员工编号、车补和房补等,E-R图如下。
底薪 员工编号自动编号 房补 住房公积金 养老保险 医疗保险 加班费 奖金 应发工资 补贴 工资计发信息表 工资等级编代扣医疗 税前小计 税率 代扣住房公积计发日期 图3.5 工资计发信息表实体及属性图
车补 扣考核 代扣养老 6。用户信息表实体及属性:用户信息表为实体,属性包括用户名称、用户类型、
密码、身份证号和权限等,E-R图如下。
用户名称 用户编号权限 用户信息表 邮箱 密码 用户类型 电话 身份证号 住址 图3.6 用户信息表实体及属性图
7。考勤信息表实体及属性:考勤信息表为实体,属性包括员工编号、考勤日期、考勤类型、考勤天数和备注等,E-R图如下。
11
第三章 概念设计阶段
员工编号自动编号 考勤日期 考勤类型 考勤天数 考勤信息表 备注
图3.7 考勤信息表实体及属性图
8。考勤考核信息表实体及属性:考勤考核信息表为实体,属性包括员工编号、奖励、出勤日期、扣考核和加班费等,E-R图如下.
员工编号 自动编号惩罚 考勤考核信息表 图3.8 考勤考核信息表实体及属性图
出勤日期 奖励 扣考核 加班费
9。职务信息表实体及属性:职务信息表为实体,属性包括职务代码、职务名称、工资等级、工资上限和工资下限等,E-R图如下。
职务名称 职务代码 工资上限 职务信息表 工资等级 工资下限 简介
图3.9 职务信息表实体及属性图
10。部门信息表实体及属性:部门信息表为实体,属性包括部门名称、领导姓名、部门代码、地址和简介等,E-R图如下。
电话 部门代码 部门名称 地址 领导姓名 简介
部门信息表 图3.10 部门信息表实体及属性图
2、合并各分E-R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E—R图如下所示:
12
第三章 概念设计阶段
部门 1 属于 1 查询 员工 N 1 发工资 1 1 工资标准信息表 计算 1 1 工资计发表
图3.11 基本功能图
3、各E-R图各实体的属性如下所示:
1。员工基本信息:(staffID、name、sex、birth、birthplace、Nation、Identification、political、respectivedptid、enterdptdate、Dutyid、title、startpayDate、originalEnterprise、originalTitle、originalDuty、graduationSchool、graduationDate、schoolRecord、major、foreignLanguage、address、telphone、email、inpostType)
2.员工录用信息表:(signContractID、 staffID、name、signDate、contractDue、contractType、hiredDepartment、hiredDuty、hiredSymbol、remark)
3。工作考核信息表:(员工ID、考核日期、工作态度、工作业绩、业务水平、考核结论、备注)
4.工资标准信息表:(wageScaleID、wageScaleName、basicSalary、subsidy、bonus、carSubsidy、medicalInsurance、houseProvidentFund、houseSubsidy、pension)
5。工资计发信息表:( accountID、staffID、wageScaleID、basicSalary、subsidy、bonus、carSubsidy、houseSubsidy、deInspection、overtimePay、dePension、deMedicalInsurance、deHousePtFund、、taxBefSubTotal、incometax、wage、accountDate)
6.用户信息表:(用户ID、用户名称、用户类型、密码、 权限、身份证号、住址、电话、邮箱)
7。考勤信息表:(accountID、staffID、attendanceDate、attendanceType、days、remark)
8。考勤考核信息表:(accountID、staffID、attendanceDate、award、punishment、 overtimePay、 deInspection)
9.职务信息表:(dutyID、dutyName、 wageScaleID、wageUpLimit、
13
第三章 概念设计阶段
wageDownLimit、 introduction)
10.部门信息表:(departmentID、departmentName、leaderName、address、 telphone、 introduction)
14
第四章 逻辑设计阶段
第四章 逻辑设计阶段
4。1 逻辑设计的任务和目标
以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E—R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。
4.2 数据组织
4.2.1 将E-R图转换为关系模型
实体型转换为关系模式.实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况: 具有相同码的关系模式可合并.
具体的基本E-R图向关系模型的转化如下:
1、员工基本信息:(staffID、name、sex、birth、birthplace、Nation、Identification、political、respectivedptid、enterdptdate、Dutyid、title、startpayDate、originalEnterprise、originalTitle、originalDuty、graduationSchool、graduationDate、schoolRecord、major、foreignLanguage、address、telphone、email、inpostType);
2、员工录用信息表:(signContractID、 staffID、name、signDate、contractDue、
contractType、hiredDepartment、hiredDuty、hiredSymbol、remark);
3、工作考核信息表:(员工ID、考核日期、工作态度、工作业绩、业务水平、考核结论、备注);
4、工资标准信息表:(wageScaleID、wageScaleName、basicSalary、subsidy、bonus、
carSubsidy、houseSubsidy、pension、medicalInsurance、houseProvidentFund);
5、工资计发信息表:( accountID、staffID、wageScaleID、basicSalary、subsidy、
bonus、carSubsidy、houseSubsidy、deInspection、overtimePay、dePension、deMedicalInsurance、deHousePtFund、、taxBefSubTotal、incometax、wage、accountDate)
6、用户信息表:(用户ID、用户名称、用户类型、密码、 权限、身份证号、住址、电话、邮箱)
7、考勤信息表:(accountID、staffID、 attendanceDate、attendanceType、days、remark)
15
第四章 逻辑设计阶段
8、考勤考核信息表:(accountID、staffID、 attendanceDate、award、punishment、 overtimePay、 deInspection)
9、职务信息表:(dutyID、dutyName、wageScaleID、wageUpLimit、wageDownLimit、 introduction)
10、部门信息表:(departmentID、departmentName、leaderName、address、telphone、 introduction);
4。2.2 数据库模式定义
表4.1 员工基本信息表
列名 staffID Name Sex Birth Birthplace Nation Identification Political respectivedptid enterdptdate Dutyid Title startpayDate originalEnterpris originalTitle originalDuty graduationSchool graduationDate schoolRecord Major foreignLanguage Address Telphone Email inpostType 数据类型 Char char char datetime nvarchar nvarchar Char Nvarchar Char datetime Char Nvarchar datetime Nvarchar Nvarchar Nvarchar Nvarchar datetime Nvarchar Nvarchar Nvarchar Nvarchar Nvarchar Nvarchar char 长度 8 10 2 50 50 18 50 4 4 50 主键或外键 字段值约束 不为空 不为空 不为空 不为空 不为空 不为空 不为空 对应中文属性名 员工编号 姓名 性别 出生年月 籍贯 民族 身份证号 政治面貌 所属部门编号 进入部门日期 职务代码 职称 起薪日 原单位 原职称 原职务 毕业学校 毕业日期 学历 专业 外语 地址 电话 邮箱 在岗状态 主键 外键 16
50 50 50 50 50 50 50 50 50 50 8 表4.2 员工录用信息表
第四章 逻辑设计阶段
列名 signContractID staffID Name signDate contractDue contractType hiredDepartment hiredDuty hiredSymbol remark 数据类型 char Char char datetime datetime char Nvarchar Nvarchar char Text 长度 10 主键或外键 字段值约束 不为空 不为空 不为空 不为空 不为空 不为空 不为空 不为空 不为空 对应中文属性名 签约合同号 员工编号 姓名 签约日期 到期日 合同类型 受聘部门 受聘职务 聘用标志 备注 8 10 8 50 50 4 主键 外键 表4.3 工作考核信息表
列名 员工ID 考核日期 工作态度 工作业绩 业务水平 考核结论 数据类型 长度 主键或外键 字段值约束 不为空 不为空 对应中文属性名 员工编号 考核日期 工作态度 工作业绩 业务水平 考核结论 Char datetime text text text text text 备注 8 主键 备注 表4。4 工资标准信息表
列名 wageScaleID wageScaleName basicSalary subsidy bonus carSubsidy houseSubsidy pension medicalInsurance houseProvidentFun 数据类型 长度 主键或外键 字段值约束 char Nvarchar Float Float Float Float Float Float Float Float 4 50 8 8 8 8 8 8 8 8 对应中文属性名 工资等级编号 等级名称 底薪 补贴 奖金 车补 房补 养老保险 医疗保险 住房公积金 主键
不为空 不为空 不为空 表4。5 工资计发信息表
17
第四章 逻辑设计阶段
列名 accountID staffID 数据类型 numeric Char char Float Float Float Float Float Float Float Float Float Float Float Float Float Datetime 长度 8 4 8 8 8 8 8 8 8 8 8 主键或外键 字段值约束 对应中文属性名 自动编号 员工编号 工资等级编号 底薪 补贴 奖金 车补 房补 扣考核 加班费 代扣养老保险 代扣医疗保险 wageScaleID basicSalary Subsidy Bonus carSubsidy houseSubsidy deInspection overtimePay dePension deMedicalInsurance deHousePtFund taxBefSubTotal Incometax Wage accountDate 主键 外键 外键 不为空 不为空 不为空 不为空 不为空 8 8 8 8 代扣住房公积金 税前小计 税率 应发工资 计发日期 表4.6 用户信息表
列名 用户ID 用户名称 用户类型 密码 权限 身份证号 住址 电话 邮箱 数据类型 长度 主键或外键 字段值约束 char char Nvarchar char text Char Nvarchar Nvarchar Nvarchar 10 10 8 10 对应中文属性名 用户ID 用户名称 用户类型 密码 权限 身份证号 住址 电话 邮箱 主键 不为空 不为空 不为空 18 50 50 50 表4。7 考勤信息表
列名 accountID staffID attendanceDate attendanceType 数据类型 长度 主键或外键 字段值约束 numeric char datetime Nvarchar 对应中文属性名 自动编号 员工编号 考勤日期 考勤类型 8 主键 外键 18
不为空 不为空 不为空 不为空 50 第四章 逻辑设计阶段
days remark char text 6 不为空 不为空 考勤天数 备注 表4.8 考勤考核信息表
列名 accountID staffID attendanceDate award punishment overtimePay deInspection 数据类型 长度 主键或外键 字段值约束 numeric char datetime Text text Float Float 对应中文属性名 自动编号 员工编号 出勤日期 8 主键 外键 不为空 不为空 不为空 不为空 不为空 不为空 8 8 奖励 惩罚 加班费 扣考核 表4.9 职务信息表
列名 dutyID dutyName wageScaleID wageUpLimit wageDownLimit introduction 数据类型 长度 主键或外键 字段值约束 char Nvarchar char Float Float Text 4 50 4 8 8 对应中文属性名 职务代码 职务名称 工资等级 工资上限 工资下限 简介 主键 不为空 不为空 不为空 不为空 不为空 表4。10 部门信息表
列名 departmentID departmentName leaderName address telphone introduction 数据类型 长度 主键或外键 字段值约束 Char Nvarchar Char Nvarchar Nvarchar text 4 50 对应中文属性名 部门代码 部门名称 领导姓名 住址 电话 简介 主键 不为空 不为空 不为空 不为空 10 50 50 4.2.3 用户子模式定义
表4。11 用户子模式定义
19
第四章 逻辑设计阶段
编号 V-1 V-2 V-3 用户子模式(View) workersView 作用(共性:提供数据保密和安全保护机制) 便于查询和修改员工的基本信息 方便员工考勤信息的查询、更新 便于工资清单信息的查询 attendanceView wageView 表4.12 员工基本信息视图
列名 数据类型 Char char char datetime nvarchar nvarchar Char Nvarchar Char datetime Char Nvarchar datetime Nvarchar Nvarchar Nvarchar Nvarchar datetime Nvarchar Nvarchar Nvarchar Nvarchar Nvarchar Nvarchar char 可否为空 说明 员工编号 姓名 性别 出生年月 籍贯 民族 身份证号 政治面貌 所属部门编号 进入部门日期 职务代码 职称 起薪日 原单位 原职称 原职务 毕业学校 毕业日期 学历 专业 外语 地址 电话 邮箱 在岗状态 staffID name sex birth birthplace Nation Identification political respectivedptid enterdptdate Dutyid title startpayDate originalEnterprise originalTitle originalDuty graduationSchool graduationDate schoolRecord major foreignLanguage address telphone email inpostType 不为空 不为空 不为空 不为空 不为空 不为空 不为空
表4.13 考勤信息视图
列名 数据类型 numeric char 可否为空 说明 自动编号 员工编号 accountID staffID 不为空 不为空 20
第四章 逻辑设计阶段
attendanceDate attendanceType days remark datetime Nvarchar char text 不为空 不为空 不为空 不为空 考勤日期 考勤类型 考勤天数 备注 表4。14 工资计发表信息视图
列名 数据类型 numeric Char char Float Float Float Float Float Float Float Float Float Float Float Float Float Datetime 可否为空 说明 自动编号 员工编号 工资等级编号 底薪 补贴 奖金 车补 房补 扣考核 加班费 代扣养老保险 代扣医疗保险 代扣住房公积金 税前小计 税率 应发工资 计发日期 accountID staffID 不为空 不为空 不为空 不为空 不为空 不为空 不为空 不为空 不为空 wageScaleID basicSalary Subsidy Bonus carSubsidy houseSubsidy deInspection overtimePay dePension deMedicalInsurance deHousePtFund taxBefSubTotal Incometax Wage accountDate 4.3 数据处理
人力资源管理系统功能模块图:
21
第四章 逻辑设计阶段
部门管理 员工信息管理 考勤管理 查询 发放 考勤分系统维护 发放管理 人力资源管理系统 分析总结 系统管理 基本信息 退出 综合分析 数据库分析 设置 布局规划 管理员管理 初始化 关于 重新登录 退出系统 析 图4。1 系统功能模块
22
第五章 物理设计阶段
第五章 物理设计阶段
5。1 物理设计阶段的目标与任务
数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:
1、确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构; 2、对物理结构进行评价,评价的重点是时间和空间效率.
5。2 数据存储方面
为数据库中各基本表建立的索引如下:
1、由于员工基本信息表,考勤信息表的主码经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,在两个属性上建立唯一性索引;
2、工资计发信息表的一属性wagescaleid、staffid,经常在查询条件中出现,考虑在其之上建立聚簇索引;
5。3 系统功能模块
5。3.1 员工基本信息的查询和更新模块
将实现对员工基本信息的查询和更新(修改、添加、删除)操作,用于员工
入职,辞职,以及更改员工信息的情况,具体的功能模块图如下:
23
第五章 物理设计阶段
管理员发出查询或更新的命查询 查询 更新 更新 查询员工信息表 更新员工信息表 N 查询结果 是否成功 Y 更新后员工信息表 提示信息 Y 是否继续 结束 图5.1 员工基本信息查询更新图
24
第六章 数据库实施阶段
第六章 数据库实施阶段
6。1 建立数据库、数据表、视图、索引
6。1。1 建立工资管理系统数据库
1、人力资源管理系统的建立:
CREATE DATABASE 人力资源管理系统 ON PRIMARY
(NAME=’人力资源管理系统_data',
FILENAME = 'D:\\data\\人力资源管理系统.mdf’, SIZE =10MB, FILEGROWTH=10%) log on
(name=’人力资源管理系统_log’,
filename=’D:\\data\\人力资源管理系统。ldf’, size=1mb, maxsize=20mb, filegrowth=10%)
6。1。2 建立数据表
1、员工基本信息表的建立: Use 人力资源管理系统 create table 员工基本信息表 (staffID char(8) not null primary key, Name char(10) not null, Sex char(2) not null, Birth datetime,
Birthplace nvarchar(50), Nation nvarchar(50) not null, Identification char(18) not null, Political nvarchar(50),
25
第六章 数据库实施阶段
Respectivedptid nvarchar(50), Enterdptdate datetime not null, Dutyid char(4) not null, Title nvarchar(50), startpayDate datetime,
originalEnterprise nvarchar(50), originalTitle nvarchar(50), originalDuty nvarchar(50), graduationSchool nvarchar(50), graduationDate nvarchar(50), schoolRecord nvarchar(50), major nvarchar(50),
foreignLanguage nvarchar(50), address nvarchar(50), telphone nvarchar(50), email nvarchar(50), inpostType char(4) ) 2、员工录用信息表: use 人力资源管理系统 create table 员工录用信息表
(signContractID char(10) not null primary key, staffID char(8) not null, name char(10) not null, signDate datetime not null, contractDue datetime not null, contractType char(8) not null,
hiredDepartment nvarchar(50) not null, hiredDuty nvarchar(50) not null, hiredSymbol char(4) not null, remark text) 3、工作考核信息表: Use 人力资源管理系统 Create table 工作考核信息表
(员工ID char(8) not null primary key,
26
第六章 数据库实施阶段
考核日期 datetime not null, 工作态度 text, 工作业绩 text, 业务水平 text, 考核结论 text, 备注 text ) 4、工资标准信息表: use 人力资源管理系统 create table 工资标准信息表
(wageScaleID char(4) not null primary key, wageScaleName nvarchar(50) not null, basicSalary float(8) not null, subsidy float(8), bonus float(8), carSubsidy float(8), medicalInsurance float(8), houseProvidentFund float(8), houseSubsidy float(8)) 5、工资计发信息表: use 人力资源管理系统 create table 工资计发信息表
(accountID numeric not null primary key, staffID char(8) not null, wageScaleID char(4) not null, basicSalary float(8) not null, subsidy float(8), bonus float(8), carSubsidy float(8), houseSubsidy float(8), deInspection float(8), overtimePay float(8), dePension float(8), deMedicalInsurance float(8), deHousePtFund float(8),
27
第六章 数据库实施阶段
taxBefSubTotal float(8), incometax float(8), wage float(8),
accountDate datetime not null) 6、用户信息表: use 人力资源管理系统 create table 用户信息表
(用户ID char(10) not null primary key, 用户名称 char(6) not null, 用户类型 nvarchar(8) not null, 密码 char(10), 权限 text,
身份证号 char(18), 住址 nvarchar(50), 电话 nvarchar(50), 邮箱 nvarchar(50)) 7、考勤信息表:
use 人力资源管理系统 create table 考勤信息表
(accountID numeric not null primary key, staffID char(8) not null, attendanceDate datetime not null, attendanceType nvarchar(50) not null, days int not null, remark text not null) 8、考勤考核信息表: use 人力资源管理系统 create table 考勤考核信息表
(accountID numeric not null primary key, staffID char(8) not null, attendanceDate datetime not null, award text, punishment text, overtimePay float(8),
28
第六章 数据库实施阶段
deInspection float(8),) 9、职务信息表: use 人力资源管理系统 create table 职务信息表
(dutyID char(4) not null primary key, dutyName nvarchar(50) not null, wageScaleID char(4) not null, wageUpLimit float(8) not null, wageDownLimit float(8) not null, introduction text) 10、部门信息表: use 人力资源管理系统 create table 部门信息表
(departmentID char(4) not null primary key, departmentName nvarchar(50) not null, leaderName char(10) not null, address nvarchar(50), telphone nvarchar(50), introduction text not null)
6。1.3 建立视图
1、用于查询员工基本信息的视图定义如下: USE 人力资源管理系统 GO
CREATE VIEW workersview (员工编号,姓名 ,性别,出生年月, 籍贯,民族,身份证号,政治面貌,所属部门编号,进入部门时间,职务代码,职称,起薪日, 原单位,原职称,原职务,毕业学校,毕业日期,学历,专业,外语,地址,电话,邮箱,在岗状态) AS
SELECT staffID,name,sex,birth,birthplace,Nation,Identification,political,r espectivedptid,enterdptdate,Dutyid,title,startpayDate,originalEnterprise,originalTitle,originalDuty,graduationSchool,graduationDate,
schoolRecord,major,foreignLanguage,address,telphone,email,inpostType From 员工基本信息表
29
第六章 数据库实施阶段
2、用于查询员工工资计发信息的视图定义如下: USE 人力资源管理系统 GO
CREATE VIEW wageview (自动编号,员工编号,工资等级编号,底薪,补贴,奖金,
车补,房补,扣考核,加班费,代扣养老保险,代扣医疗保险,代扣住房公积金,税前小计,税率,应发工资,计发日期) As
SELECT accountID,staffID,wageScaleID,basicSalary,subsidy,bonus,carSubsidy, houseSubsidy,deInspection,overtimePay,dePension,deMedicalInsurance,deHousePtFund,taxBefSubTotal,incometax,wage,accountDate From 工资计发信息表
6。1。4 建立索引
USE 人力资源管理系统 GO
CREATE UNIQUE INDEX 默认索引 ON 工资计发信息表(wagescaleid) USE 人力资源管理系统 GO
CREATE INDEX 复合索引 ON 工资计发信息表(staffid,wagescaleid) USE 人力资源管理系统 GO
CREATE INDEX 复合索引 ON 员工基本信息表(staffID,name) USE 人力资源管理系统 GO
CREATE INDEX 唯一性索引 ON 员工基本信息表(staffID)
6。1。5 建立触发器
当删除员工基本信息表中某一员工信息时,触发工资计发信息表,删除相应的记录
create trigger workers_delete on 员工基本信息表 for delete
30
第六章 数据库实施阶段
as
delete 工资计发信息表 from deleted
where 工资计发信息表. staffID =deleted. staffID
6.2 数据入库
系统包括员工基本信息管理、部门信息管理、考勤信息管理、工资计发信息管理、工资标准信息管理等五大功能模块,共有10张基本表,采用事先在Excel中录入数据,然后使用SQL Server 2000数据导入/导出向导功能,直接将数据导入到相应的基本表中。
6。3 创建各个功能的存储过程
系统共创建了7个存储过程,具体列表如下:
表6。1 创建的存储过程列表
编号 P—1 P—2 P—3 P-4 P—5 P-6 P-7 存储过程名称 workers_Insert department_Insert kq_Insert Zw_Insert Delete_workers Delete_ department Query_workers_M 定义
作用 在员工基本信息表中插入一元组 在部门信息表中插入一元组 在考核信息表中插入一元组 在职务信息表中插入一元组 从员工基本信息表中删除一元组 从部门信息表中删除一元组 管理员在员工基本信息表中查询员工 31
第七章 系统调试和测试
第七章 系统调试和测试
7。1 数据查看和存储过程功能的验证
1、查看人力资源管理系统员工信息表中的数据,如下图所示:
图7。1 员工信息表信息图
2、查看人力资源管理系统workersview(员工基本信息)表中的数据:
图7。2 员工基本信息表信息图
3、查看wageview(工资计发信息)表中的数据:
32
第七章 系统调试和测试
图7。3 工资计发信息表信息图
7。2 存储过程功能的验证:
1、存储过程Query_workers_M功能的验证:(按staffID匹配查询员工信息)
图7。4 存储过程Query_workers_M功能的验证图
2、存储过程workers_Insert 功能的验证:(插入一条员工信息记录)
图7.5 存储过程workers_Insert功能的验证图
3、存储过程zw_Insert 功能的验证:(插入一条职务信息记录)
33
第七章 系统调试和测试
图7.6 存储过程zw_Insert功能的验证图
4、存储过程Delete_workers功能的验证:(按w_number删除相应的读者记录)
图7.7 存储过程Delete_workers功能的验证图
34
设计心得体会
设计心得体会
此次课程设计使我巩固了系统设计的整体步骤。在实现系统的设计时需要按照需求分析、概念设计、逻辑设计、物理设计、数据库的实施及调试测试六大步骤执行。其中,让我感触最深的是需求分析阶段,在这个阶段,必须对所要设计的系统有总体的构思和了解,明确自己要做什么,要实现什么功能,并且要结合实际进行相关的调查,不能凭空想象,这样会在后续的工作中遇到很多的问题。这次课程设计加深了我对数据库系统概论相关知识和SQL SERVER相关功能的理解。例如对建立基本表、视图、索引、存储过程、触发器等。在解决遇到的各种问题的过程中,我学到了很多新的知识。进一步掌握了相关的SQL语句方面的知识。不但纠正了以前的错误认识和理解,而且学会了建立存储过程和触发器。通过查阅资料,我还明白了存储过程是编译后放在服务器端的程序,它可以被别的模块调用,且不需要重新编译,这样就大大减轻了客户端的负担,且有效的提高了系统执行的效率。当然,在实习的过程中也存在一些问题,好在通过与同学间的探讨得以解决。
我觉得需求分析阶段在整个系统设计中是致关重要的,但由于我是第一次做这样的系统设计,都不是很熟悉需求分析的主要方法和主要任务,所以起初有些盲目,认为随便从网上搜点相关的知识就可以了,但其实,这直接影响着后面的各个阶段的工作的进行。好在前期我通过上网查询资料,看课件及查阅课本对其有了更加深入的了解,让我更深刻地掌握了处理异常的方法.自己动手也让我从中获得了很多书本上学不到的知识,加强了我独立思考能力,自主学习能力以及动手能力。总的说来,这次实习中我的指导老师十分热情的为我答疑解惑,老师不但帮我解决了问题,同时也教会了我解决此类问题的方法,这对我今后的学习是十分有益的。今后,我将像这次课程设计一样,专心投入进去,汲取更多知识,丰富自己。
35
参考文献
参考文献
[1] 萨师煊,王珊.数据库系统概论(第四版)[M]。北京:高教出版社,2006。 [2] 钱乐秋,赵文耘,牛军钰.软件工程[M]。北京:清华大学出版社,2007。
[3] 陈明锐.Visual basic程序设计及应用教程[M]。北京:高等教育出版社,2008。 [4] 杜兆将.SQL Server数据库管理与开发教程与实训[M].北京:北京大学出版社,2009。 [5] (美国)Abraham Silberschatz。数据库系统概念(原书第6版)[M].机械工业出版社,2012.
[6] (美国)斯蒂芬森.SQL入门经典(第5版).人民邮电出版社,2011.
[7] 尹志宇,郭晴。数据库原理与应用教程:SQL Server[M]。北京:清华大学出版社,2010。 [8] 刘金岭,冯万利,张有东主编。数据库原理及应用[M]。北京:清华大学出版社,2009,07 [9] 杨志姝,冯小飞.ASP+SQL Server基础练习+典型案例[M].北京:清华大学出版社,2006,08
[10] 龙马工作室.ASP+SQL Server组建动态网站案例精讲[M].北京:人民邮电出版社,2005,08
[11] 张哲。ASP数据库项目案例导航[M].北京:清华大学出版社,2007,10 [12] 丁宝康,董健全。数据库实用教程[M]。北京:清华大学出版社,2001,06 [13] 萨师煊,王珊.数据库系统概论(第二版)[M].北京:高等教育出版社,2000,02 [14] 屈喜龙。ASP+SQL Server开发动态网站实例荟萃[M]。北京:机械工业出版社,2006,02
36
课程设计成绩评定表
评定项目 内 容 满分 评分 10 40 定的深度,分析解决问题的能力较强。 设计方案正确、表达清楚;设计思路、实验(论说明书质证)方法科学合理;达到课程设计任务书规40 量 定的要求;图、表、文字表达准确规范,上交及时。 回答问题回答问题准确,基本概念清楚,有理有据,10 情况 总成绩 有一定深度。 采用五级分制:优、良、中、及格、不及格 总分 学习态度 学习认真,态度端正,遵守纪律。 认真查阅资料,勤学好问,提出的问题有一设计情况 指导教师评语: 签名: 年 月 日
因篇幅问题不能全部显示,请点此查看更多更全内容