职工考勤管理系统数据库设计
考勤系统方案

考勤系统方案第1篇考勤系统方案一、项目背景随着企业规模的扩大和员工人数的增长,传统的手工考勤方式已无法满足现代企业管理需求。
为实现员工考勤管理的自动化、智能化,提高管理效率和员工满意度,本项目旨在设计一套合法合规的考勤系统。
二、系统目标1. 实现员工考勤数据自动化采集、统计和分析。
2. 确保考勤数据准确、可靠,降低人为错误。
3. 提高企业人力资源管理水平,优化员工工作体验。
4. 符合国家法律法规及企业内部管理规定。
三、系统设计1. 系统架构考勤系统采用B/S架构,分为前端展示层、业务逻辑层和数据访问层。
(1)前端展示层:提供用户界面,包括员工自助查询、管理员操作等功能。
(2)业务逻辑层:负责处理考勤业务逻辑,如数据采集、计算、统计等。
(3)数据访问层:负责与数据库交互,存储和读取考勤数据。
2. 功能模块(1)员工信息管理:包括员工基本信息、部门信息、岗位信息等。
(2)考勤规则设置:可自定义考勤班次、节假日、调休等。
(3)考勤数据采集:支持多种采集方式,如指纹、人脸、二维码等。
(4)考勤数据统计:自动统计员工出勤、迟到、早退、请假等数据。
(5)报表分析:生成各类考勤报表,为管理者提供决策依据。
(6)员工自助查询:员工可查询个人考勤记录,了解考勤状况。
(7)系统管理:包括用户管理、权限管理、日志管理等。
3. 技术选型(1)前端技术:HTML5、CSS3、JavaScript。
(2)后端技术:Java、Spring Boot、MyBatis。
(3)数据库技术:MySQL。
(4)生物识别技术:指纹识别、人脸识别。
四、合规性及安全性1. 系统遵循国家相关法律法规,如《中华人民共和国劳动法》、《中华人民共和国个人信息保护法》等。
2. 采取加密技术,确保数据传输和存储安全。
3. 严格权限管理,防止未经授权的访问和数据泄露。
4. 定期进行系统维护和更新,确保系统安全稳定。
五、实施计划1. 项目启动:明确项目目标、范围、时间表等。
员工考勤数据库设计报告

企业员工考勤管理子系统一.需求分析1.系统背景分析现在不论哪个企业,都要进行考勤,一些企业在考勤管理方面用了大量的人力和财力,不说准确度和可信度如何,其效率很低,而且容易出错,不利于管理。
所以人工考勤已经很难再满足企业规范化管理的要求,随着数据库技术的发展和企业信息化建设的进行,使用计算机管理考勤成为一种主流趋势,它不仅为企业减少了人力财力的付出,而且也大大减轻了考勤工作人员的工作量。
本文系统的阐述了企业考勤管理设计开发的全过程。
包括系统需求调查分析,概念结构设计,逻辑结构设计等部分。
2.数据流程图:3.数据字典:(2)数据结构描述(4)数据存储二.概念结构设计经过调查、信息流程分析、数据收集,并结合需求分析,明确了该子系统的功能:A.给员工编号,登记其基本信息。
B.给各部门编号、命名,确定其职责范围,并任命部门经理。
C.对员工的考勤数据进行登记,并进行月度考勤统计。
D.对员工的月度考勤统计的结果来核算员工工资。
实体和属性的联系系统基本的E-R图对E-R图调整的准则:现实世界中的事物能作为属性对待的尽量作为属性对待;属性和实体的划分:属性中不具有需要描述的信息,即属性是不可分的数据项,不再包含其他信息。
实体属性定义:员工(员工编号、员工姓名、员工性别、出生日期、职务、部门编号);部门(部门编号、部门名称、部门经理职工号);出勤记录 (出勤编号、日期、上班时间、下班时间);请假记录(请假编号、请假起始时间、请假结束时间、请假原因、扣除奖金);加班记录(加班编号、加班时间长度、日期、加班费);出差记录(出差编号、出差起始时间、出差结束时间、出差描述、补助资金);月度考勤统计(月度考勤编号、员工编号、日期、累计正常工作时间、累计请假、累计出差、累计加班、迟到次数、早退次数、旷工次数);工资(工资编号、基本工资、奖金、实际工资);具体调整如下:1.出勤记录,请假记录,加班记录,出差记录本应作为员工的一个属性,但是其中还涉及到相关的奖金待遇及具体描述,则单独作为一个实体;2.工资单独作为一个实体,因为此处强调的是员工的出勤工资,则分开来写。
中控考勤管理系统数据库结构

