免费预览已结束,剩余13页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
工资管理系统 1 河南城建学院河南城建学院 数据库技术及其应用数据库技术及其应用 课程设计报告书课程设计报告书 题题 目 目 工资管理系统工资管理系统 系系 部 部 数理系数理系 专专 业 业 数学与应用数学数学与应用数学 班班 级 级 姓姓 名 名 学学 号 号 指导教师 指导教师 河南城建学院 2013 年 1 月 11 日 工资管理系统 1 目录 第一章第一章 选题的背景和意义选题的背景和意义 1 1 选题的背景选题的背景 1 1 2 选题的意义选题的意义 1 第二章第二章 数据库结构设计数据库结构设计 2 2 1 需求分析需求分析 2 2 22 2 概念结构设计概念结构设计 3 第三章第三章 程序代码实现程序代码实现 6 3 1 创建表创建表 7 3 23 2 数据导入 数据导入 9 3 3 查询功能的实现 查询功能的实现 9 3 4 其他实现 其他实现 14 第四章第四章 课程设计总结课程设计总结 15 参考文献 参考文献 16 工资管理系统 1 第一章第一章 选题的背景和意义选题的背景和意义 1 选题的背景选题的背景 随着公司业务的扩展 人员的增多 传统的手工作业已经不再适合公司发展 的需要所以引进计算机技术对企业内部员工进行方便的管理 这样有诸多好处 各层管理人员可以对企业众多的员工信息进行动态的管理 例如基本资料的修 改 添加 删除 查询等 有利于减少错误 减轻人事部门的任务 提高效率 节约人力资源 降低企业成本 1 2 选题的意义选题的意义 随着经济的发展 企业正向着大型化 规模化发展 而对于大中型企业 员工 职称等跟工资管理有关的信息随之急剧增加 在这种情况下单靠人工来 处理员工的工资不但显得力不从心 而且极容易出错 如何设计一个小型企业 工资的数据库管理系统 由计算机代替人工执行一系列诸如增加新员工 删除 旧员工 工资查询 统计等操作 这样就使办公人员可以轻松快捷地完成工资 管理的任务 对于企 事业单位的工资发放来说 不需要太大型的数据库系统 只 需要一个操作方便 功能实用 能同时满足财务部门 单位其他相关部门及 代发单位三方对数据的管理及需求的系统 企业的目标就是在于利用数据 库编程设计一个操作方便 简单实用的工资管理系统 实现工资的集中管理 可供 管理人员对本单位的人员以及工资进行增 加 删除 修改 查询 对人事的管理及工资发放中的应发工资合计等项目 由系统自动进行计算 同时系统还可对人事及工资管理情况进行多角度查询 利用数据库对小型企业的工资进行管理 不仅可以节省开支 而且还可 以节省时间 充分发挥了其小却精的特点 通过对这个数据库的编程 也 是企业认识到了自己在很多方面的不足 也掌握了很多应用方面的技巧 工资管理系统 2 第二章第二章 数据库结构设计数据库结构设计 2 1需求分析需求分析 本系统开发的主要目标是要企事业单位工资管理实现计算机管理 使管理员 能够有序的管理每一位职工的各项工资条款的发放 以及企业工资的统计 使 企业运用现代化技术创造更多更高的经济效益 在此基础上开发一个工资管理 系统 实现本单位财务部门对工资发放的集中管理 可供财务人员对本单位的 人员进行增加 修改 删除 更新 查询 对工资发放中的应发工资合计 同 时本系统还可以对工资发放情况进行多角度查询 能够按不同的条件进行查询 2 1 1 总体需求 1 建立对企业员工工资全面管理的信息系统 2 对所有的职工提供全面管理 3 对系统的安全提供全面管理 4 对职工信息的添加 删除提供全面管理 2 1 2 功能需求 1 对工资记录进行录入 2 对工资信息进行查找 3 对多个工资记录进行浏览 4 对记录进行满足各种实际需要的修改 5 对各项工资的总和和总的人数进行统计 数据介绍 静态数据 职工基本信息 职工出缺勤信息 动态数据 职工基本信息 职工工资信息 奖金 职工出缺勤信息 数据库介绍 职工基本信息数据库 包括职工的工号 姓名 所属部门 职工出缺勤信息数据库 包括职工的工号 姓名 缺勤次数 职工工资信息数据库 包括职工的工号 姓名 基本工资 原始奖金 缺勤金 实际工资 工资管理系统 3 功能描述 职工基本信息管理系统 采集职工的工号 姓名 所属部门 并可以进行查询和修改 职工出勤管理系统 采集职工的工号 姓名 缺勤次数 并可以进行查询 职工工资管理系统 为实际工资及奖金计算提供数据源 向各部门传输标准工资信息 安全性分析 采用严格的用户验证与权限控制 用户需要通过身份验证才能进入本系统 没用权限的用户不能使用本系统 每个用户只能修改自己的密码 保密性良好 确保系统安全可靠 2 22 2 概念结构设计概念结构设计 1 1 1 1 n n 1 图 2 1 员工工资管理系统关系图 部门 部门负责人 员工 工资 基本工资 加班工资 其他奖金 工号 姓名 部门号 工种 性别 电话 1 n 11 工资管理系统 4 n1 1n 1 1 n1 图 2 2 ER 关系图 2 3 逻辑结构设计逻辑结构设计 将管理系统的 E R 图转换为关系数据库的数据模型 其关系模式为 1 员工档案 姓名 性别 职位 电话 状态 部门号 其中员工编号为主键 部门号为外键 2 出勤记录 出勤编号 员工号 签到时间 签出时间 出勤编号为主键 员 工号为外键 3 工资记录 员工号 基本工资 岗位津贴 加班补贴 出差补贴 违纪扣除 发 薪日期 工资编号为主键 员工号为外键 4 部门记录 部门编号 名称 领导人号 部门编号为主键 将工资管理系 统定名为 工资管理系统 2 4 物理结构设计物理结构设计 由于该系统主要用于员工的工资增加 删除 更改和查询 所以应用程序这要 就是这几个功能 我们建立数据库的存储模式 文件结构 指定数据库文件的名称 并为设 计好的关系模型设计表结构 员工 姓名 工号 部门 工种 性别 生日 电话 工种 工种号 基本工资 时加班津贴 月工作时间 工号 每日上班时间 每日下班时间 部门 部门号 负责人 负责人电话 员工 从事 工种 工 作 工作时间 工资 核准 部门 设 置 1 工资管理系统 5 表 2 1 员工 字段名类型宽度小数主键 索引参照表约束Null 值 工号 id 文本型10 主 姓名 sn 文本型10 部门号 dps 文本型20 工种 ws 文本型12 性别 sex 文本型2男 or 女 生日 birth 日期型 电话 tele 文本型11 表 2 2 部门 字段名类型宽度小数主键 索引参照表约束Null 值 部门号 dps 文本型10 主 部门 dp 文本型20 负责人 rs 文本型8 负责人电话 rt 文本型11 表 2 3 工种 字段名类型宽度小数 主键 索引 参照表 约束Null 值 工种 ws 文本型12 主 部门 dp 文本型20 基本工资 fs 文本型4 时加班津贴 sub 文本型4 表 2 4 月工作时间 每个月生成一个表 字段名类型宽度小数主键 索引参照表约束Null 值 工号 id 文本型10 员工 月初上班时间 st1 日期型 工资管理系统 6 月初下班时间 dt1 日期型 日期型 日期型 日期型 月末上班时间 st1 日期型 月末下班时间 dt1 日期型 1 给每个表实施主键约束 主键约束 非空值约束 员工 工号为主键 所以此项非空 部门 部门名称为主键 所以此项非空 工资 工号为主键 所以此项非空 2 外键约束 员工表中 工号 部门名称为外键 3 惟一约束 每个表的主键需定义为惟一性 对于工资表 因为工号是主键 联系着员 工表 所以建立唯一性 图 2 3 数据关系图 工资管理系统 7 第三章第三章 程序代码实现程序代码实现 3 1 创建表 创建表 表一 department Create table dbo department dp nchar 20 collate Chinese prc ci as null dp snchar 10 collate Chinese prc ci as not null rs nchar 8 collate Chinese prc ci as not null rt nchar 11 collate Chinese prc ci as not null Constrant pk 部门表 primary key clustered dps asc with ignore dup key off on primary on primary 表二 monthtime CREATE TABLE dbo monthtime id nchar 10 COLLATE Chinese PRC CI AS NOT NULL st1 datetime NULL dt1 datetime NULL st2 datetime NULL dt2 datetime NULL st3 datetime NULL dt3 datetime NULL st4 datetime NULL dt4 datetime NULL st5 datetime NULL dt5 datetime NULL st6 datetime NULL dt6 datetime NULL st7 datetime NULL dt7 datetime NULL st8 datetime NULL dt8 datetime NULL st9 datetime NULL dt9 datetime NULL st10 datetime NULL dt10 datetime NULL st11 datetime NULL dt11 datetime NULL st12 datetime NULL dt12 datetime NULL st13 datetime NULL dt13 datetime NULL st14 datetime NULL dt14 datetime NULL st15 datetime NULL dt15 datetime NULL st16 datetime NULL dt16 datetime NULL st17 datetime NULL dt17 datetime NULL st18 datetime NULL dt18 datetime NULL st19 datetime NULL dt19 datetime NULL st20 datetime NULL dt20 datetime NULL st21 datetime NULL dt21 datetime NULL st22 datetime NULL dt22 datetime NULL st23 datetime NULL dt23 datetime NULL st24 datetime NULL dt24 datetime NULL st25 datetime NULL dt25 datetime NULL st26 datetime NULL dt26 datetime NULL st27 datetime NULL dt27 datetime 工资管理系统 8 NULL st28 datetime NULL dt28 datetime NULL st29 datetime NULL dt29 datetime NULL st30 datetime NULL dt30 datetime NULL CONSTRAINT PK 月工作时间表 PRIMARY KEY CLUSTERED id ASC WITH IGNORE DUP KEY OFF ON PRIMARY ON PRIMARY 表三 profession CREATE TABLE dbo profession ws nchar 12 COLLATE Chinese PRC CI AS NOT NULL dp nchar 20 COLLATE Chinese PRC CI AS NULL sub int NULL fs int NULL CONSTRAINT PK 工种表 PRIMARY KEY CLUSTERED ws ASC WITH IGNORE DUP KEY OFF ON PRIMARY ON PRIMARY 表四 worker CREATE TABLE dbo worker sn nchar 10 COLLATE Chinese PRC CI AS NULL id nchar 10 COLLATE Chinese PRC CI AS NOT NULL dps nchar 10 COLLATE Chinese PRC CI AS NULL ws nchar 12 COLLATE Chinese PRC CI AS NULL sex nchar 2 COLLATE Chinese PRC CI AS NULL birth datetime NULL tele nchar 11 COLLATE Chinese PRC CI AS NULL CONSTRAINT PK 员工表 PRIMARY KEY CLUSTERED id ASC WITH IGNORE DUP KEY OFF ON PRIMARY ON PRIMARY GO 工资管理系统 9 3 2 数据导入数据导入 表 3 1department 部门 dp 部门号 dps 负责人 rs 负责人电话 rt 研发部 1000张鹏程 稽核部1001李晨 宣传部1002魏晨 表 3 2monthtime 表 3 3profession 工种 ws 部门 dp 时加班津贴 sub 基本工资 fs 干事宣传部1003500 经理稽核部1004500 文书稽核部903000 表 3 4worker 3 3 查询功能的实现 查询功能的实现 考勤信息记录作为一种原始的数据资料 作为核算员工工资的根本依据 一般不允许用户对其进行编辑和删除 因此该模块的主要功能是对考勤机发来 的原始数据的存储和对现有考勤记录的显示 由于考勤数据量较大再用窗体的 显示方法显然是不合适的 因此这里通过列表控件来显示记录集中的数据 企业进行考勤的目的是为了有效控制员工的迟到 早退及旷工等不良现象 工资管理系统 10 但不能简单的根据某员工缺少某天的考勤记录就认定该员工违反工作纪律 例 如 员工在请过事病假并得到领导批准 因工作需要外派而不能在有效时间内 赶回公司刷卡的现象就应在月末汇总时剔除在外 1 计算每个员工的工资 生成临时表如下 每个月统计结果 表 3 5 工资条 姓名 工号 基本工资加班津贴其他补贴 迟到早退请假 SQL 查询语言如下 1 将有考勤机获得的员工上班时间 我们在此仅取五天的上下班情况 由年月日时分转换成有时分 形成一个新表格 new table 员工号 月初上班时 间 月末下班时间 新表格中的时间不含有年月日 以便于与上班时 间比较和简化存储量 new table 表格的 SQL 语言形成如下 use 工资管理系统 go select id as 员工号 convert varchar 10 st1 108 as 1 日上班时间 convert varchar 10 dt1 108 as 1 日下班时间 convert varchar 10 st2 108 as 2 日上班时间 convert varchar 10 dt2 108 as 2 日下班时间 convert varchar 10 st3 108 as 3 日上班时间 convert varchar 10 dt3 108 as 3 日下班时间 convert varchar 10 st4 108 as 4 日上班时间 convert varchar 10 dt4 108 as 4 日下班时间 convert varchar 10 st5 108 as 5 日上班时间 convert varchar 10 dt5 108 as 5 日下班时间 into new table from monthtime 表 3 6 上下班时间表 工资管理系统 11 2 形成每个月的考勤表 利用上面形成的表格做为参照表 建立考勤表 正常 迟到 早退 加班 请假 缺勤情况 即上下班时间为空值时仅视为 缺勤 当然也可以建立存储过程 worker id 方便查询 use 工资管理系统 go select id case when datediff minute convert varchar 10 st1 108 8 00 0 then 早退 when datediff minute 18 00 convert varchar 10 dt1 108 0 and datediff minute 18 00 convert varchar 10 dt1 108 25 then 加班 end as 1 号下班情况 case when datediff minute convert varchar 10 st2 108 8 00 0 then 早退 when datediff minute 18 00 convert varchar 10 dt2 108 0 and datediff minute 18 00 convert varchar 10 dt2 108 25 then 加班 end as 2 号下班情况 case when datediff minute convert varchar 10 st3 108 8 00 0 then 早退 when datediff minute 18 00 convert varchar 10 dt3 108 0 and datediff minute 18 00 convert varchar 10 dt3 108 25 then 加班 end as 3 号下班情况 case when datediff minute convert varchar 10 st4 108 8 00 0 then 早退 when datediff minute 18 00 convert varchar 10 dt4 108 0 and datediff minute 18 00 convert varchar 10 dt4 108 25 then 加班 end as 4 号下班情况 case when datediff minute convert varchar 10 st5 108 8 00 0 then 早退 when datediff minute 18 00 convert varchar 10 dt5 108 0 and datediff minute 18 00 convert varchar 10 dt5 108 25 then 加班 end as 5 号下班情况 from monthtime 工资管理系统 13 生成表格如下 表 3 7 考勤表 有上述生成的表格 属于交叉表的类型 在数据统计的过程中 需要进行行 列置换 通过 SQL 中的 piovt 运算符实现交叉表的行列互换 然后运用循环语 句统计迟到 早退及缺勤的次数 3 对员工的工作时间汇总 统计出每个月员工每天个工作时间 在此统计 五天的工作时间 利用该表来计算工资时 不考虑由于迟到所扣除的工资 月 份中所包含的节假日给予的特殊的工资以及加班所工作的时间作为迟到时间个 弥补和加班时间不足 25 分钟的不予考虑 表中时间的单位以分钟计 SQL 语言程序如下 对于加班时间不足一小时的 不统计在加班时间之内 生成表如下 use 工资管理系统 go select worker sn monthtime id datediff minute st1 dt1 as 1 号工作时间 datediff minute st2 dt2 as 2 号工作时间 datediff minute st3 dt3 as 3 号工作时间 datediff minute st4 dt4 as 4 号工作时间 datediff minute st5 dt5 as 5 号工作时间 into 月时间总表 from monthtime worker where worker id monthtime id 表 3 8 工作时间统计表 工资管理系统 14 4 计算每个员工的每个月的工资形成如下表格 表 3 9 工资表内容 姓名 工号 基本工资加班津贴其他补贴加班总时间 SQL 程序如下 在计算工资时 我们暂不考虑周末及节假日的工资情形 分 别求出员工每天加班的时间 然后得到月总加班时间 对于因为迟到 早退等 叩工资的情况 暂不在程序的求解范围之内 在此 我们仅求 5 天的工资情况 select worker sn as 员工名 worker id as 员工号 fs as 基本工资 1 号工作时间 2 号工作时间 3 号工作时间 4 号工作时间 5 号工作时 间 5 8 as 加班总时间 floor 1 号工作时间 2 号工作时间 3 号工作时间 4 号工作时间 5 号工作时间 30 5 8 60 10 fs 50 2 fs 25 as 工资 into 工资条 from worker profession
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼小衔接百科知识大全
- 非职务犯罪警示教育心得体会三篇
- 高壁垒的成长赛道受益于自主可控与人形机器人未来发展
- 仓库巡查记录表
- 保定市建筑工程质量通病防治导则要点
- 吞咽障碍康复管理指南考核试题
- 安徽省合肥市百花中学等四校联考2025-2026学年高一上学期11月期中考试语文试卷
- 自身免疫性神经精神疾病2026
- 统计与概率测试题及答案
- 2025年电缆企业环保试题及答案
- 2025年甘肃省武威市凉州区金山镇选聘专业化管理大学生村文书考试笔试备考试题及答案解析
- 2025至2030中国养老地产行业项目调研及市场前景预测评估报告
- 2025年安康杯知识竞赛试题及答案
- 吊绳的施工方案
- 上海财经大学:低空+发展研究报告(2025年)
- (人教2024版)数学三年级上册第5单元《线和角》大单元教学设计(新教材)
- 2025年事业单位公共基础知识考试复习题库及答案
- 别墅设计平面介绍
- DB33-T 1455-2025 涉企增值服务工作指南
- 藏族简介课件
- GB/T 6071-2003超高真空法兰
评论
0/150
提交评论