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

合集下载

数据库课程设计报告-职工管理系统

数据库课程设计报告-职工管理系统
(2) 查找与qiaqia公司在低点的公司名和面积
(3)为WD建立触发器,当插入或更新表中数据时保证所操作的记录的salary大于等

(4)编写函数根据职工编号查询职工名称
设计体会与建议: 通过这次的职工管理系统课程设计,我收获了很多。首先,
对于公司内部管理有了更深入的了解,尽管在做需求分析的时候 遇到了一些麻烦,但还是尽自己最大努力解决了。本次设计基本 上完成了对数据库中信息的查询、修改、删除、录入等功能,也 对数据的录入做了一些检验与鉴定,对不合理的操作采取禁止方 式。遗憾的是我的系统并不是一个完整的系统,没有完备的前台
1.查询功能 本软件能查询公司内部数据库中录有的文件内容,方便、直
接、有效。 2.修改功能 本软件课实现对录入的数据进行修改更行操作,保证数据的
正确性。 3.删除功能 本软件能实现对录入的数据进行删除操作,实现对不需要的
数据进行去除。 4.插入功能 本软件能实现对数据的插入操作,实时更新数据库。 5. 数据检验功能
课程设计报告 (本科)
课程: 学号: 姓名: 班级: 教师: 时间:
数据库原理
计算机科学与技术系
设计名称: 职工管理系统
设计内容、目的与要求: 内容:设计交职工管理系统,实现该系统所需的基本功能,主要 内容包括需求分析、数据库概念设计、逻辑设计、物理设计、程 序调试和运行,以及总结。 目的:使用SQL语言设计职工管理系统实现对职工信息的管理, 实现对所学知识的加深了解和运用 要求:
设计过程、步骤:步 数据库概念设计 第3步 数据库逻辑设计 第4步 数据库物理设计 第5步 数据库的实现 画出E-R图 2.进行数据库概念设计,转换ER图为关系模式 (1)公司:(编号,名称,位置,面积) (2)办公室:(编号,大小,名称,主任) (3)部门:(编号,名称,人数) (4)项目:(编号,名称,负责人,预算,起始时间,结束时 间,合作公司) (5)职工:(编号,姓名,性别,职位) 4.程序调试和运行 结果与分析: 数据库中部分语句和实现结果 (1)查询qiaqia公司有多少员工

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

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

目录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 概述1.1设计背景随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。

规范的考勤管理是现代企业提高管理效益的重要保证,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。

随着计算机技术和通信技术的迅速发展,将传统的人工考勤管理计算机化,建立一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。

企业考勤管理经过如下的业务流程:(1)员工基本信息管理,添加,删除,更改(2)员工考勤管理,员工根据自己的班次在上下班时分别进行出勤操作,采用手动方式或者使用划卡机。

由人事部门专门的人员管理出勤和退勤信息。

(3)一般在每个月月初进行考勤汇总,汇总信息包括工作日的出勤情况、请假天数、出差天数、休假天数和不同性质的加班记录等。

1.2研究目的待开发的系统的名称为企业职工在线考勤系统;我们以中小型企业的考勤管理业务为依托,结合科学管理的理论,设计并开发一个企业考勤管理信息系统,提供一个科学合理的考勤管理解决方案,彻底实现无纸化作业。

根据管理权限的不同,将界面分为一般职员、部门经理、系统管理员和最高管理者四个层次,系统目标如下:(1)提供简单、方便的操作。

数据库课程设计之某单位考勤管理系统

数据库课程设计之某单位考勤管理系统

图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 处理需求根据职工签到特性,设计了以下功能:管理员功能:签到,增加职工及职工信息,增加登录用户,设置用户权限,查看职工出勤信息,修改职工出勤信息。

数据库员工信息管理系统课程设计

数据库员工信息管理系统课程设计

数据库员工信息管理系统课程设计说到“数据库员工信息管理系统”,我第一个反应就是:听起来有点高大上,对吧?实际上它并没有那么复杂,大家不要被这些专业名词吓到。

我们平时的工作,尤其是在大公司里,信息管理可重要了,尤其是员工的各种信息。

如果没有一个好的系统,估计大家的工作都得从头再来。

你想啊,员工信息像什么?像那张卡片、身份证、工资单一样,啥时候都得用。