中控考勤管理系统数据库结构1. 员工表(Employee)- 员工ID(EmployeeID):主键,唯一标识每个员工- 员工姓名(EmployeeName)- 员工职位(Position)- 所属部门(Department)- 入职日期(StartDate)- 离职日期(EndDate)2. 考勤记录表(AttendanceRecord)- 记录ID(RecordID):主键,唯一标识每条考勤记录- 员工ID(EmployeeID):外键,关联到员工表的员工ID字段- 考勤日期(Date)- 上班时间(StartTime)- 下班时间(EndTime)- 工作时长(WorkHours)- 迟到次数(LateCount)- 早退次数(EarlyLeaveCount)- 缺勤次数(AbsentCount)3. 请假记录表(LeaveRecord)- 记录ID(RecordID):主键,唯一标识每条请假记录- 员工ID(EmployeeID):外键,关联到员工表的员工ID字段- 开始日期(StartDate)- 结束日期(EndDate)- 请假类型(LeaveType)- 备注(Remark)- 记录ID(RecordID):主键,唯一标识每条加班记录- 员工ID(EmployeeID):外键,关联到员工表的员工ID字段- 加班日期(Date)- 备注(Remark)5. 考勤统计表(AttendanceStatistics)- 统计ID(StatisticsID):主键- 员工ID(EmployeeID):外键,关联到员工表的员工ID字段- 年份(Year)- 月份(Month)- 出勤天数(AttendanceDays)- 迟到次数(LateCount)- 早退次数(EarlyLeaveCount)- 缺勤次数(AbsentCount)以上是中控考勤管理系统的一个基本数据库结构示例,可以根据具体需求进行调整和扩展。
考勤管理系统设计与数据库

毕业设计(论文)论文题目考勤管理系统摘要随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。
员工考勤管理是企业信息管理的重要部分面对大量的人事工资信息,采用人力处理将浪费大量的时间、人力和物力,且数据的准确性低。
因此,开发一个界面友好,易于操作的员工考勤管理软件进行自动化处理变得十分重要,这正是本系统开发的目的和意义。
本项目开发过程中,主要进行的工作是需求分析、概要设计、详细设计、项目应用的前期准备包括培训、硬件配置等。
软件采用基本对话框界面,能满足中小型企业员工考勤管理的基本需要。
本论文针对该软件的各个方面, 开发过程中涉及到的技术和工具都分别进行了阐述。
根据以上分析本系统主要模块如下:1 登录窗口模块,2主窗口模块,3 添加出勤记录模块,4 加班记录模块,5请假记录模块,6出差记录模块,7月度出勤情况表模块。
总之,本次设计工作是一次理论联系实际的过程。
对我本人来说不仅是一次难得的学习机会,而且通过实践使我深刻地了解了这些抽象概念的实质,为我将来的工作奠定了扎实地基础。
关键词:考勤、系统、信息AbstractAlong with computer popularization and computer science technology rapid development, the people start to use the computer solution actual problem more and more many.The staff checks attendance the management is the enterprise information management important part facing the massive human affairs wages information, will use manpower processing to waste the massive time, the manpower and the physical resource, also the data accuracy will be low.Therefore, develops a contact surface to be friendly, easy to operate the staff checks attendance the management software to carry on automated processing to become extremely important, this is precisely this system development goal and the significance.In this project performance history, mainly carries on the work is the demand analysis, the outline design, the detailed design, the project application earlier period preparation including training, the hardware disposition and so on.The software uses the basic dialog box contact surface, can satisfy the small and medium-sized enterprise staffs to check attendance the management basic need.Present paper in view of this software each aspect, In the performance history involves the technology and the tool separately have all carried on the elaboration. According to above analyzes this system main module to be as follows: 1 registers the window module, 2 main window modules, 3 increase going out on duty record module, 4 working overtime record module, 5 asks for leave the recording module, 6 business trip record module, in July going out on duty situation table module.In brief, this design work is a apply theory to reality process.Not only to me is a rare study opportunity, moreover made me through the practice to understand profoundly these abstract concept essence, future the work has laid solidly the foundation for me.Key word: Checking attendance, system, information1论绪 (4)1.1应用背景 (4)1.2 开发工具的选择 (4)1.2.1Visual C++ 6.0简介 (4)1.2.2使用Visual C++编程的理由 (2)1.2.3面向对象的应用服务层设计 (3)1.3论文的工作介绍 (3)2 数据库技术概论 (4)2.1 数据库技术的介绍 (4)2.2数据库发展及阶段特点 (4)2.3 数据库加密技术的运用 (6)2.4数据库理论基础 (6)2.4.1 数据库模型 (6)2.4.2 数据库体系结构 (9)2.4.3 数据的独立性 (9)2.4.4 范式 (10)2.5数据库设计原则 (11)2.6数据库设计的基本方法 (12)2.7 Access数据库技术的选择 (13)3 系统总体设计 (14)3.1系统需求分析 (14)3.2系统概要设计 (15)3.2.1 系统结构设计 (16)3.2.2 数据库设计 (17)3.3 系统详细设计 (24)4系统应用程序设计 (26)4.1 系统程序框架的组成 (26)4.2登录认证对话框的实现 (27)4.3主对话框窗体功能的实现 (28)4.4 上班时间设置窗体功能的实现 (29)4.5考勤修改窗体功能的实现 (30)4.6添假出勤记录属性页的实现 (31)4.7加班记录属性页功能的实现 (33)4.8请假和出差属性页功能的实现 (34)4.9考勤统计模块功能的实现 (36)5系统开发总结 (38)5.1结束语 (38)5.2参考文献 (39)5.3致谢 (38)6附录 (40)1 绪论1.1应用背景随着经济的发展,企业的规模不断扩大,人员流动日趋频繁,人员出入考勤管理的工作量也随之增加,以往的人工处理方式对于员工很多的企业来说就显得力不从心,利用现代计算机技术可使考勤人员管理从繁重的劳动中解脱出来,特别是对于人员出勤档案的查询可做到更及时,更准确。
职工考勤管理系统数据库设计

