数据库职工考勤管理信息系统.doc_第1页
数据库职工考勤管理信息系统.doc_第2页
数据库职工考勤管理信息系统.doc_第3页
数据库职工考勤管理信息系统.doc_第4页
数据库职工考勤管理信息系统.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

上海电机学院电子信息学院上海电机学院电子信息学院 大型数据库大型数据库 课程设计课程设计 设计题目 设计题目 职工考勤管理系统职工考勤管理系统 专专 业 业 计算机科学与技术计算机科学与技术 班班 级 级 BX0901 学学 号 号 0835 姓姓 名 名 李佳骏李佳骏 组组 长 长 张广琪张广琪 组组 员 员 李佳骏李佳骏 赵韵敏赵韵敏 2011 年年 12 月月 目录目录 1 概述 1 1 1 设计背景 1 1 2 研究目的 1 1 3 理论基础的分析 2 1 4 预期结果和意义 2 2 需求分析 2 2 1 功能需求 2 2 2 数据流图 3 2 3 功能模块图 4 2 4 系统数据流程图 4 3 概念结构设计 5 3 1 局部 E R 图 5 3 2 整体 E R 图 8 4 逻辑结构设计 9 4 1 关系模式 9 4 2 数据关系图 9 5 物理结构设计 10 5 1 存储记录结构设计 10 5 2 创建索引 12 6 数据库实施 13 6 1 建立数据库 13 6 2 数据表的创建 13 6 3 建立存储过程 16 6 4 创建触发器 17 7 数据库运行和维护 18 8 结论 19 1 31 1 概述概述 1 1 设计背景设计背景 随着企业人事管理的日趋复杂和企业人员的增多 企业的考勤管理变得越来越复 杂 规范的考勤管理是现代企业提高管理效益的重要保证 而传统的人工管理存在着 效率低 不易统计 成本高和易出错等弊端 已经无法适应现代企业的需求 随着计 算机技术和通信技术的迅速发展 将传统的人工考勤管理计算机化 建立一个高效率 的 无差错的考勤管理系统 能够有效的帮助企业实现 公正考勤 高效薪资 使企 业的管理水平登上一个新的台阶 企业考勤管理经过如下的业务流程 1 员工基本信息管理 添加 删除 更改 2 员工考勤管理 员工根据自己的班次在上下班时分别进行出勤操作 采用手 动方式或者使用划卡机 由人事部门专门的人员管理出勤和退勤信息 3 一般在每个月月初进行考勤汇总 汇总信息包括工作日的出勤情况 请假天 数 出差天数 休假天数和不同性质的加班记录等 1 2 研究目的研究目的 待开发的系统的名称为企业职工在线考勤系统 我们以中小型企业的考勤管理业务为依托 结合科学管理的理论 设计并开发一 个企业考勤管理信息系统 提供一个科学合理的考勤管理解决方案 彻底实现无纸化 作业 根据管理权限的不同 将界面分为一般职员 部门经理 系统管理员和最高管 理者四个层次 系统目标如下 1 提供简单 方便的操作 2 根据企业原来的考勤管理制度 为企业不同管理层次提供相应的功能 3 通过考勤管理无纸化的实现 使企业的考勤管理更加科学规范 4 节省考勤管理的成本 5 提高企业考勤管理的透明度和效率 防止 虚假出勤 的现象 6 对系统提供必要的权限管理 7 为企业实现整体信息化的其他相关系统提供必要的数据支持 1 3 理论基础的分析理论基础的分析 本设计利用 sql server 2005 建立数据库 表格化存储 利用表的查询 连接 修改 删除数据等管理员工信息 对数据库设定必要的权限 只有具有权限的人才能进行查 看 修改数据 1 4 预期结果和意义预期结果和意义 考勤系统能实现职工日考勤记录 记录请假信息 记录出差信息等功能 并最终 所有信息归入月统计中去 本考勤系统建立了一个高效率的 无差错的考勤管理系统 能够有效的帮助企业 实现 公正考勤 高效薪资 使企业的管理水平登上一个新的台阶 2 需求分析需求分析 2 1 功能需求功能需求 1 数据管理 功能是设置和管理基础数据 包括加班 请假类别的定义和班次的定义 在全县 范围内可以进行基础数据的添加 删除和修改 2 考勤管理 包括出勤动作 出勤信息的查询 上级对下级员工的出勤信息的确认 生成考勤 统计信息并可以根据指定的条件进行查询 实现从每日出勤到统计全部考勤信息的无 纸化操作 为方便数据传递和查阅 要根据需求提供不同时间短的考勤统计信息表 3 31 3 加班管理 对员工的加班时间进行统计 记录开始时间和结束时间 对加班信息实现添加 删除等操作 4 请假管理 可以提出请假申请 并完善请假信息 如请假开始时间 请假结束时间 请假的 次数进行管理 5 出差管理 管理者安排员工出差 对出差时间 次数的管理 2 2 数据流图数据流图 数据流图 如图 2 1 所示 N N MM M MN NM N 2 1 数据流图 职工 出勤 出勤记录 出差 出差记录 请假信息 请假 加班 加班信息 月统计 统计 2 3 功能模块图功能模块图 如图 2 2 所示 图为功能模块图 2 2 功能模块图 2 4 系统数据流程图系统数据流程图 如图 2 3 所示 图为数据流程图 2 3 数据流程图 记录出勤 时间 员工出勤 记录 上下班时 间安排 请假 值 班 出差 记录 月度员工 考勤统计 经理审批 员 工 考勤 员 管理 人员 各种统计信 息 职工考勤管理信息系统 员工基本信息 出 勤 记 录 出 差 记 录 请 假 记 录 加 班 记 录 月 统 计 5 31 年龄 3 概念结构设计概念结构设计 3 1 局部局部 E R 图图 1 员工 E R 图 如图 3 1 1 所示 图 3 1 员工 E R 图 2 图 2 3 2 为出勤 E R 图 图 3 2 出勤 E R 图 3 图 3 3 为出差 E R 图 职工 性别 编号 姓名 出勤记录 上班时间 缺勤记录 下班时间 职工编号 年龄 图 3 3 出差 E R 图 4 加班 E R 图如图 3 4 所示 3 4 加班 E R 图 5 请假 E R 图如图 3 5 所示 出差记录 开始时间 缺勤记录结束时间 职工编号 出差编号 出勤记录 开始时间 加班统计 结束时间 职工编号 加班编号 7 31 3 5 请假 E R 图 6 月统计 E R 图 3 6 月统计 E R 图 3 2 整体整体 E R 图图 如图 3 7 所示 图为整体 E R 图 请假记录 开始时间 请假统计 结束时间 编号 请假编号 出勤记录 上班时间缺勤记录 下班时间 职工编号 3 7 整体 E R 图 4 逻辑结构设计逻辑结构设计 4 1 关系模式关系模式 职工 职工编号 姓名 性别 年龄 出勤记录 职工编号 出勤编号 上班时间 下班时间 缺勤记录 出差记录 职工编号 出差编号 开始时间 结束时间 统计天数 结束时间 9 31 加班信息 职工编号 加班编号 加班开始时间 加班结束时间 加班时间统计 请假信息 职工编号 请假编号 请假开始时间 请假结束时间 请假时间统计 月统计 职工编号 出勤月统计 出差月统计 加班月统计 请假月统计 4 2 数据关系图数据关系图 如图 4 2 1 所示 在数据库中生成的关系图中 员工编号是员工信息表的主键 是 其他表的外键 图 4 1 数据关系图 5 物理结构设计物理结构设计 5 1 存储记录结构设计存储记录结构设计 在物理结构中 数据的基本存取单位是存储记录 有了逻辑结构以后 就可以设 计存储记录结构 一个存储记录可以与多个逻辑记录相对应 存储记录就包括记录的 组成 数据项的类型和长度等 在本图中5 1职工信息表主要包括职工编号 姓名 性别 年龄 表 5 1 职工信息表 列名字段类型约束控制 职工编号Char 4 主键 姓名Char 6 非空 性别Char 2 男 或 女 年龄Int非空 职称char 4 非空 在本表5 2中出勤记录包含职工编号 出勤编号 上班时间 下班时间 缺勤记录 表 5 2 出勤记录表 列名字段类型约束控制 职工编号Char 4 外键 出勤编号Int主键 上班时间Datetime允许空 下班时间Datetime允许空 缺勤记录Datetime允许空 在本图5 3中出差记录职工编号 出差编号 开始时间 结束时间 统计天数 表 5 3 出差记录表 列名字段类型约束控制 职工编号Char 4 外键 出差编号Int主键 开始时间Datetime允许空 11 31 结束时间Datetime允许空 统计天数Int允许空 在本表5 4中加班记录表主要包含职工编号 加班编号 开始时间 结束时间 时间统 计 表 5 4 加班记录表 列名字段类型约束控制 职工编号Char 4 外键 加班编号Int主键 开始时间Datetime允许空 结束时间Datetime允许空 时间统计Int允许空 在本表 5 5 中 请假记录表主要包括职工编号 请假编号 请假开始时间和请假结 束时间组成 表 5 5 请假记录表 列名字段类型约束控制 职工编号Char 4 外键 请假编号Int主键 请假开始时间Datetime允许空 请假结束时间Datetime允许空 统计天数Int允许空 在本图 5 6 中月统计主要包括职工编号 出勤月统计 出差月统计 请假月统计 加班月统计 表 5 6 月统计记录表 列名字段类型约束控制 职工编号Char 4 主键 出勤月统计Int非空 出差月统计Int允许空 加班月统计Int允许空 请假月统计Int允许空 6 数据库实施数据库实施 6 1 建立数据库建立数据库 CREATE DATABASE 职工考勤 13 31 ON NAME 职工考勤 data FILENAME f 职工考勤 mdf SIZE 3 FILEGROWTH 1 LOG ON NAME 职工考勤 LOG FILENAME C 职工考勤 log ldf SIZE 1 MAXSIZE 50 FILEGROWTH 10 6 2 数据表的创建数据表的创建 1 出差记录表 CREATE TABLE dbo 出差记录表 职工编号 char 4 NOT NULL 出差编号 int NOT NULL 开始时间 datetime NULL 结束时间 datetime NULL 统计天数 int NULL CONSTRAINT out note Prim PRIMARY KEY CLUSTERED 职工编号 ASC 出差编号 ASC WITH PAD INDEX OFF STATISTICS NORECOMPUTE OFF IGNORE DUP KEY OFF ALLOW ROW LOCKS ON ALLOW PAGE LOCKS ON ON PRIMARY ON PRIMARY GO SET ANSI PADDING OFF GO ALTER TABLE dbo 出差记录表 WITH CHECK ADD CONSTRAINT FK 出 差记录表 职工信息表 FOREIGN KEY 职工编号 REFERENCES dbo 职工信息表 职工编号 GO ALTER TABLE dbo 出差记录表 CHECK CONSTRAINT FK 出差记录表 职工 信息表 图 6 1 出差记录表 2 出勤记录表 CREATE TABLE dbo 出勤记录表 职工编号 char 4 NOT NULL 出勤编号 int NOT NULL 上班时间 datetime NULL 下班时间 datetime NULL 15 31 缺勤记录 datetime NULL CONSTRAINT work note Prim PRIMARY KEY CLUSTERED 职工编号 ASC 出勤编号 ASC WITH PAD INDEX OFF STATISTICS NORECOMPUTE OFF IGNORE DUP KEY OFF ALLOW ROW LOCKS ON ALLOW PAGE LOCKS ON ON PRIMARY ON PRIMARY GO SET ANSI PADDING OFF GO ALTER TABLE dbo 出勤记录表 WITH CHECK ADD CONSTRAINT FK 出 勤记录表 职工信息表 FOREIGN KEY 职工编号 REFERENCES dbo 职工信息表 职工编号 GO ALTER TABLE dbo 出勤记录表 CHECK CONSTRAINT FK 出勤记录表 职工信 息表 图 6 2 出勤记录 3 加班记录表 CREATE TABLE dbo 加班记录表 职工编号 char 4 NOT NULL 加班编号 int NOT NULL 开始时间 datetime NULL 结束时间 datetime NULL 时间统计 int NULL CONSTRAINT over note Prim PRIMARY KEY CLUSTERED 职工编号 ASC 加班编号 ASC WITH PAD INDEX OFF STATISTICS NORECOMPUTE OFF IGNORE DUP KEY OFF ALLOW ROW LOCKS ON ALLOW PAGE LOCKS ON ON PRIMARY ON PRIMARY GO SET ANSI PADDING OFF GO ALTER TABLE dbo 加班记录表 WITH CHECK ADD CONSTRAINT FK 加 班记录表 职工信息表 FOREIGN KEY 职工编号 REFERENCES dbo 职工信息表 职工编号 GO ALTER TABLE dbo 加班记录表 CHECK CONSTRAINT FK 加班记录表 职工 信息表 17 31 图 6 3 加班记录表 4 请假记录表 CREATE TABLE dbo 请假记录表 职工编号 char 4 NOT NULL 请假编号 int NOT NULL 开始时间 datetime NULL 结束时间 datetime NULL 统计天数 int NULL CONSTRAINT off note Prim PRIMARY KEY CLUSTERED 职工编号 ASC 请假编号 ASC WITH PAD INDEX OFF STATISTICS NORECOMPUTE OFF IGNORE DUP KEY OFF ALLOW ROW LOCKS ON ALLOW PAGE LOCKS ON ON PRIMARY ON PRIMARY GO SET ANSI PADDING OFF GO ALTER TABLE dbo 请假记录表 WITH CHECK ADD CONSTRAINT FK 请 假记录表 职工信息表 FOREIGN KEY 职工编号 REFERENCES dbo 职工信息表 职工编号 GO ALTER TABLE dbo 请假记录表 CHECK CONSTRAINT FK 请假记录表 职工信息 表 图 6 4 请假记录表 5 月统计表 CREATE TABLE dbo 月统计表 职工编号 char 4 NOT NULL 出勤月统计 int NULL 出差月统计 int NULL 加班月统计 int NULL 请假月统计 int NULL CONSTRAINT mounth Prim PRIMARY KEY CLUSTERED 职工编号 ASC WITH PAD INDEX OFF STATISTICS NORECOMPUTE OFF IGNORE DUP KEY OFF ALLOW ROW LOCKS ON ALLOW PAGE LOCKS ON ON PRIMARY ON PRIMARY GO 19 31 SET ANSI PADDING OFF GO ALTER TABLE dbo 月统计表 WITH CHECK ADD CONSTRAINT FK 月统 计表 职工信息表 FOREIGN KEY 职工编号 REFERENCES dbo 职工信息表 职工编号 GO ALTER TABLE dbo 月统计表 CHECK CONSTRAINT FK 月统计表 职工信息表 图 6 5 月统计表 6 职工信息表 CREATE TABLE dbo 职工信息表 职工编号 char 4 NOT NULL 职工姓名 char 6 NOT NULL 性别 char 2 NOT NULL 年龄 int NOT NULL 职称 varchar 50 NOT NULL CONSTRAINT worker Prim PRIMARY KEY CLUSTERED 职工编号 ASC WITH PAD INDEX OFF STATISTICS NORECOMPUTE OFF IGNORE DUP KEY OFF ALLOW ROW LOCKS ON ALLOW PAGE LOCKS ON ON PRIMARY ON PRIMARY GO SET ANSI PADDING OFF GO ALTER TABLE dbo 职工信息表 WITH CHECK ADD CONSTRAINT SEX Chk CHECK 性别 男 OR 性别 女 GO ALTER TABLE dbo 职工信息表 CHECK CONSTRAINT SEX Chk 图 6 6 月统计记录表 6 3 建立存储过程建立存储过程 如图 6 7 所示 建立 5 张表存储过程 create procedure p 信息读取 职工编号char 4 as begin select 职工编号 出差编号 开始时间 结束时间 统计天数 from 出差记录表 where 出差记录表 职工编号 职工编号 21 31 select 职工编号 加班编号 开始时间 结束时间 时间统计 from 加班记录表 where 加班记录表 职工编号 职工编号 select 职工编号 请假编号 开始时间 结束时间 统计天数 from 请假记录表 where 请假记录表 职工编号 职工编号 SELECT 职工编号 出勤编号 上班时间 下班时间 缺勤记录 FROM 出勤记录表 where 出勤记录表 职工编号 职工编号 select 职工编号 出勤月统计 出差月统计 加班月统计 请假月统计 from 月统计表 where 月统计表 职工编号 职工编号 end return Go 调试 declare 职工编号char 4 set 职工编号 001 execute p 信息读取 职工编号 图 6 7 运行结果 6 4 创建触发器创建触发器 1 建立一个触发器 删出差记录表一个职工编号 同时删月统计表上的相应 内容 if exists select name from sysobjects where name T 触发器 and type TR drop trigger T 触发器 go create trigger T 触发器 on 出差记录表 for delete as begin delete from 月统计表 from 月统计表 deleted d 23 31 where 月统计表 职工编号 d 职工编号 End 调试 begin tran select from 出差记录表 月统计表where 出差记录表 职工编号 月统计表 职工编 号 delete from 出差记录表where 职工编号 009 select from 出差记录表 月统计表where 出差记录表 职工编号 月统计表 职工编 号 rollback 创建一个触发器 删除月统计表是 删除其他四张表上的 相同职工编号的内容 if exists select name from sysobjects where name T1 触发器 and type TR drop trigger T1 触发器 go create trigger T1 触发器 on 月统计表 for delete as begin delete from 出勤记录表 from 出勤记录表 deleted d where 出勤记录表 职工编号 d 职工编号 delete from 出差记录表 from 出差记录表 deleted d where 出差记录表 职工编号 d 职工编号 delete from 加班记录表 from 加班记录表 deleted d where 加班记录表 职工编号 d 职工编号 delete from 请假记录表 from 请假记录表 deleted d where 请假记录表 职工编号 d 职工编号 End begin tran select from 月统计表 出勤记录表where 出勤记录表 职工编号 月统计表 职工编 号 delete from 月统计表where 职工编号 002 select from 月统计表 出勤记录表where 出勤记录表 职工编号 月统计表 职工编 号 rollback 25 31 2 创建一个触发器 当增加请假表时候 相应增加月统计表的内容 if exists select from sysobjects where name T3 触发器 and type TR drop trigger T3 触发器 go create trigger T3 触发器 on 请假记录表 for insert as begin update 月统计表 set 请假月统计 统计天数 from 月统计表 inserted where 月统计表 职工编号 inserted 职工编号 end select from 月统计表 insert into 请假记录表 values 008 10 2012 2 5 0 00 00 2012 2 2 0 00 00 5 消息2627 级别14 状态1 第2 行 违反了PRIMARY KEY 约束 PK 请假记录表 不能在对象 dbo 请假记录表 中插入重复键 语句已终止 6 5 创建创建游标游标 定义一个只读游标 月统计 游标 逐行显示月统计表的所有信息 declare 月统计表 游标 cursor for select 职工编号 出勤月统计 出差月统计 加班月统计 请假月统计 from 月统计表order by 职工编号 for read only declare Y id char 4 Y sy int Y wx int Y gx int

温馨提示

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

评论

0/150

提交评论