这个系统就是帮我们把这些东西整理成一个大大的数据库,让我们查询、修改、更新都方便,简直是事半功倍。

大家知道,数据库其实就是一个大仓库,里面装满了各种信息。

比如员工的姓名、年龄、岗位、薪水、联系方式,甚至还有生日、入职时间这些琐碎的小细节。

你说,这些信息看似简单,真的一旦没有好好整理起来,那可就麻烦了。

你想想,要是一个公司有上百上千的员工,要是没有一个系统来管理,翻个员工档案找个联系方式都能累死个人。

就像在沙滩上找针一样,费劲不说,还容易丢掉。

所以,数据库员工信息管理系统的作用就是解决这个问题。

简而言之,它就像是一个“万能工具”,什么需求都能满足。

有了这个系统,管理者再也不需要翻箱倒柜地去找员工资料了。

只要输入关键词,系统立马把相关信息一股脑儿呈现出来。

是不是很高效?就好像你在超市找东西,直接在自助查询机上输入产品名称,产品立马出现在你面前。

你是不是已经开始想象,管理者坐在电脑前,喝着咖啡,悠哉悠哉地查找资料,简直就是坐享其成,真是过瘾。

对于HR来说,这简直是一个福音。

以前,要是需要更新员工的薪水、职位变化,那得一个一个手动去修改数据,改完了还得核对。

现在嘛,只要通过这个系统轻松一点,什么变动都能立马更新。

这个系统的好处可不仅仅在于查询和更新信息,最神奇的地方在于它能够帮企业“管”人。

这说的可不只是做个“记事本”那么简单。

像公司员工的考勤、工资、绩效考核,所有的细节都能通过系统自动计算和处理。

比起人工算工资,想想是不是省心多了?再说了,人工算错了,出个小差错,员工不高兴,甚至闹个小情绪什么的,谁都不想碰到。

数据库课程设计-公司考勤管理系统

数据库课程设计-公司考勤管理系统

信息工程学院《数据库应用系统开发》课程设计论文题目:单位考勤系统数据库设计学号: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, "新密码不一致。

【通用】职工考勤管理信息系统.doc

【通用】职工考勤管理信息系统.doc

课程设计课程名称数据库课程设计题目名称职工考勤管理信息系统学生学院管理学院专业班级指导教师胡凤姓名学号2013 年12 月28 日目录一、概述(500字) ..................................................................... 错误!未定义书签。

二、系统需求分析 ...................................................................... 错误!未定义书签。

2.1 需求概述 ........................................................................ 错误!未定义书签。

2.2 需求说明书 (5)2.3数据流程图、功能模块、系统数据流程图 (6)三、数据库概念结构设计 (6)3.1 概述 (6)3.2 基本原则 (8)3.3 E-R图 (9)四、数据库逻辑结构与数据库物理结构设计 (10)4.1 概述 ............................................................................... 错误!未定义书签。

4.2 由ER图导出一般关系模型的基本原则 ..................... 错误!未定义书签。

4.3 PDM生成 ...................................................................... 错误!未定义书签。

五、数据库应用系统的实现 ........................................................ 错误!未定义书签。

5.1 概述 ................................................................................ 错误!未定义书签。

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

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

《数据库原理》课程设计题目:考勤管理系统系部:计算机与信息科学学院学生姓名:罗学智指导教师:陈利平专业:软件工程班级:软件1201完成时间:2014.5.20目录1 概述 (1)1.1设计背景 (1)1.2研究目的 (2)1.3理论基础的分析 (2)1.4预期结果和意义 (3)2 需求分析 (3)2.1功能需求 (3)2.2数据流图 (4)2.3功能模块图 (4)2.4系统数据流程图 (5)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创建索引 (13)6 数据库实施 (14)6.1建立数据库 (14)6.2数据表的创建 (14)6.3建立存储过程 (17)6.4创建触发器 (18)7文献 (19)8结论 (22)1 概述1.1设计背景随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。

规范的考勤管理是现代企业提高管理效益的重要保证,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。

随着计算机技术和通信技术的迅速发展,将传统的人工考勤管理计算机化,建立一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。

企业考勤管理经过如下的业务流程:(1)员工基本信息管理,添加,删除,更改(2)员工考勤管理,员工根据自己的班次在上下班时分别进行出勤操作,采用手动方式或者使用划卡机。