《数据库原理及应用》工程实训任务书一.题目:职工考勤管理信息系统二.目地与要求1. 目地:1)锻炼学生地分析解决实际问题地能力;2)培养学生地数据库基础系统地分析.设计和开发能力2. 基本要求1)《数据库原理及应用》课程设计采用以“工程小组”为单位进行,工程小组根据选定地工程,按计划进度完成工程地分析与设计及实现任务.2)每个班级分成两个大组,每组选出组长一名,负责考勤.作业地收集上交.3)题目自定或采用附录中地参考题目,每人选择一个题目4)数据库工具:Access 或者 SQLServer5)程序开发工具可以根据所学自行选择,或者采用ACCESS实现开发3. 创新要求在基本要求达到后,可进行创新设计,如系统用户功能控制,对管理员级和一般级别地用户系统功能操作不同三.信息描述系统基本信息描述,如:职工.考勤等.四.功能描述系统功能基本要求职工信息,包括职工编号.职工姓名.性别.年龄.职称等;出勤记录信息,包括上班打卡时间,下班打卡时间,缺勤记录等;出差信息,包括出差起始时间.结束时间.统计总共天数等;请假信息,包括请假开始时间,结束时间,统计请假天数等;加班信息,包括加班开始时间.结束时间.统计加班总时间.五.解决方案1.分析程序地功能要求,划分程序功能模块.2.画出系统流程图.3.重点是设计数据库(严格按照数据库设计步骤),完成系统功能.4.完成工程实训报告书.六.进度安排七.撰写工程实训报告及总结工程实训报告要求:包括需求分析.概念结构设计.逻辑结构设计.编码(详细写出编程步骤).测试地步骤和内容.工程总结.参考资料等,不符合以上要求者,则本次设计以不及格记.八.参考资料《数据库原理及应用》《ACCESS数据库与程序设计》《ACCESS工程案例导航》数据库教研室2014.05.20图1 系统结构图1.2.1 模块管理(1)用户管理模块增加一名系统使用用户,同时设置密码和权限,当此用户要更改密码时,可以在修改密码模块中进行.必须具有一定权限才能进行此项操作.而当某些职工离职或者因某中缘故,不能再使用考勤系统,可以将该用户删除.可以更改拥护权限,使其具有访问某些模块地权限或者剥夺其访问某些模块地权限.所有系统使用用户都可能在此修改密码,以保障系统安全.(2)基本资料管理模块设置地时间有上午上.下班时间,下午上.下班时间,这个模块与上下班时间表相对应,以方便考勤操作.增加和删除请假类型,修改请假类型内容,并将操作结果存在请假类型表内.增加和删除外出类型,修改外出类型内容,并将操作结果存在外出类型表内.增加.删除和修改员工基本资料.图2 考勤系统业务流程图设计地数据流程图如下所示:图3 考勤系统地数据流程图设计地E-R图如下所示图4 考勤系统地E-R流程图该考勤管理系统中主要包括了员工地基本信息(姓名.性别.所属部门等),查询员工地基本信息,可根据员工地实际工资情况或实际地出勤情况查看员工地基本信息等;另外还有权限管理和日志地功能.将生成地代码,复制.通过SQL 2000,在数据库中新建地表如下所示:图5 数据库中建立地表1.2.3数据表地设计(1)用户表地创建用户表地创建脚本如下:create table 用户 (用户名 char(30) not null,员工号 char(30) null,权限名 char(30) null,用户密码 int not null,权限号 int not null, constraint PK_用户 primary key (用户名))go用户表地字段格式说明如下所示:图6用户表地属性图7用户表(2)权限表地创建权限表是用来确定某一权限类型所能访问地系统模块.权限表地创建脚本如下所示:create table 权限表 (权限名 char(30) not null,用户管理 char(2) not null,基本资料更改 char(2) not null,请假管理 char(2) not null,外出管理 char(2) not null,加班管理 char(2) not null,修改考勤资料 char(2) not null,数据库操作 char(2) not null,日志删除 char(2) not null,constraint PK_权限表 primary key (权限名))go权限表地字段格式说明如下所示:图8权限表地属性图9权限表(3)出勤资料表地创建出勤资料表用来记录员工每天实际上下班时间.这张表保存地数据是考勤地依据.出勤资料表地创建脚本如下所示:create table 出勤资料表 (记录号 int not null,员工基_员工号 char(30) null,员工号 char(40) not null,上午上班时间 datetime not null,上午下班时间 datetime not null,下午上班时间 datetime not null,下午下班时间 datetime not null,记录日期 datetime not null,constraint PK_出勤资料表 primary key (记录号))go出勤资料表地字段格式说明如下所示:图10出勤资料表地属性图11出勤资料表(4)员工基本资料表为了判断某员工是否已经考勤,在员工表中地另一个字段,字段名为“考勤”,每天考勤前,将此字段值都设为0,每考勤一个员工,则将其字段值该为1,以后操作时根据其字段判断其是否已经考勤.其创建脚本为:create table 员工基本资料表 (员工号 char(30) not null,员工名 char(30) not null,性别 tinyint not null,年龄 int not null,入公司时间 datetime not null,住址 char(50) not null,联系电话 char(20) null,手机 char(20) null,电子邮箱 char(30) null,考勤 tinyint not null,constraint PK_员工基本资料表 primary key (员工号))go员工基本资料表地年格式如下所示:图12员工基本资料表地属性图13员工基本资料表(5)加班表地创建加班表用来保存员工地加班信息.create table 加班表 (记录号 int not null,员工基_员工号 char(30) null,员工号 char(20) not null,员工名 char(30) not null,加班类型 char(30) not null,起始时间 datetime not null,结束时间 datetime not null, constraint PK_加班表 primary key (记录号))go加班表地字段格式说明如下所示:图14加班表地属性图15加班表(6)请假表地创建请假表是用来保存员工地请假记录.其创建脚本为:create table 请假表 (记录号 int not null,类型名 char(30) null,员工基_员工号 char(30) null,员工号 char(20) not null,员工名 char(20) not null,请假类型 char(30) not null,起始时间 datetime not null,结束时间 datetime not null, constraint PK_请假表 primary key (记录号))go请假表地字段格式如下所示:图16请假表地属性图17请假表(7)外出表地创建外出表是用来保存员工地外出记录,数据格式.外出表地创建脚本如下:create table 外出表 (记录号 int not null,类型名 char(30) null,员工基_员工号 char(30) null,员工号 char(20) not null,员工名 char(30) not null,外出类型 char(30) not null,起始时间 datetime not null,结束时间 datetime not null,constraint PK_外出表 primary key (记录号))Go外出表地字段格式如下所示:图18外出表地属性图19外出表(8)日志表地创建.每一个实用地数据库应用系统,总是少不了日志管理.日志是用来记录系统地使用情况,以便当系统遭到非法使用时,能够从日志表中找到使用记录,以便进行处理.日志表地创建脚本为:create table 日志表 (记录号 binary(8) not null,用户名 char(30) not null,操作 char(127) not null,日期 datetime not null,constraint PK_日志表 primary key (记录号))go日志表地字段格式说明如下所示:图20日志表地属性图21日志表(9)统计表地创建.每一个用户有时会需要去查询一下哪天是否迟到地情况,统计表就很方便地提供了这一功能.create table 统计表 (日期 datetime not null,记录号 binary(8) not null,用户名 char(30) not null,迟到次数 char(127) not null,)Go图22统计表1.2.4代码地调试(1在表格内加入数据在SQL查询分析器中输入以下代码:insert into 外出表(记录号,类型名,员工基_员工号,员工号,员工名,外出类型,起始时间,结束时间)values('119','出差','a80','a80','邓月','出差',2008-06-09,2008-06-12)点击运行后输入:select * from 外出表得出以下结果:图23加入数据地表(2)查询数据:在SQL查询分析器中输入以下代码:select * from 加班表点击运行后输入,得出以下结果:图24查询数据地表(3)修改数据:在SQL查询分析器中输入以下代码:update 外出表 set 员工名 = '周丹' where 记录号=119 select * from 外出表点击运行后输入,得出以下结果:图25修改数据地表(4)删除数据:在SQL查询分析器中输入以下代码:Delete from 外出表 where 员工名='周丹'select * from 外出表点击运行后输入,得出以下结果:图26删除数据地表附录alter table 出勤资料表drop constraint FK_出勤资料表_REFERENCE_员工基本资料表goalter table 加班表drop constraint FK_加班表_REFERENCE_员工基本资料表goalter table 外出表drop constraint FK_外出表_REFERENCE_员工基本资料表goalter table 外出表drop constraint FK_外出表_REFERENCE_外出类型表goalter table 日志表drop constraint FK_日志表_REFERENCE_用户goalter table 用户drop constraint FK_用户_REFERENCE_员工基本资料表goalter table 用户drop constraint FK_用户_REFERENCE_权限表goalter table 请假表drop constraint FK_请假表_REFERENCE_员工基本资料表goalter table 请假表drop constraint FK_请假表_REFERENCE_请假类型表go/*==============================================================*//* Table: 出勤资料表 *//*==============================================================*/create table 出勤资料表 (记录号 int not null,员工基_员工号 char(30) null,员工号 char(40) not null,上午上班时间 datetime not null,上午下班时间 datetime not null,下午上班时间 datetime not null,下午下班时间 datetime not null,记录日期 datetime not null,constraint PK_出勤资料表 primary key (记录号))go/*==============================================================*//* Table: 加班表 *//*==============================================================*/create table 加班表 (记录号 int not null,员工基_员工号 char(30) null,员工号 char(20) not null,员工名 char(30) not null,加班类型 char(30) not null,起始时间 datetime not null,结束时间 datetime not null,constraint PK_加班表 primary key (记录号))go/*==============================================================*//* Table: 员工基本资料表 *//*==============================================================*/create table 员工基本资料表 (员工号 char(30) not null,员工名 char(30) not null,性别 tinyint not null,年龄 int not null,入公司时间 datetime not null,住址 char(50) not null,联系电话 char(20) null,手机 char(20) null,电子邮箱 char(30) null,考勤 tinyint not null,constraint PK_员工基本资料表 primary key (员工号))go/*==============================================================*)/* Table: 外出表 *//*==============================================================*/create table 外出表 (记录号 int not null,类型名 char(30) null,员工基_员工号 char(30) null,员工号 char(20) not null,员工名 char(30) not null,外出类型 char(30) not null,起始时间 datetime not null,结束时间 datetime not null,constraint PK_外出表 primary key (记录号))go/*==============================================================*/ /* Table: 日志表 *//*==============================================================*/create table 日志表 (记录号 binary(8) not null,用户名 char(30) not null,操作 char(127) not null,日期 datetime not null,constraint PK_日志表 primary key (记录号))go/*==============================================================*//* Table: 权限表 *//*==============================================================*/create table 权限表 (权限名 char(30) not null,用户管理 char(2) not null,基本资料更改 char(2) not null,请假管理 char(2) not null,外出管理 char(2) not null,加班管理 char(2) not null,修改考勤资料 char(2) not null,数据库操作 char(2) not null,日志删除 char(2) not null,constraint PK_权限表 primary key (权限名))go/*==============================================================*//* Table: 用户 *//*==============================================================*/create table 用户 (用户名 char(30) not null,员工号 char(30) null,权限名 char(30) null,用户密码 int not null,权限号 int not null,constraint PK_用户 primary key (用户名))go/* Table: 请假表 *//*==============================================================*/create table 请假表 (记录号 int not null,类型名 char(30) null,员工基_员工号 char(30) null,员工号 char(20) not null,员工名 char(20) not null,请假类型 char(30) not null,起始时间 datetime not null,结束时间 datetime not null,constraint PK_请假表 primary key (记录号))goalter table 出勤资料表add constraint FK_出勤资料表_REFERENCE_员工基本资料表 foreign key (员工基_员工号)references 员工基本资料表 (员工号)goalter table 加班表add constraint FK_加班表_REFERENCE_员工基本资料表foreign key (员工基_员工号)references 员工基本资料表 (员工号)goalter table 外出表add constraint FK_外出表_REFERENCE_员工基本资料表foreign key (员工基_员工号)references 员工基本资料表 (员工号)goalter table 外出表add constraint FK_外出表_REFERENCE_外出类型表foreign key (类型名)references 外出类型表 (类型名)goalter table 日志表add constraint FK_日志表_REFERENCE_用户 foreign key (用户名)references 用户 (用户名)goalter table 用户add constraint FK_用户_REFERENCE_员工基本资料表foreign key (员工号)references 员工基本资料表 (员工号)goalter table 用户add constraint FK_用户_REFERENCE_权限表 foreign key (权限名)references 权限表 (权限名)goalter table 请假表add constraint FK_请假表_REFERENCE_员工基本资料表foreign key (员工基_员工号)references 员工基本资料表 (员工号)goalter table 请假表add constraint FK_请假表_REFERENCE_请假类型表foreign key (类型名)references 请假类型表 (类型名)gonsert 加班表(记录号,员工基_员工号,员工号,员工名,加班类型,起始时间,结束时间)values('5019','a9','aa9','六仪','夜班','2002-02-08','2001-02-12')insert 加班表(记录号,员工基_员工号,员工号,员工名,加班类型,起始时间,结束时间)values('5016','a8','aa8','张萍','日班','2001-05-06','2001-05-12')insert 加班表(记录号,员工基_员工号,员工号,员工名,加班类型,起始时间,结束时间)values('5023','a20','aa20','王明','夜班','2002-08-06','2001-08-12')select * from 加班表insert into 外出表(记录号,类型名,员工基_员工号,员工号,员工名,外出类型,起始时间,结束时间)values('119','出差','a80','a80','邓月','出差',2008-06-09,2008-06-12)select * from 外出表update 外出表set 员工名 = '周丹'where 记录号=119select * from 外出表deletefrom 外出表where 员工名='周丹'select * from 外出表。
职工考勤管理系统数据库设计

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

单位考勤管理系统数据库设计1. 员工表(Employee table)2. 考勤表(Attendance table)考勤表用于记录员工的每日考勤情况,包括员工ID、日期、上班时间、下班时间、考勤状态等。
该表可以用来存储和管理员工每日的考勤记录,包括正常上班、迟到、早退、缺勤等情况。
3. 请假表(Leave table)请假表用于记录员工的请假信息,包括员工ID、请假开始时间、请假结束时间、请假原因等。
通过这个表,可以方便地管理和统计员工的请假情况,包括事假、病假、年假等。
4. 出差表(Business trip table)出差表用于记录员工的出差信息,包括员工ID、出差开始时间、出差结束时间、出差地点、出差目的等。
通过这个表,可以方便地管理和统计员工的出差情况,包括出差天数、出差地点等。
加班表用于记录员工的加班信息,包括员工ID、加班开始时间、加班结束时间、加班原因等。
通过这个表,可以方便地管理和统计员工的加班情况,包括加班时长、加班原因等。
6. 考勤规则表(Attendance rule table)考勤规则表用于记录单位的考勤规则,包括考勤时间、迟到规定、早退规定、缺勤规定等。
通过这个表,可以方便管理和设置单位的考勤规则,以便于系统能够根据规则自动识别员工的考勤状态。
7. 部门表(Department table)部门表用于记录单位的部门信息,包括部门ID、部门名称、上级部门等。
通过这个表,可以方便地管理和组织单位的部门结构,以便于系统能够按照部门进行员工信息的分类和查询。
8. 管理员表(Admin table)管理员表用于记录系统管理员的信息,包括管理员ID、姓名、密码等。
通过这个表,可以方便地管理和授权系统管理员,以便于系统能够进行安全和权限管理。
除了以上的几个核心表之外,还可以增加其他辅助表或者视图来满足管理需求。
比如,可以设计一个统计表或者视图,用于统计和分析员工的考勤数据,包括出勤率、迟到早退次数、请假次数等。
单位考勤管理系统数据库设计

单位考勤管理系统数据库设计说明书拟制人姜涛魏婷审核人_______陈敏__________ 批准人______________________【2013年1月17日星期四】数据库设计说明书1.引言1.1编写目的随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。
规范的考勤管理是现代企业提高管理效益的重要保证,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。
随着计算机技术和通信技术的迅速发展,将传统的人工考勤管理计算机化,建立一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。
1.2背景a. 待开发软件系统的名称:单位考勤管理系统b. 本项目的任务提出者:石河子大学c. 本项目开发者:姜涛,魏婷d. 本项目用户:单位管理人员2.外部设计2.1支持软件本数据库主要采用微软公司的成熟数据库系统SQL Server20050,提供了较为灵活操作简单的功能,可以为数据库管理员和系统开发人员提供很好的支持。
3.结构设计3.1概念结构设计本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域,系统界面:菜单选项:信息查询:3.2 概念结构设计:3.2.1局部E-R 图:(1)员工E-R 图,如图3.2.1所示图3.2.1员工E-R图(2)图3.2.2 为出勤E-R 图图3.2.2 出勤E-R 图(3)图3.2.3为出差E-R 图图3.2.3出差E-R 图(4)加班E-R 图如图3.2.4所示3.4 加班E-R图(5)请假E-R图如图3.1.5所示图3.2.5请假E-R图(6)图3.2.6统计E-R图图3.2.6统计E-R图(7)图3.2.7总体E-R图图3.2.7总体E-R图4.逻辑结构设计4.1关系图4.2数据字典职工(职工编号,部门工编号,姓名,性别,年龄)部门(部门工编号,名称,人数)出勤记录(职工编号,迟到,旷工,上班时间,下班时间,缺勤记录)出差记录(职工编号,出差编号,开始时间,结束时间,统计天数)加班信息(职工编号,加班编号,加班开始时间,加班结束时间,加班时间统计)请假信息(职工编号,请假编号,请假开始时间,请假结束时间,请假时间统计)月统计(职工编号,迟到天数,旷工天数,出差月统计,加班月统计,请假月统计)时间表(上班时间,下班时间)5物理结构设计5.1存储结构设计在本图中5.1.1职工信息表主要包括职工编号,姓名,性别,年龄在本图中5.1.2职工信息表主要包括部门编号,名称,人数在本表5.1.3中出勤记录包含职工编号,出勤编号,上班时间,下班时间,缺勤记录表5.1.4 出差记录表在本表5.1.5中加班记录表主要包含职工编号,加班编号,开始时间、结束时间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库原理及应用》项目实训任务书一、题目:职工考勤管理信息系统二、目的与要求1. 目的:1)锻炼学生的分析解决实际问题的能力;2)培养学生的数据库基础系统的分析、设计和开发能力2. 基本要求1)《数据库原理及应用》课程设计采用以“项目小组”为单位进行,项目小组根据选定的项目,按计划进度完成项目的分析与设计及实现任务。
2)每个班级分成两个大组,每组选出组长一名,负责考勤、作业的收集上交。
3)题目自定或采用附录中的参考题目,每人选择一个题目4)数据库工具:Access 或者 SQLServer5)程序开发工具可以根据所学自行选择,或者采用ACCESS实现开发3. 创新要求在基本要求达到后,可进行创新设计,如系统用户功能控制,对管理员级和一般级别的用户系统功能操作不同三、信息描述系统基本信息描述,如:职工、考勤等。
四、功能描述系统功能基本要求职工信息,包括职工编号、职工姓名、性别、年龄、职称等;出勤记录信息,包括上班打卡时间,下班打卡时间,缺勤记录等;出差信息,包括出差起始时间、结束时间、统计总共天数等;请假信息,包括请假开始时间,结束时间,统计请假天数等;加班信息,包括加班开始时间、结束时间、统计加班总时间。
五、解决方案1.分析程序的功能要求,划分程序功能模块。
2.画出系统流程图。
3.重点是设计数据库(严格按照数据库设计步骤),完成系统功能。
4.完成项目实训报告书。
六、进度安排七、撰写项目实训报告及总结项目实训报告要求:包括需求分析、概念结构设计、逻辑结构设计、编码(详细写出编程步骤)、测试的步骤和内容、项目总结、参考资料等,不符合以上要求者,则本次设计以不及格记。
八、参考资料《数据库原理及应用》《ACCESS数据库与程序设计》《ACCESS项目案例导航》数据库教研室2014.05.20图1 系统结构图1.2.1 模块管理(1)用户管理模块增加一名系统使用用户,同时设置密码和权限,当此用户要更改密码时,可以在修改密码模块中进行。
必须具有一定权限才能进行此项操作。
而当某些职工离职或者因某中缘故,不能再使用考勤系统,可以将该用户删除。
可以更改拥护权限,使其具有访问某些模块的权限或者剥夺其访问某些模块的权限。
所有系统使用用户都可能在此修改密码,以保障系统安全。
(2)基本资料管理模块设置的时间有上午上、下班时间,下午上、下班时间,这个模块与上下班时间表相对应,以方便考勤操作。
增加和删除请假类型,修改请假类型内容,并将操作结果存在请假类型表内。
增加和删除外出类型,修改外出类型内容,并将操作结果存在外出类型表内。
增加、删除和修改员工基本资料。
图2 考勤系统业务流程图设计的数据流程图如下所示:图3 考勤系统的数据流程图设计的E-R图如下所示图4 考勤系统的E-R流程图该考勤管理系统中主要包括了员工的基本信息(姓名、性别、所属部门等),查询员工的基本信息,可根据员工的实际工资情况或实际的出勤情况查看员工的基本信息等;另外还有权限管理和日志的功能。
将生成的代码,复制。
通过SQL 2000,在数据库中新建的表如下所示:图5 数据库中建立的表1.2.3数据表的设计(1)用户表的创建用户表的创建脚本如下:create table 用户 (用户名 char(30) not null,员工号 char(30) null,权限名 char(30) null,用户密码 int not null,权限号 int not null, constraint PK_用户 primary key (用户名))go用户表的字段格式说明如下所示:图6用户表的属性图7用户表(2)权限表的创建权限表是用来确定某一权限类型所能访问的系统模块。
权限表的创建脚本如下所示:create table 权限表 (权限名 char(30) not null,用户管理 char(2) not null,基本资料更改 char(2) not null,请假管理 char(2) not null,外出管理 char(2) not null,加班管理 char(2) not null,修改考勤资料 char(2) not null,数据库操作 char(2) not null,日志删除 char(2) not null,constraint PK_权限表 primary key (权限名))go权限表的字段格式说明如下所示:图8权限表的属性图9权限表(3)出勤资料表的创建出勤资料表用来记录员工每天实际上下班时间。
这张表保存的数据是考勤的依据。
出勤资料表的创建脚本如下所示:create table 出勤资料表 (记录号 int not null,员工基_员工号 char(30) null,员工号 char(40) not null,上午上班时间 datetime not null,上午下班时间 datetime not null,下午上班时间 datetime not null,下午下班时间 datetime not null,记录日期 datetime not null,constraint PK_出勤资料表 primary key (记录号))go出勤资料表的字段格式说明如下所示:图10出勤资料表的属性图11出勤资料表(4)员工基本资料表为了判断某员工是否已经考勤,在员工表中的另一个字段,字段名为“考勤”,每天考勤前,将此字段值都设为0,每考勤一个员工,则将其字段值该为1,以后操作时根据其字段判断其是否已经考勤。
其创建脚本为:create table 员工基本资料表 (员工号 char(30) not null,员工名 char(30) not null,性别 tinyint not null,年龄 int not null,入公司时间 datetime not null,住址 char(50) not null,联系电话 char(20) null,手机 char(20) null,电子邮箱 char(30) null,考勤 tinyint not null,constraint PK_员工基本资料表 primary key (员工号))go员工基本资料表的年格式如下所示:图12员工基本资料表的属性图13员工基本资料表(5)加班表的创建加班表用来保存员工的加班信息。
create table 加班表 (记录号 int not null,员工基_员工号 char(30) null,员工号 char(20) not null,员工名 char(30) not null,加班类型 char(30) not null,起始时间 datetime not null,结束时间 datetime not null,constraint PK_加班表 primary key (记录号))go加班表的字段格式说明如下所示:图14加班表的属性图15加班表(6)请假表的创建请假表是用来保存员工的请假记录。
其创建脚本为:create table 请假表 (记录号 int not null,类型名 char(30) null,员工基_员工号 char(30) null,员工号 char(20) not null,员工名 char(20) not null,请假类型 char(30) not null,起始时间 datetime not null,结束时间 datetime not null, constraint PK_请假表 primary key (记录号))go请假表的字段格式如下所示:图16请假表的属性图17请假表(7)外出表的创建外出表是用来保存员工的外出记录,数据格式。
外出表的创建脚本如下:create table 外出表 (记录号 int not null,类型名 char(30) null,员工基_员工号 char(30) null,员工号 char(20) not null,员工名 char(30) not null,外出类型 char(30) not null,起始时间 datetime not null,结束时间 datetime not null,constraint PK_外出表 primary key (记录号))Go外出表的字段格式如下所示:图18外出表的属性图19外出表(8)日志表的创建。
每一个实用的数据库应用系统,总是少不了日志管理。
日志是用来记录系统的使用情况,以便当系统遭到非法使用时,能够从日志表中找到使用记录,以便进行处理。
日志表的创建脚本为:create table 日志表 (记录号 binary(8) not null,用户名 char(30) not null,操作 char(127) not null,日期 datetime not null,constraint PK_日志表 primary key (记录号))go日志表的字段格式说明如下所示:图20日志表的属性图21日志表(9)统计表的创建。
每一个用户有时会需要去查询一下哪天是否迟到的情况,统计表就很方便的提供了这一功能。
create table 统计表 (日期 datetime not null,记录号 binary(8) not null,用户名 char(30) not null,迟到次数 char(127) not null,)Go图22统计表1.2.4代码的调试(1在表格内加入数据在SQL查询分析器中输入以下代码:insert into 外出表(记录号,类型名,员工基_员工号,员工号,员工名,外出类型,起始时间,结束时间)values('119','出差','a80','a80','邓月','出差',2008-06-09,2008-06-12)点击运行后输入:select * from 外出表得出以下结果:图23加入数据的表(2)查询数据:在SQL查询分析器中输入以下代码:select * from 加班表点击运行后输入,得出以下结果:图24查询数据的表(3)修改数据:在SQL查询分析器中输入以下代码:update 外出表 set 员工名 = '周丹' where 记录号=119 select * from 外出表点击运行后输入,得出以下结果:图25修改数据的表(4)删除数据:在SQL查询分析器中输入以下代码:Delete from 外出表 where 员工名='周丹'select * from 外出表点击运行后输入,得出以下结果:图26删除数据的表附录alter table 出勤资料表drop constraint FK_出勤资料表_REFERENCE_员工基本资料表goalter table 加班表drop constraint FK_加班表_REFERENCE_员工基本资料表goalter table 外出表drop constraint FK_外出表_REFERENCE_员工基本资料表goalter table 外出表drop constraint FK_外出表_REFERENCE_外出类型表goalter table 日志表drop constraint FK_日志表_REFERENCE_用户goalter table 用户drop constraint FK_用户_REFERENCE_员工基本资料表goalter table 用户drop constraint FK_用户_REFERENCE_权限表goalter table 请假表drop constraint FK_请假表_REFERENCE_员工基本资料表goalter table 请假表drop constraint FK_请假表_REFERENCE_请假类型表go/*==============================================================*/ /* Table: 出勤资料表*//*==============================================================*/create table 出勤资料表(记录号int not null,员工基_员工号char(30) null,员工号char(40) not null,上午上班时间datetime not null,上午下班时间datetime not null,下午上班时间datetime not null,下午下班时间datetime not null,记录日期datetime not null,constraint PK_出勤资料表primary key (记录号))go/*==============================================================*/ /* Table: 加班表*//*==============================================================*/ create table 加班表(记录号int not null,员工基_员工号char(30) null,员工号char(20) not null,员工名char(30) not null,加班类型char(30) not null,起始时间datetime not null,结束时间datetime not null,constraint PK_加班表primary key (记录号))go/*==============================================================*/ /* Table: 员工基本资料表*//*==============================================================*/ create table 员工基本资料表(员工号char(30) not null,员工名char(30) not null,性别tinyint not null,年龄int not null,入公司时间datetime not null,住址char(50) not null,联系电话char(20) null,手机char(20) null,电子邮箱char(30) null,考勤tinyint not null,constraint PK_员工基本资料表primary key (员工号))go/*==============================================================*)/* Table: 外出表*//*==============================================================*/ create table 外出表(记录号int not null,类型名char(30) null,员工基_员工号char(30) null,员工号char(20) not null,员工名char(30) not null,外出类型char(30) not null,起始时间datetime not null,结束时间datetime not null,constraint PK_外出表primary key (记录号))go/*==============================================================*/ /* Table: 日志表*//*==============================================================*/ create table 日志表(记录号binary(8) not null,用户名char(30) not null,操作char(127) not null,日期datetime not null,constraint PK_日志表primary key (记录号))go/*==============================================================*/ /* Table: 权限表*//*==============================================================*/ create table 权限表(权限名char(30) not null,用户管理char(2) not null,基本资料更改char(2) not null,请假管理char(2) not null,外出管理char(2) not null,加班管理char(2) not null,修改考勤资料char(2) not null,数据库操作char(2) not null,日志删除char(2) not null,constraint PK_权限表primary key (权限名))go/*==============================================================*//* Table: 用户*//*==============================================================*/ create table 用户(用户名char(30) not null,员工号char(30) null,权限名char(30) null,用户密码int not null,权限号int not null,constraint PK_用户primary key (用户名))go/* Table: 请假表*//*==============================================================*/ create table 请假表(记录号int not null,类型名char(30) null,员工基_员工号char(30) null,员工号char(20) not null,员工名char(20) not null,请假类型char(30) not null,起始时间datetime not null,结束时间datetime not null,constraint PK_请假表primary key (记录号))goalter table 出勤资料表add constraint FK_出勤资料表_REFERENCE_员工基本资料表foreign key (员工基_员工号)references 员工基本资料表(员工号)goalter table 加班表add constraint FK_加班表_REFERENCE_员工基本资料表foreign key (员工基_员工号) references 员工基本资料表(员工号)goalter table 外出表add constraint FK_外出表_REFERENCE_员工基本资料表foreign key (员工基_员工号) references 员工基本资料表(员工号)goalter table 外出表add constraint FK_外出表_REFERENCE_外出类型表foreign key (类型名) references 外出类型表(类型名)goalter table 日志表add constraint FK_日志表_REFERENCE_用户foreign key (用户名)references 用户(用户名)goalter table 用户add constraint FK_用户_REFERENCE_员工基本资料表foreign key (员工号) references 员工基本资料表(员工号)goalter table 用户add constraint FK_用户_REFERENCE_权限表foreign key (权限名)references 权限表(权限名)goalter table 请假表add constraint FK_请假表_REFERENCE_员工基本资料表foreign key (员工基_员工号) references 员工基本资料表(员工号)goalter table 请假表add constraint FK_请假表_REFERENCE_请假类型表foreign key (类型名) references 请假类型表(类型名)gonsert 加班表(记录号,员工基_员工号,员工号,员工名,加班类型,起始时间,结束时间)values('5019','a9','aa9','六仪','夜班','2002-02-08','2001-02-12')insert 加班表(记录号,员工基_员工号,员工号,员工名,加班类型,起始时间,结束时间)values('5016','a8','aa8','张萍','日班','2001-05-06','2001-05-12')insert 加班表(记录号,员工基_员工号,员工号,员工名,加班类型,起始时间,结束时间)values('5023','a20','aa20','王明','夜班','2002-08-06','2001-08-12')select * from 加班表insert into 外出表(记录号,类型名,员工基_员工号,员工号,员工名,外出类型,起始时间,结束时间)values('119','出差','a80','a80','邓月','出差',2008-06-09,2008-06-12)select * from 外出表update 外出表set 员工名= '周丹'where 记录号=119select * from 外出表deletefrom 外出表where 员工名='周丹'select * from 外出表。