数据库课程设计 职工考勤系统
职工考勤管理系统

C语言程序设计课程设计报告课设题目:考勤管理系统专业:班级:姓名:成绩:完成日期:指导教师:目录1.课程设计目的 (2)2.需求分析 (2)2.1要求 (2)2.2任务描述 (2)2.3运行环境 (2)2.4开发工具 (3)3.总体设计 (3)3.1系统流设计 (3)3.2系统模块设计 (4)4.详细设计 (5)4.1数据结构设计 (5)4.2模块接口设计 (6)4.3 以下是几个主要模块的流程图: (7)5.运行结果 (9)5.1主菜单界面: (9)5.2信息录入界面: (9)5.3信息浏览界面: (10)5.4 信息查询界面: (10)5.5信息修改界面: (11)6.程序调试与测试 (11)6.1程序调试 (11)6.2程序测试 (11)7.问题与不足 (13)8.建议 (13)9.编程体会 (13)10.程序源代码: (14)11.参考文献 (31)12.用户使用手册 (31)1.课程设计目的1)通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。
2)通过课程设计,进一步掌握C语言中重要的数据结构。
掌握并熟练运用指针、链表、结构体、文件等数据结构。
3)通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。
4)通过课程设计,培养C语言知识运用和自学能力,真正的把课堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。
5)通过课程设计,加强了自己的程序分析能力。
2.需求分析2.1要求1)遵循软件开发过程的基本规范;能灵活应用,初步具备运用C程序解决实际问题的能力。
2)运用结构化程序设计方法,按照课程设计题目要求,完成包括需求分析、数据结构设计、概要设计、详细设计、编写代码、调试和测试C程序等过程。
3)学会利用数组、结构体、链表进行相关信息表示。
4)功能模块划分清晰,系统结构图符合功能操作要求,且有详尽的功能描述5)各主要功能模块有详尽的流程图及描述,用函数的形式实现,且调用入口、功能、出口等关系正确。
数据库课程设计之某单位考勤管理系统