由人事部门专门的人员管理出勤和退勤信息。

(3)一般在每个月月初进行考勤汇总,汇总信息包括工作日的出勤情况、请假天数、出差天数、休假天数和不同性质的加班记录等。

1.2研究目的待开发的系统的名称为企业职工在线考勤系统;我们以中小型企业的考勤管理业务为依托,结合科学管理的理论,设计并开发一个企业考勤管理信息系统,提供一个科学合理的考勤管理解决方案,彻底实现无纸化作业。

数据库课程设计报告——考勤管理信息系统.doc

数据库课程设计报告——考勤管理信息系统.doc

数据库课程设计报告——考勤管理信息系统一、设计任务:(1)、系统开发的总体任务是实现企业员工考勤管理的系统化、规范化。

(2)、能够和人事管理系统、工资管理系统相结合、真正实现企业高效、科学、现代化的员工管理。

二、设计思想:(1)、尽量采用公司现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用公司现有的资源,提高系统开发水平和应用效果的目的。

(2)、员工考勤管理系统能够和考勤相连接,从而完成自动、高效、科学的考勤信息输入。

(3)、系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发技术维护人员补充、维护。

(4)、系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。

三、系统功能分析:考勤管理涉及企业人事管理的多个方面,如员工职务升迁、工资发放、效命发放、员工医疗保险发放等等。

此考勤管理系统需要完成的功能主要有以下几点:(1)、员工考勤跾处理。

该模块完成员工考勤情况的输入、修改等操作。

如果企业内有考勤机,可以将它的输出处理后,形成考勤管理系统模块的输入。

(2)、企业缺勤类型的设定。

(3)、企业考勤统计。

该模块可以对某进行考勤情况的统计,生成统计报表。

四、系统功能模块设计:(图1)系统功能模块图考勤管理系统和企业中其他系统的关系:考勤定理系统是全企业信息系统的一个有机组成部分。

它与企业上其他系统之间的关系如下:(图2)和企业中其他系统之间的关系四、具体设计:1、数据库需求分析:(图3)系统处理流程图设计数据项和数据结构如下:(1)、员工考勤信息。

包括数据项有员工号、缺勤时间、缺勤天数、缺勤类型等。

(2)、勤类型信息。

包括的数据项有缺勤类型、名称、描述等。

(3)、员工基本信息。

包括数据项有员工号、员工姓名员工工种、员工所属部门等。

2、数据库概念结构设计本设计的实体有:考勤信息实体、员工基本信息实体、缺勤类型实体,各种实体之间的E-R图可以描述如下:.(图4)员工基本信息实体E-R图(图5)考勤信息实体E-R图(图7)实体之间的关系E-R图3、数据库的逻辑结构设计:考勤管理系统数据库中各个表格的设计结果如下面的几个表格所示。

数据库课程设计考勤

数据库课程设计考勤

数据库课程设计考勤一、考勤系统的背景和意义考勤是指对员工在规定时间内是否到岗、是否按时下班进行记录和统计的管理活动。

考勤系统是一种能够帮助企业管理人员对员工出勤情况进行全面监控和管理的信息化工具。

在现代企业中,考勤系统已经成为了必不可少的管理手段,它能够提高企业的管理效率,降低人力资源成本,保障员工权益。

二、数据库课程设计考勤系统的基本流程1.需求分析需求分析是任何软件开发项目中最重要的一步。

在考勤系统中,需求分析主要包括以下几个方面:(1)确定用户需求:从用户角度出发,明确用户对于考勤系统所期望达到的目标和功能。

(2)确定数据结构:根据用户需求确定数据结构,并建立相应的数据库。

(3)确定操作流程:根据用户需求确定操作流程,明确各模块之间的关系。

2.数据库设计数据库设计是指根据实际需要对数据库进行规划、设计和建立的过程。

在考勤系统中,数据库设计主要包括以下几个方面:(1)建立表格:根据需求分析中所确定的数据结构,在数据库中建立相应的表格。

(2)确定字段:为每个表格确定相应的字段,明确各个字段之间的关系。

(3)建立索引:为表格中经常需要查询的字段建立索引,提高查询效率。

3.界面设计界面设计是指将软件系统与用户之间进行交互的过程。

在考勤系统中,界面设计主要包括以下几个方面:(1)界面布局:根据操作流程确定各个模块之间的关系和布局方式。

(2)控件选择:根据操作流程选择相应控件,如文本框、按钮、下拉菜单等。

(3)美化设计:对于考勤系统来说,美化设计并不是重点,但是一个美观的界面能够提高用户体验。

4.编码实现编码实现是将需求分析、数据库设计和界面设计转化为代码的过程。

在考勤系统中,编码实现主要包括以下几个方面:(1)连接数据库:使用相关语言连接数据库,并进行数据读写操作。

(2)编写业务逻辑代码:根据需求分析和操作流程编写业务逻辑代码,实现相应功能。

(3)调试测试:对于每个模块进行调试测试,并对程序进行优化和完善。

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

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

数据库课程设计,职工考勤系统数据库课程设计职工考勤系统摘要在现代企业管理中,企业信息化是提高企业管理效率的重要手段。

随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。

规范的考勤管理是现代企业提高管理效益的重要保障,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。

随着计算机技术和通信技术的迅速发展,将传统的人工考勤管理信息化,建立一个高效率的、无差错的考勤管理系统,能够有效地帮助企业实现“公正考勤,高效薪资”的管理理念,使企业的管理水平登上一个新的台阶。

本课程设计主要是对企业员工的考勤管理。

本系统的设计只要是为了实现管理和查询企业员工的工作出勤情况。

主要功能有:刷卡记录管理、加班管理、请假管理、用户登录和注册功能以及月考勤统计表的查询。

本系统的数据库是用microsoftaccess20XX软件进行创建和设计,分别包括刷卡记录信息表,加班信息表,请假信息表,月考勤统计表和登录信息表五个表。

通过系统odBc数据源管理工具把已创建的数据源与系统数据库相连。

然后利用VisualBasic软件对系统的窗口进行设计,包括登录界面、注册新用户界面、主界面、浏览窗体和查询窗体等,可以通过这些窗体进行登录操作,对输入的用户信息进行验证,和注册新用户操作,以及最重要的操作是对数据库中信息进行修改与查询。

并可以对数据进行添加与删除,做到及时更新员工考勤信息。

关键词:考勤管理,microsoftaccess20XX软件,VisualBasic软件1.系统功能概述1.1系统功能考勤管理系统主要是实现刷卡记录、加班和请假的管理以及员工月考勤统计。

设计为mdi窗体,含有主菜单:[文件]、[管理考勤信息]、[查询考勤信息]。

[文件]菜单包含以下子菜单及其功能:[注册]:打开“注册新用户”窗体[关闭]:结束程序运行[登录]:登录主界面[管理考勤信息]包含以下子菜单:[刷卡信息]菜单:显示刷卡信息浏览和编辑窗体[加班信息]菜单:显示加班信息浏览和编辑窗体[请假信息]菜单:显示请假信息浏览和编辑窗体[查询考勤信息]包含以下子菜单:[刷卡信息查询]菜单:显示刷卡信息查询窗体[加班信息查询]菜单:显示加班信息查询窗体[请假信息查询]菜单:显示请假信息查询窗体[月考勤信息查询]菜单:显示月考勤信息查询窗体1.2系统结构总图考勤管理系统的结构总图,如图1.1所示:图1.1考勤管理系统的结构总体2.数据库设计2.1需求分析随着现代数据的信息化和大数据时代的到来,各个企业也逐渐实行信息化管理。

数据库课程设计——工资管理系统--职工考勤管理系统(java+sql-sever-2000)

数据库课程设计——工资管理系统--职工考勤管理系统(java+sql-sever-2000)