图4 系统功能结构图3.1.3安全性完整性需求(1)安全性需求分析①需要输入用户名与密码才能登陆本系统;②输入的登陆密码需要以“*”显示;③禁止非法数据写入;④对于各种错误可以做到提醒或纠正;(2)完整性需求①数据库设计时要使关系的属性不可再分,满足原子性;②约束表格中部分属性的内容;③为数据的新增、修改或删除设定对应的触发器;④给表格外键设置级联删除,当对应外键被删除时,将其关联信息全部删除;⑤防止数据库查询发生SQL 注入的攻击;3.1.4数据流图(1)顶层数据流图,如图1示:图1顶层数据流图(2)零层数据流图,如图2示:图2 零层数据流图(3)一层数据流图,如图3示:图3 一层流图3.1.5 E-R图(1)局部E-R图(以考勤表、员工信息表为例)如图5、图6示:图5 考勤信息表E-R图图6 员工信息表E-R图(2)全局ER图,如图7示:图7 全局E-R图3.1.6数据字典(1)数据结构部门信息表(表一)列名说明字段类型约束控制部门名称不同员工有不同部门nchar(10)非空部门编号所属部门编号1~6级int可以为空级别信息表(表二)列名说明字段类型约束控制其中部门信息表对应部门基本关系,员工信息表对应员工基本关系,级别信息表对应级别基本关系,状态信息表对应员工考勤基本情况,技能信息表对应员工基本技能,员工技能信息表对应技能与员工之间的关系,考勤信息表对应员工与员工打卡状态之间的关系。
3.2.2功能图(1)系统功能结构图,如图8示:图8系统功能结构图3.3详细设计3.3.1数据库SQL Server 2014 数据库文件分为3种类型:主数据文件、次数据文件和日志文件。
数据库名(DBO):timebookDB文件位置(File):D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA连接数据库:String conStr="jdbc:sqlserver://127.0.0.1:1433;databaseName=timebookDB";CREATE DATABASE [timebookDB]CONTAINNMNT = NONEON PRIMARY(NAME = 'timebookDB',FILENAME = 'D:\Program Files\Microsoft SQLServer\MSSQL12.MSSQLSERVER\MSSQL\DATA\timebookDB.mdf'SIZE = 5120KB,MAXSIZE = UNLIMITED,FILEGROWTH = 1024KB)LOG ON(NAME = 'timebookDB_log',FILENAME = 'D:\Program Files\Microsoft SQLServer\MSSQL12.MSSQLSERVER\MSSQL\DATA\timebookDB_log.ldf'SIZE = 2560KB,MAXSIZE = UNLIMITED,FILEGROWTH = 2048KB,FILEGROWTH = 10%) GOASdeclare @begin int,@time int,@cq char(10)select @cq=员工编号from insertedselect @begin=上班时间from insertedselect @time=下班时间from 考勤记录表if(@begin-@time)<5 and (@begin-@time)>0update 考勤记录表set 状态编号='3' where 员工编号=@cq and 上班时间=@beginif(@begin-@time)<0update 考勤记录表set 状态编号='1' where 员工编号=@cq and 上班时间=@beginif(@begin-@time)>5update 考勤记录表set 状态编号='2' where 员工编号=@cq and 上班时间=@begin●创建存储过程统计各员工指定月份的缺席、旷工次数;use timebookDBgocreate procedure pro_10(@日期date)as beginselect 员工信息表.员工编号,员工信息表.姓名,count(员工信息表.员工编号)-count(考勤记录表.员工编号)缺席from 员工信息表,考勤记录表where 员工信息表.员工编号=考勤记录表.员工编号group by 员工信息表.员工编号,员工信息表.姓名endgo●创建check约束,限制员工的性别必须为‘男’或‘女’;alter table 员工信息表with checkadd constraint df_性别default '男' for 性别(9)执行完上述操作,得到如下界面,如图12示:图12 数据库详情(10)表与表之间关系模式图,如图13示:图13 关系模式图3.3.3主流程图(1)主系统流程图,如图9示:图9 主系统流程图主界面:图10 主界面(2)员工信息管理界面功能,员工查询功能如图11示:图11 员工查询功能流程图界面如图12示:图12 查询员工信息(3)员工信息管理界面功能,修改员工信息功能如图13示:图13修改员工信息界面如图14所示:图14 修改员工信息(4)员工信息管理界面功能,员工考勤功能如图15示:图15 员工考勤功能界面如图16所示:图16 员工考勤界面(5)管理员界面管理功能,查询员工考勤流程图如图17示:图17 管理员查询流程图界面如图18所示:图18 管理员查询界面(6)管理员界面管理功能,录入员工流程图如图19示:图19 管理员录入员工信息流程图界面如图20所示:图20 员工录入界面(7)管理员界面管理功能,修改员工考勤流程图如图21示:4.系统实现图21 修改员工信息流程图界面如图22所示:图22 修改员工信息界面JOptionPane.showMessageDialog(null, "新密码不一致。
职工考勤管理信息系统数据库课程设计

职工考勤管理信息系统数据库课程设计数据库课程设计说明书数据库课程设计说明题目: 职工考勤管理信息系统专业计算机科学与技术班级学号姓名2011年10月 21 日1数据库课程设计说明书第一章引言1.1设计开发的意义传统意义上的职工考勤管理都是采用原始的手工操作来完成的。
人事部的管理人员或办公室人员要进行经常的繁琐的记录、修改、查询、统计等工作,不仅时间长、劳动强度大、工作效率低下,并且在这种管理模式下对职工的考勤信息不全且易造成混乱。
随着社会的进步,计算机科技的广泛应用,通过现代化的科学的方式对职工考勤信息进行管理已成为可能。
基于此,我希望能通过开发这一管理系统,由计算机代替人工操作一系列职工基本信息的输入、修改、查询、统计等操作,既减轻了管理人员的工作强度,提高了工作效率,降低解企业的经营成本;同时,也对企业内部管理的科学化、规范化作出一点尝试。
1.2任务及目标项目的提出者:天津理工大学计算机与通信工程学院课题开发组。
开发单位:08中加3-4班项目小组。
充分了解用户的需求,了解工作的流程,以及可能出现的问题。
职工考勤信息管理系统中首先必须设置好职工基本信息,职工基本信息在本系统占据着很重要的地位。
在对职工的出差、出勤、加班、请假这些信息管理的时候都需通过职工基本信息进行操作。
本系统结合实际的职工考勤管理制度,经过实际的需求分析,采用功能强大的Visual Basic6.0作为开发工具而开发出来的职工考勤信息管理系统。
职工考勤管理信息系统的具体功能包括:职工基本信息实体,职工出勤信息实体,管理员管理系统信息实体。
主要功能:管理员功能:签到,增加职工及职工信息,增加登录用户,设置用户权限,查看职工出勤信息,修改职工出勤信息。
签到用户功能:签到。
灵活性:本软件对变更的适应性较强,采用人工手动输入与系统自动输入相结合的形式,数据库文件可以单独转移到其他地方使用,可以保证数据的安全和高兼容性,当系统改变时可以自动调整精度与安全性1.3开发环境操作系统:windows 7编译环境:使用Visual Studio 2010来进行系统汇编使用Access 2007进行数据库管理2数据库课程设计说明书第二章系统分析与设计2.1系统需求分析 2.1.1 处理需求根据职工签到特性,设计了以下功能:管理员功能:签到,增加职工及职工信息,增加登录用户,设置用户权限,查看职工出勤信息,修改职工出勤信息。
员工考勤管理系统课程设计

员工考勤管理系统课程设计一、引言员工考勤管理系统是现代企业必不可少的一种工具,它可以有效地帮助企业管理好员工的出勤、请假和加班情况,提高企业的办公效率和管理水平。
在这篇文档中,我将介绍一下员工考勤管理系统的课程设计思路和实现方案。
二、课程设计思路1.需求分析在进行员工考勤管理系统的课程设计之前,我们需要进行需求分析,深入了解企业管理员工考勤的需求。
在这个过程中,我们需要考虑以下问题:(1)企业管理员工考勤需要记录哪些信息?包括员工的姓名、工号、考勤日期、上下班时间、请假、旷工、迟到、早退、加班等情况。
(2)员工考勤如何实现?需要通过什么方式记录员工的考勤情况?如何确保考勤数据的准确性和完整性?(3)员工考勤数据如何管理和统计?需要分析员工的考勤情况,生成考勤报表、工资单等。
2.系统设计在完成需求分析之后,我们需要进行系统设计,设计员工考勤管理系统的各个模块和功能。
在这个过程中,我们需要考虑以下问题:(1)数据模型设计:设计员工考勤数据的存储方式和数据结构。
(2)系统模块设计:设计系统的各个模块,包括员工信息管理、考勤记录管理、请假管理、加班管理、考勤报表和工资单管理等。
(3)系统界面设计:设计系统界面,设计用户友好的界面,方便员工和管理员使用系统进行操作。
(4)系统安全性设计:设计系统的安全性,保护员工的个人信息和企业的企业数据,包括登录验证和权限控制等。
3.技术选型在进行员工考勤管理系统的课程设计之前,我们需要进行技术选型,选择合适的技术框架和工具,以确保系统的稳定性和高效性。
在这个过程中,我们需要考虑以下问题:(1)数据存储:选择合适的关系数据库管理系统,如MySQL,进行数据的存储和管理。
(2)系统架构:采用MVC架构,分离系统的模型、视图和控制层,提高系统的可维护性和可扩展性。
(3)前端技术:采用HTML、CSS、JavaScript等前端技术,实现系统的页面展示和交互。
(4)后端技术:采用Java EE技术,如Servlet、JSP、Spring、MyBatis等,实现系统的业务逻辑和数据库访问。
数据库课程设计-公司考勤管理系统

信息工程学院《数据库应用系统开发》课程设计论文题目:单位考勤系统数据库设计学号:1212210231专业班级: 计算机12级(2)班姓名:李凯丽指导老师:尚佩妮,王伯槐,王小平完成日期:2015-1-3摘要现在不论哪个企业,都要进行考勤,一些企业在考勤管理方面用了大量的人力和财力,不说准确度和可信度如何,其效率很低,而且容易出错,不利于管理。
所以人工考勤已经很难再满足企业规范化管理的要求,随着数据库技术的发展和企业信息化建设的进行,使用计算机管理考勤成为一种主流趋势,它不仅为企业减少了人力财力的付出,而且也大大减轻了考勤工作人员的工作量。
本系统以打卡作为主要的数据输入来源,同时可以实现在一些特殊条件下对员工的工作时间进行修改如员工出差,放假,或者打卡机出现故障时对数据库的修改,然后将每个员工每月的工作情况分别统计最后交给财务部门和考勤部门并进行打印给每个对应的员工工作时间。
关键词:打卡机;员工;考勤部门;财务部门;目录1引言 (1)2。
需求分析阶段 (2)2。
1 引言 (2)2。
2 需求分析阶段的目标与任务 (2)2。
2。
1处理对象 ...................................... 错误!未定义书签。
2.3 需求分析阶段成果...................................... 错误!未定义书签。
3 概念设计阶段 (4)3。
1 引言 (6)3.2 任务与目标 (7)3。
3 阶段结果............................................. 错误!未定义书签。
4.逻辑设计阶段 (7)4。
1逻辑设计的任务和目标 (7)4.2数据组织 (7)4.2.1将E-R图转换为关系模型 (7)4。
2.2模型优化 ....................................... 错误!未定义书签。
4。
2。
3数据库模式定义 (9)4.2.4 用户子模式定义.................................. 错误!未定义书签。
数据库课程设计之某单位考勤管理系统

图4 系统功能结构图3.1.3安全性完整性需求(1)安全性需求分析①需要输入用户名与密码才能登陆本系统;②输入的登陆密码需要以“*”显示;③禁止非法数据写入;④对于各种错误可以做到提醒或纠正;(2)完整性需求①数据库设计时要使关系的属性不可再分,满足原子性;②约束表格中部分属性的内容;③为数据的新增、修改或删除设定对应的触发器;④给表格外键设置级联删除,当对应外键被删除时,将其关联信息全部删除;⑤防止数据库查询发生SQL 注入的攻击;3.1.4数据流图(1)顶层数据流图,如图1示:图1顶层数据流图(2)零层数据流图,如图2示:图2 零层数据流图(3)一层数据流图,如图3示:图3 一层流图3.1.5 E-R图(1)局部E-R图(以考勤表、员工信息表为例)如图5、图6示:图5 考勤信息表E-R图图6 员工信息表E-R图(2)全局ER图,如图7示:图7 全局E-R图3.1.6数据字典(1)数据结构部门信息表(表一)列名说明字段类型约束控制部门名称不同员工有不同部门nchar(10)非空部门编号所属部门编号1~6级int可以为空级别信息表(表二)列名说明字段类型约束控制其中部门信息表对应部门基本关系,员工信息表对应员工基本关系,级别信息表对应级别基本关系,状态信息表对应员工考勤基本情况,技能信息表对应员工基本技能,员工技能信息表对应技能与员工之间的关系,考勤信息表对应员工与员工打卡状态之间的关系。
3.2.2功能图(1)系统功能结构图,如图8示:图8系统功能结构图3.3详细设计3.3.1数据库SQL Server 2014 数据库文件分为3种类型:主数据文件、次数据文件和日志文件。
数据库名(DBO):timebookDB文件位置(File):D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA连接数据库:String conStr="jdbc:sqlserver://127.0.0.1:1433;databaseName=timebookDB";CREATE DATABASE [timebookDB]CONTAINNMNT = NONEON PRIMARY(NAME = 'timebookDB',FILENAME = 'D:\Program Files\Microsoft SQLServer\MSSQL12.MSSQLSERVER\MSSQL\DATA\timebookDB.mdf'SIZE = 5120KB,MAXSIZE = UNLIMITED,FILEGROWTH = 1024KB)LOG ON(NAME = 'timebookDB_log',FILENAME = 'D:\Program Files\Microsoft SQLServer\MSSQL12.MSSQLSERVER\MSSQL\DATA\timebookDB_log.ldf'SIZE = 2560KB,MAXSIZE = UNLIMITED,FILEGROWTH = 2048KB,FILEGROWTH = 10%) GOASdeclare @begin int,@time int,@cq char(10)select @cq=员工编号from insertedselect @begin=上班时间from insertedselect @time=下班时间from 考勤记录表if(@begin-@time)<5 and (@begin-@time)>0update 考勤记录表set 状态编号='3' where 员工编号=@cq and 上班时间=@beginif(@begin-@time)<0update 考勤记录表set 状态编号='1' where 员工编号=@cq and 上班时间=@beginif(@begin-@time)>5update 考勤记录表set 状态编号='2' where 员工编号=@cq and 上班时间=@begin●创建存储过程统计各员工指定月份的缺席、旷工次数;use timebookDBgocreate procedure pro_10(@日期date)as beginselect 员工信息表.员工编号,员工信息表.姓名,count(员工信息表.员工编号)-count(考勤记录表.员工编号)缺席from 员工信息表,考勤记录表where 员工信息表.员工编号=考勤记录表.员工编号group by 员工信息表.员工编号,员工信息表.姓名endgo●创建check约束,限制员工的性别必须为‘男’或‘女’;alter table 员工信息表with checkadd constraint df_性别default '男' for 性别(9)执行完上述操作,得到如下界面,如图12示:图12 数据库详情(10)表与表之间关系模式图,如图13示:图13 关系模式图3.3.3主流程图(1)主系统流程图,如图9示:图9 主系统流程图主界面:图10 主界面(2)员工信息管理界面功能,员工查询功能如图11示:图11 员工查询功能流程图界面如图12示:图12 查询员工信息(3)员工信息管理界面功能,修改员工信息功能如图13示:图13修改员工信息界面如图14所示:图14 修改员工信息(4)员工信息管理界面功能,员工考勤功能如图15示:图15 员工考勤功能界面如图16所示:图16 员工考勤界面(5)管理员界面管理功能,查询员工考勤流程图如图17示:图17 管理员查询流程图界面如图18所示:图18 管理员查询界面(6)管理员界面管理功能,录入员工流程图如图19示:图19 管理员录入员工信息流程图界面如图20所示:图20 员工录入界面(7)管理员界面管理功能,修改员工考勤流程图如图21示:4.系统实现图21 修改员工信息流程图界面如图22所示:图22 修改员工信息界面JOptionPane.showMessageDialog(null, "新密码不一致。
职工考勤管理系统数据库设计

目录一、设计概述-----------------------------------------21.1 问题描述--------------------------------------21.2 研究目的-------------------------------- -----21.3 开发环境和运行环境----------------------------31.4预期结果与意义--------------------------------3二、需求分析-----------------------------------------6三、数据库概念结构设计 ----------------------------10四、数据库逻辑结构设计-----------------------------10五、数据库运行与维护--------------------------------11六、界面设计----------------------------------------196.1登陆面板设计-----------------------------------196.2切换面板设计-----------------------------------20七、设计心得----------------------------------------21参考文献--------------------------------------------22前言职工考勤对一个企业来说是非常重要的,早期的考勤方法已不能满足现状,在科学技术迅速发展的今天一个方便、简洁、实用的管理系统是非常重要的,因此为了使企业职工考勤管理更加合理,使考勤员更加方便的管理这些数据,产生了计算机的数据管理技术——数据库技术。
在计算机技术迅速发展的今天,数据库技术是计算机信息系统与应用系统的核心技术和重要基础,是数据管理的最新技术,也是计算机科学的重要分支。
数据库课程设计考勤

数据库课程设计考勤简介在数据库课程设计中,考勤是一个重要的环节。
通过对学生的考勤情况进行记录和统计,可以及时了解学生的出勤情况,并对缺勤学生进行相应的处理。
本文将从数据库设计的角度,对考勤系统的实现进行探讨。
数据库设计实体考勤系统涉及到的实体主要有:学生、课程、考勤记录等。
学生学生是考勤系统的主要参与者。
学生实体包含以下属性:•学号•姓名•性别•年龄•班级课程课程是学校教学计划的一部分,也是考勤系统必须考虑的对象。
课程实体包含以下属性:•课程编号•课程名称•教师姓名•上课时间•上课地点考勤记录考勤记录是考勤系统的核心数据,用于记录每位学生在每节课上的出勤情况。
考勤记录实体包含以下属性:•学号•课程编号•上课时间•是否出勤关系在考勤系统中,学生与课程之间存在多对多的关系,即一个学生可以选择多门课程,同时一门课程也可以有多位学生选择。
因此,需要引入一个关系表来维护学生和课程的对应关系。
关系表的属性包括:•学号•课程编号功能需求考勤系统的功能需求主要包括:1.记录学生每节课的出勤情况2.统计每位学生的出勤率和缺勤情况3.针对缺勤的学生,提供相应的预警和处理机制数据库设计实现数据库表设计基于上述的实体和关系,我们可以设计出以下的数据库表结构:学生表(Student)Field Type Key学号int Primary KeyField Type Key姓名varchar(20)性别varchar(2)年龄int班级varchar(20)课程表(Course)Field Type Key课程编号int Primary Key课程名称varchar(50)教师姓名varchar(20)上课时间datetime上课地点varchar(50)关系表(Relation)Field Type Key学号int Primary Key, Foreign Key课程编号int Primary Key, Foreign Key考勤记录表(Attendance)Field Type Key学号int Primary Key, Foreign Key课程编号int Primary Key, Foreign Key上课时间datetime Primary Key是否出勤boolean功能实现记录考勤考勤记录是考勤系统的核心功能,需要提供录入考勤的接口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要在现代企业管理中,企业信息化是提高企业管理效率的重要手段。
随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。
规范的考勤管理是现代企业提高管理效益的重要保障,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。
随着计算机技术和通信技术的迅速发展,将传统的人工考勤管理信息化,建立一个高效率的、无差错的考勤管理系统,能够有效地帮助企业实现“公正考勤,高效薪资”的管理理念,使企业的管理水平登上一个新的台阶。
本课程设计主要是对企业员工的考勤管理。
本系统的设计只要是为了实现管理和查询企业员工的工作出勤情况。
主要功能有:刷卡记录管理、加班管理、请假管理、用户登录和注册功能以及月考勤统计表的查询。
本系统的数据库是用Microsoft Access 2007软件进行创建和设计,分别包括刷卡记录信息表,加班信息表,请假信息表,月考勤统计表和登录信息表五个表。
通过系统ODBC数据源管理工具把已创建的数据源与系统数据库相连。
然后利用Visual Basic软件对系统的窗口进行设计,包括登录界面、注册新用户界面、主界面、浏览窗体和查询窗体等,可以通过这些窗体进行登录操作,对输入的用户信息进行验证,和注册新用户操作,以及最重要的操作是对数据库中信息进行修改与查询。
并可以对数据进行添加与删除,做到及时更新员工考勤信息。
关键词:考勤管理,Microsoft Access 2007软件,Visual Basic软件1.系统功能概述1.1系统功能考勤管理系统主要是实现刷卡记录、加班和请假的管理以及员工月考勤统计。
设计为MDI窗体,含有主菜单:[文件]、[管理考勤信息]、[查询考勤信息]。
[文件]菜单包含以下子菜单及其功能:[注册]:打开“注册新用户”窗体[关闭]:结束程序运行[登录]:登录主界面[管理考勤信息]包含以下子菜单:[刷卡信息]菜单:显示刷卡信息浏览和编辑窗体[加班信息]菜单:显示加班信息浏览和编辑窗体[请假信息]菜单:显示请假信息浏览和编辑窗体[查询考勤信息] 包含以下子菜单:[刷卡信息查询]菜单:显示刷卡信息查询窗体[加班信息查询]菜单:显示加班信息查询窗体[请假信息查询]菜单:显示请假信息查询窗体[月考勤信息查询]菜单:显示月考勤信息查询窗体1.2系统结构总图考勤管理系统的结构总图,如图1.1所示:图1.1 考勤管理系统的结构总体2.数据库设计2.1 需求分析随着现代数据的信息化和大数据时代的到来,各个企业也逐渐实行信息化管理。
而企业考勤管理一直以来就遵循着传统的人工管理制度,这种人工管理方法已经不再是高效、快速解决问题的最好选择。
随着各企业的快速发展和企业员工频繁交替更换,使得企业对考勤管理系统有着更高的要求,来达到企业利益最大化和职工利益的公平性。
数据库管理系统能快速的帮助管理者处理数据,提高工作效率,实现公平公正的管理制度。
2.2E-R模型刷卡记录信息管理E-R图,如图2.1所示。
加班信息管理E-R图,如图2.2所示。
请假信息管理E-R图,如图2.3所示。
月考勤统计信息E-R图,如图2.4所示。
登录E-R图,如图2.5所示。
全局E-R图,如图2.6所示。
图2.1 刷卡记录信息管理实体属性图图2.2 加班信息管理实体属性图图2.3 请假信息管理实体属性图图2.4 月考勤统计信息管理实体属性图图2.5 登录实体属性图图2.6 全局E-R图2.3关系模型一个实体性转换为一个关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
根据E-R图向关系模型转换的原则,就是把E-R图转换为关系模型。
刷卡记录信息:职员编号、刷卡时间、刷卡日期(主键为职员编号)加班信息:职员编号、加班时数、加班日期、加班原因(主键为职员编号)请假信息:职员编号、请假日期、请假次数、请假原因(主键为职员编号)月考勤统计信息:职员编号、日期、加班时间、请假次数、旷工次数、迟到次数、早退次数(主键为职员编号)登录:用户名、密码(主键为用户名)2.4表结构设计3.系统各功能模块的详细设计3.1 各窗体的设计此考勤管理系统共包括13个窗体,分别是登录、注册、刷卡记录信息查询、加班信息查询、请假信息查询、月考勤信息查询和MDI主窗体。
3.2 各窗体实现及代码3.2.1登录窗体打开登录界面后,输入用户名和密码,点击登录按钮,进入MDI主窗体,如图3.1所示。
图3.1登录界面图代码:Dim micount As IntegerPrivate Sub Command1_Click()Dim str As Stringstr = "select * from 登录where 用户名='" & Text1.Text & "'"Adodc1.RecordSource = strAdodc1.RefreshIf Adodc1.Recordset.BOF = True ThenMsgBox "用户名错误,请重新输入", vbExlamation, "警告"Text1.Text = ""Text2.Text = ""Text1.SetFocusElseIf Trim(Adodc1.Recordset.Fields("密码")) = Text2.Text ThenMDIForm1.ShowUnload MeMDIForm1.g.Enabled = TrueMDIForm1.c.Enabled = TrueMsgBox "密码错误,请重新输入", vbExlamation, "警告"Text2.Text = ""Text2.SetFocusEnd IfEnd Ifmicount = micount + 1If micount >= 3 Then Unload MeEnd SubPrivate Sub Command2_Click()Unload MeEnd Sub3.2.2 MDI主窗体主窗体含有主菜单:[文件]、[数据管理]、[数据查询]。
[文件]菜单包含子菜单登录、注册、退出。
[数据管理]菜单包含子菜单有:刷卡信息管理、加班信息管理和请假信息管理。
[数据查询]包含子菜单有:刷卡信息查询、加班信息查询、请假信息查询和月考勤信息查询。
如图3.2所示。
图3.2 MDI主窗体图代码:Private Sub c1_Click()刷卡信息.ShowEnd SubPrivate Sub c2_Click()加班信息.ShowEnd SubPrivate Sub c3_Click()请假信息.ShowEnd SubPrivate Sub g1_Click()刷卡信息查询.ShowEnd SubPrivate Sub g2_Click()加班信息查询.ShowEnd SubPrivate Sub g3_Click()请假信息查询.ShowEnd SubPrivate Sub g4_Click()月考勤信息查询.ShowEnd SubPrivate Sub MDIForm_Load()g.Enabled = Falsec.Enabled = FalseEnd SubPrivate Sub w1_Click()注册.ShowEnd SubPrivate Sub w2_Click()登录.ShowEnd SubPrivate Sub w3_Click()Unload MeEnd Sub3.2.3新用户注册在主窗体上点击查单文件下的注册,进入注册界面,输入用户名、密码和确认密码,点击确定,注册成功。
如图3.3所示。
图3.3 新用户注册图代码:Private Sub Command1_Click()Dim sqlstr As StringIf Text1 = "" ThenMsgBox "请输入用户名!", vbExclamation, "确认用户名"Text1.SetFocusExit SubElsesqlstr = "Select * from 登录where 用户名='" & Text1.Text & "'"Adodc1.RecordSource = sqlstrAdodc1.RefreshIf Adodc1.Recordset.EOF = False ThenMsgBox "用户名已存在,请重新输入!", vbExclamation, "检验用户名"Text1 = ""Text1.SetFocusText2 = ""Text3 = ""Exit SubEnd IfEnd IfIf Text2 <> Text3 ThenMsgBox "二次输入的密码不一致,请重新输入", vbExclamation, "检验密码"Text2 = "": Text3 = ""Text2.SetFocusExit SubElseIf Text2 = "" ThenMsgBox "密码不能为空!", vbExclamation, "检验密码"Text2.SetFocusElseAdodc1.Recordset.AddNewAdodc1.Recordset.Fields("用户名") = Trim(Text1)Adodc1.Recordset.Fields("密码") = Trim(Text2)Adodc1.Recordset.UpdateMsgBox "成功注册新用户!", vbInformation, "添加用户"Me.HideMDIForm1.ShowUnload MeEnd IfEnd SubPrivate Sub Command2_Click()Unload MeMDIForm1.ShowEnd Sub3.2.4 刷卡信息点击MDI主窗体的数据管理菜单下的刷卡信息,出现刷卡信息界面如图3.4所示,如有修改,点击修改,弹出图3.5所示界面便于增加、删除、前移和后移的功能。
图3.4图3.5代码:Private Sub Command1_Click()Adodc1.Recordset.MoveFirstCommand1.Enabled = FalseCommand2.Enabled = FalseCommand3.Enabled = TrueCommand4.Enabled = TrueLabel5.Caption = "记录:" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCountEnd SubPrivate Sub Command10_Click()Adodc1.RefreshCommand6.Enabled = TrueCommand7.Enabled = TrueCommand8.Enabled = TrueCommand9.Enabled = FalseCommand10.Enabled = FalseText1.Locked = TrueText2.Locked = TrueText3.Locked = TrueText4.Locked = TrueEnd SubPrivate Sub Command2_Click()Adodc1.Recordset.MovePreviousCommand3.Enabled = TrueCommand4.Enabled = TrueIf Adodc1.Recordset.BOF ThenAdodc1.Recordset.MoveFirstCommand1.Enabled = FalseCommand2.Enabled = FalseEnd IfLabel5.Caption = "记录:" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCountEnd SubPrivate Sub Command3_Click()Adodc1.Recordset.MoveNextCommand1.Enabled = TrueCommand2.Enabled = TrueIf Adodc1.Recordset.EOF ThenAdodc1.Recordset.MoveLastCommand3.Enabled = FalseCommand4.Enabled = FalseEnd IfLabel5.Caption = "记录:" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCountEnd SubPrivate Sub Command4_Click()Adodc1.Recordset.MoveLastCommand1.Enabled = TrueCommand2.Enabled = TrueCommand3.Enabled = FalseCommand4.Enabled = FalseLabel5.Caption = "记录:" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCountEnd SubPrivate Sub Command5_Click()Dim n As Integern = Text5.TextAdodc1.Recordset.Move nLabel5.Caption = "记录:" & Adodc1.Recordset.AbsolutePosition & "/" & Adodc1.Recordset.RecordCountEnd SubPrivate Sub Command6_Click()Adodc1.Recordset.AddNewCommand6.Enabled = FalseCommand7.Enabled = FalseCommand8.Enabled = FalseCommand9.Enabled = TrueCommand10.Enabled = TrueEnd SubPrivate Sub Command7_Click()x = MsgBox("确实要删除当前记录吗?", vbYesNo + vbQuestion, "确认") If x = vbYes ThenAdodc1.Recordset.DeleteAdodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF ThenAdodc1.Recordset.MoveLastEnd IfElseAdodc1.RefreshEnd IfEnd SubPrivate Sub Command8_Click()Text1.Locked = FalseText2.Locked = FalseText3.Locked = FalseText4.Locked = FalseCommand6.Enabled = FalseCommand7.Enabled = FalseCommand8.Enabled = FalseCommand9.Enabled = TrueCommand10.Enabled = TrueEnd SubPrivate Sub Command9_Click()Adodc1.Recordset.UpdateCommand6.Enabled = TrueCommand7.Enabled = TrueCommand8.Enabled = TrueCommand9.Enabled = FalseCommand10.Enabled = FalseText1.Locked = TrueText2.Locked = TrueText3.Locked = TrueText4.Locked = TrueEnd SubPrivate Sub Form_Load()Command1.Enabled = FalseCommand2.Enabled = FalseCommand3.Enabled = TrueCommand4.Enabled = TrueCommand6.Enabled = TrueCommand7.Enabled = TrueCommand8.Enabled = TrueCommand9.Enabled = FalseCommand10.Enabled = FalseLabel5.Caption = "记录:" & Adodc1.Recordset.AbsolutePosition & "/" &Adodc1.Recordset.RecordCountEnd Sub3.2.5加班信息管理点击MDI主窗体的数据管理菜单下的加班信息管理,出现加班信息管理界面,可以进行增加,删除,修改,前移后移等功能。