课程设计报告工资管理系统--职工考勤管理系统姓名LS班级学号QQ:1054180233 课程名称数据库原理及应用指导教师2011年12月15日目录1.工资管理系统需求分析 (1)1.1功能需求 (1)1.1.1功能划分 (1)1.1.2功能描述 (1)1.2性能需求 (1)1.3数据流图 (2)1.4 数据字典 (5)1.4.1 数据流的描述 (5)1.4.2处理逻辑的描述 (6)1.4.3数据存储的描述 (6)2.总体设计 (7)2.1数据库概念设计 (7)2.2功能模块 (8)3.系统详细设计 (9)3.1数据库逻辑设计 (9)3.2各模块功能 (10)3.2.1职工信息管理系统 (10)3.2.2职工工资管理系统 (10)3.2.3职工津贴管理系统 (10)3.2.4职工考勤管理系统 (10)4.系统实现 (11)4.1界面截图 (11)4.1.1主界面及工资基本信息界面 (11)4.1.2登录界面 (12)4.1.3系统主界面 (13)4.1.4考勤信息录入,修改,删除,查询界面 (14)4.2设计代码 (15)1、需求分析1.1功能需求1.1.1功能划分(1)、员工考勤情况表;及时反映员工的出勤,以及缺勤扣款情况(2)、员工津贴表,反映员工的加班时间,加班类别、加班天数、津贴情况等;(3)、员工基本信息表,反映员工的基本信息,反映员工的工种、等级,基本工资等信息;(4)、员工月工资表,计算月工资,生成打印清单。

(5)、银行表,用于员工工资的发放。

(6)、后勤部门表;反映员工的水电扣款信息等1.1.2 功能描述(1)、员工每个工种基本工资的设定(2)、加班津贴管理,根据加班时间和类型给予不同的加班津贴;(3)、按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资;(4)、员工年终奖金的生成,员工的年终奖金计算公式=(员工本年度的工资总和+津贴的总和)/12;(5)、企业工资报表。

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

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

《数据库原理及应用》项目实训任务书一、题目:职工考勤管理信息系统二、目的与要求1. 目的:1)锻炼学生的分析解决实际问题的能力;2)培养学生的数据库基础系统的分析、设计和开发能力2. 基本要求1)《数据库原理及应用》课程设计采用以“项目小组”为单位进行,项目小组根据选定的项目,按计划进度完成项目的分析与设计及实现任务。

2)每个班级分成两个大组,每组选出组长一名,负责考勤、作业的收集上交。

3)题目自定或采用附录中的参考题目,每人选择一个题目4)数据库工具:Access 或者SQLServer5)程序开发工具可以根据所学自行选择,或者采用ACCESS实现开发3. 创新要求在基本要求达到后,可进行创新设计,如系统用户功能控制,对管理员级和一般级别的用户系统功能操作不同三、信息描述系统基本信息描述,如:职工、考勤等。

四、功能描述系统功能基本要求职工信息,包括职工编号、职工姓名、性别、年龄、职称等;出勤记录信息,包括上班打卡时间,下班打卡时间,缺勤记录等;出差信息,包括出差起始时间、结束时间、统计总共天数等;请假信息,包括请假开始时间,结束时间,统计请假天数等;加班信息,包括加班开始时间、结束时间、统计加班总时间。

五、解决方案1.分析程序的功能要求,划分程序功能模块。

2.画出系统流程图。

3.重点是设计数据库(严格按照数据库设计步骤),完成系统功能。

4.完成项目实训报告书。

六、进度安排项目实训报告要求:包括需求分析、概念结构设计、逻辑结构设计、编码(详细写出编程步骤)、测试的步骤和内容、项目总结、参考资料等,不符合以上要求者,则本次设计以不及格记。

八、参考资料《数据库原理及应用》《ACCESS数据库与程序设计》《ACCESS项目案例导航》数据库教研室图1 系统结构图1.2.1 模块管理(1)用户管理模块增加一名系统使用用户,同时设置密码和权限,当此用户要更改密码时,可以在修改密码模块中进行。

必须具有一定权限才能进行此项操作。

【课程设计】职工信息管理系统

【课程设计】职工信息管理系统

【课程设计】职工信息管理系统第一篇:【课程设计】职工信息管理系统题目:职工信息系统功能包括:λ建立职工信息数据(职工编号,姓名,性别,年龄,电话,职务,工资和家庭成员信息)和信息简表(编号,姓名,电话)λ根据职工编号查询职工信息(查询时需要身份确认。

单位领导和人事秘书可以看到职工所有信息;财务处人员可以看到职工编号,姓名,性别,年龄,电话,工资;一般职工仅能查到信息简表)λ增加新职工信息(由人事秘书完成,需要身份确认)λ删除职工信息(由人事秘书完成,需要身份确认)λ修改职工工资(由财务处人员完成,需要身份确认)λ要求所有信息能够存储在文件中,并具有良好的用户界面#include #include #include #include using namespace std;const char * file = “staff.dat”;const int LIM =8;int ct=0;int Admin;int na;//ct用来储存文件中数据组数,Admin用来储存登陆后该用户的权限,//na用来储存登录所输的编号,方便主菜单内使用其显示当前用户void hline(int);inline void eatline(){while(cin.get()!='n')continue;} class staff {/*职工编号,姓名,性别,年龄,职务,电话,工资和家庭成员信息*/ public: };void staff::printf()//输出的选择,判断其职务,选择调用哪个输出{ if(Admin==1||Admin==2)printf1();else int num;char name[LIM],sex[3];int age;char job[10],phone[15];double wages;char home[20];int admin;void printf();void printf1();void printf2();void printf3();}if(Admin==3)printf2();else printf3();void staff::printf1()//领导及人事秘书能见的输出 {} void staff::printf2()//财务人员能见的输出 {} void staff::printf3()//普通员工能见的输出 { cout<} hline(3);cout<//输出信息的头部{switch(n){ case 1:{cout<<};break;case 2:{cout<};break;case 3:{cout<}} <};break;void menu()//主菜单 { cout<//二级菜单 { cout<//登陆的实现部分 { cout<intw=0;while(!(cin>>na)){ cin.clear();while(cin.get()!='n')continue;co ut<for(int i=1;i<=ct;i++)} fstream find;find.open(file,ios_base::in|ios_base::out|ios_base::binary);eatl ine();staff stu;{streampos place =(i-1)* sizeof stu;find.seekp(place);if(find.fail()){cerr << “■查找出错!程序将退出!■n”;system(“pause”);exit(EXIT_FAILURE);} find.read((char *)&stu, sizeof stu);if(stu.num==na){ } w=1;Admin=stu.admin;}if(w==0){cout<}int stu_num()//计算数据组数 {} staff stu;ifstream stunum;stunum.open(file,ios_base::in|ios_base::binary);if(stunum .is_open()){} stunum.close();return ct;stunum.seekg(0);while(stunum.read((char *)&stu,sizeof stu))ct++;system(“pause”);system(“cls”);void setadmin(staff &stu,char jobs[10])//增加职工时根据职务设置权限{ char job1[10]=“总经理”;char job2[10]=“副总经理”;char job3[10]=“人事秘书”;char job4[10]=“财务人员”;}void add()// 输入数据的函数,增加职工 {if(Admin==2){ staff stu;if((!strcmp(stu.job,job1))||(!strcmp(stu.job,job2)))stu.admin=1 ;elseif(!strcmp(stu.job,job3))stu.admin=2;elseif(!strcmp(stu.job,job4))stu.admin=3;ofstream fout(file, ios_base::out | ios_base::app | ios_base::binary);if(!fout.is_open()){cerr << “不能打开” << file << “ 文件:n”;exit(EXIT_FAILURE);}cout << “★增加职员信息★请输入职工姓名:(按Enter键退出输入!):n”;eatline();cin.get(, LIM);while([0]!= ''){cout << “★增加职员信息★请输入职工编号:”;cin>>stu.num;cout << “★增加职员信息★请输入职工性别:”;eatline();cin.get(stu.sex, 3);cout << “★增加职员信息★请输入职工年龄:”;cin>>stu.age;cout << “★增加职员信息★请输入职工职务:”;eatline();cin.get(stu.job, 10);cout << “★增加职员信息★请输入职工电话:”;eatline();cin.get(stu.phone, 15);cout << “★增加职员信息★请输入职工工资:”;cin>>stu.wages;cout << “★增加职员信息★请输入职工家庭信息:(按Enter键退出输入!):n”;eatline();cin.get(stu.home, 20);setadmin(stu,stu.job);fout.write((char *)&stu, sizeof stu);cout << “■增加职员信息■请输入职工姓名:(按Enter键退出输入!):n”;eatline();cin.get(,LIM);}fout.close();} else cout<void output()//输出全部职工信息的函数 { staff stu;} ifstream find;find.open(file,ios_base::in|ios_base::binary);hline(1);while(fin d.read((char *)&stu,sizeof stu)){ cout<<//修改数据函数 {if(Admin==3){fstream change;int w=0;staff stu;streampos place;change.open(file,ios_base::in|ios_base::out|ios_base::binary);i f(change.eof())change.clear();//清除EOF cout<>rec;eatline();for(int i=0;iplace =i* sizeof stu;change.seekg(place);if(change.fail()){cerr << “■查找出错!程序将退出!■n”;system(“pause”);exit(EXIT_FAILURE);} change.read((char *)&stu, sizeof stu);if(stu.num==rec){ } w=1;cout << “你选择的是:n”;stu.printf2();break;}if(w==1){ cout << “请输入你要修改职员的工资: ”;while(cin >> stu.wages){if(stu.wages<0||stu.wages>100000){cout<cin.clear();while(cin.get()!='n');continue;}break;} change.seekp(place);// 回到查找到的地点change.write((char *)&stu, sizeof stu)<< flush;if(change.fail()){cerr << ”■--查找失败!程序将退出--■n“;system(”pause“);n”;}exit(EXIT_FAILURE);} change.close();cout<void del()//删除指定编号的职工信息 {if(Admin==2){while(1){ eatline();int delnum;cout<cin>>delnum;fstreamin;in.open(“staff.dat”,ios_base::in|ios_base::binary);if(!in){ cout< } in.close();temp.close();//修改完成,将原文件清空,并将临时文件内容q=0;if(stu.num==delnum){ } if(q==0)temp.write((char*)&stu,sizeof(stu));in.read((char*)&stu,si zeof(stu));q=1;复制回原文件中}{ out.write((char*)&stu,sizeof(stu));temp.read((char*)&stu,sizeof( stu));out.open(“staff.dat”,ios_base::out|ios_base::trunc|ios_base ::binary);temp.read((char*)&stu,sizeof(stu));while(!temp.eof())//将文件内容修改后临时寸到另一个文件temp.open(“temp.dat”,ios_base::in|ios_base::binary);if(!te mp){ cout<cout<>x;if(!(x=='y'||x=='Y'))break;} else cout<void find()//查找职工的实现部分 {while(1){ menu2();//eatline();int a;int w=0;cin>>a;int na;char sna[LIM];fstreamfind;find.open(file,ios_base::in|ios_base::out|ios_base::binary);eatl ine();staff stu;switch(a){ case 1:cout<>na;break;case 2:cout<>sna;break;case 3:{w=1;if(Admin==1||Admin==2)output();else cout<}break;default:{} for(int i=1;i<=ct;i++){streampos place =(i-1)* sizeof stu;find.seekp(place);if(find.fail()){cout<cerr << “■查找出错!程序将退出!■n”;system(“pause”);exit(EXIT_FAILURE);} find.read((char *)&stu, sizeof stu);switch(a){ case 1:if(stu.num==na){w=1;stu.printf();};break;case 2:if(!strcmp(,sna)){w=1;stu.printf();};break;case 3:break;default:{cout<cin.clear();while(cin.get()!='n');continue;}} }n”;} if(w==0)cout<>x;if(!(x=='y'||x=='Y'))break;} /* 建立职工信息数据(职工编号,姓名,性别,年龄,电话,职务,工资和家庭成员信息)和信息简表(编号,姓名,电话)根据职工编号查询职工信息(查询时需要身份确认。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录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建立存储过程 (17)6.4创建触发器 (18)7 数据库运行和维护 (19)8 结论 (20)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) 加班管理对员工的加班时间进行统计,记录开始时间和结束时间,对加班信息实现添加,删除等操作。

(4) 请假管理可以提出请假申请,并完善请假信息,如请假开始时间,请假结束时间,请假的次数进行管理。

(5) 出差管理管理者安排员工出差,对出差时间,次数的管理。

2.2数据流图数据流图如图2.1所示2.1 数据流图2.3功能模块图如图2.2所示,图为功能模块图2.2 功能模块图2.4系统数据流程图如图2.3所示,图为数据流程图2.3 数据流程图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所示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 关系模式职工(职工编号,姓名,性别,年龄)出勤记录(职工编号,出勤编号,上班时间,下班时间,缺勤记录)出差记录(职工编号,出差编号,开始时间,结束时间,统计天数)加班信息(职工编号,加班编号,加班开始时间,加班结束时间,加班时间统计)请假信息(职工编号,请假编号,请假开始时间,请假结束时间,请假时间统计)月统计(职工编号,出勤月统计,出差月统计,加班月统计,请假月统计)4.2数据关系图如图4.2.1所示,在数据库中生成的关系图中,员工编号是员工信息表的主键,是其他表的外键。

图4.1 数据关系图5 物理结构设计5.1存储记录结构设计在物理结构中,数据的基本存取单位是存储记录。

有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。

存储记录就包括记录的组成,数据项的类型和长度等。

在本图中5.1职工信息表主要包括职工编号,姓名,性别,年龄表5.1 职工信息表在本表5.2中出勤记录包含职工编号,出勤编号,上班时间,下班时间,缺勤记录表5.2 出勤记录表在本图5.3中出差记录职工编号,出差编号,开始时间,结束时间,统计天数表5.3 出差记录表在本表5.4中加班记录表主要包含职工编号,加班编号,开始时间、结束时间。

时间统计表5.4 加班记录表在本表5.5中,请假记录表主要包括职工编号,请假编号,请假开始时间和请假结束时间组成。

表5.5 请假记录表在本图5.6中月统计主要包括职工编号,出勤月统计,出差月统计,请假月统计,加班月统计表5.6 月统计记录表5.2创建索引为mounth_note在w_id上创建唯一索引Create index M1 on mounth_note(w_id)GoExec sp_helpIndex mounth_note6 数据库实施6.1建立数据库CREATE DATABASE workerON( NAME=worker_data,FILENAME='f:\worker.mdf',SIZE=3,FILEGROWTH=1)LOG ON( NAME=worker_LOG,FILENAME='C:\worker_log.ldf',SIZE=1,MAXSIZE=50,FILEGROWTH=10%)6.2数据表的创建(1)如图6.1所示员工信息表(worker)CREATE TABLE worker( W_id CHAR(4) CONSTRAINT worker_Prim PRIMARY KEY,w_name CHAR(6) not null,SEX CHAR(2) CONSTRAINT SEX_Chk CHECK(SEX='男'OR SEX='女') not null, AGE INT not null,w_drgee VARCHAR(4) NOT NULL,)图6.1 员工信息表(2)如图6.2所示出勤记录表(work_note)CREATE TABLE work_note( W_id CHAR(4),w_num int ,CONSTRAINT work_note_Prim PRIMARY KEY(W_id,w_num), work_tim datetime,end_tim datetime,work_note datetime,)图6.2 出勤记录(3)如图6.3所示出差记录表(out_note)CREATE TABLE out_note( W_id CHAR(4),out_num int ,CONSTRAINT out_note_Prim PRIMARY KEY(W_id,out_num),out_tim datetime,back_tim datetime,out_days int,)图6.3 出差记录(4)如图 6.4所示加班记录表(over_note)CREATE TABLE over_note( W_id CHAR(4),over_num int ,CONSTRAINT over_note_Prim PRIMARY KEY(W_id,over_num), over_tim datetime,overend_tim datetime,over_days int,)图6.4 加班记录(5)如图6.2.5所示请假记录表(off_note)CREATE TABLE off_note( W_id CHAR(4),off_num int ,CONSTRAINT off_note_Prim PRIMARY KEY(W_id,off_num), off_tim datetime,offend_tim datetime,off_days int,)图 6.5 请假记录(6)如图6.6所示月纪录表(mounth)CREATE TABLE mounth_note( w_id CHAR(6) CONSTRAINT mounth_Prim PRIMARY KEY, work_note int not null,out_note int,over_note int,off_note int,)图6.6 月统计记录表6.3建立存储过程如图6.7所示建立一个向员工出勤表中插入数据的存储过程CREATE PROCEDURE insert_in(@W_id CHAR(4),@w_num int ,@work_tim datetime ,@end_tim datetime ,@work_note datetime)ASinsert into work_notevalues(@W_id, @w_num, @work_tim ,@end_tim ,@work_note )goexecinsert_in@W_id='0001',@w_num=1,@work_tim='2010/11/1' ,@end_tim='2010/11/ 1' ,@work_note=nullgoselect *from work_note图6.7 运行结果6.4创建触发器(1)建立一个触发器,当想考勤记录中添加一条新的考勤记录时,触发统计该员工一个月的考勤记录,并存入月统计的月考勤记录表中。

相关文档
最新文档