资源描述
信息工程学院数据库应用系统开发课程设计论文题 目:单位考勤系统数据库设计学 号:1212210231专业班级:计算机12级(2)班姓 名:李凯丽指导老师: 尚佩妮,王伯槐,王小平完成日期:2015-1-3I摘 要摘 要现在不论哪个企业,都要进行考勤,一些企业在考勤管理方面用了大量的人力和财力,不说准确度和可信度如何,其效率很低,而且容易出错,不利于管理。所以人工考勤已经很难再满足企业规范化管理的要求,随着数据库技术的发展和企业信息化建设的进行,使用计算机管理考勤成为一种主流趋势,它不仅为企业减少了人力财力的付出,而且也大大减轻了考勤工作人员的工作量。本系统以打卡作为主要的数据输入来源,同时可以实现在一些特殊条件下对员工的工作时间进行修改如员工出差,放假,或者打卡机出现故障时对数据库的修改,然后将每个员工每月的工作情况分别统计最后交给财务部门和考勤部门并进行打印给每个对应的员工工作时间。关键词:打卡机;员工;考勤部门;财务部门;目 录目 录1引 言12. 需求分析阶段22.1 引言22.2 需求分析阶段的目标与任务22.2.1处理对象22.3 需求分析阶段成果33 概念设计阶段93.1 引言93.2 任务与目标103.3 阶段结果104逻辑设计阶段124.1逻辑设计的任务和目标124.2数据组织134.2.1将E-R图转换为关系模型134.2.2模型优化134.2.3数据库模式定义144.2.4 用户子模式定义154.3数据处理165物理设计阶段175.1物理设计阶段的目标与任务175.2数据存储方面175.3系统功能模块185.3.1 读者基本信息的查询和更新模块185.3.2 图书基本信息的查询和更新模块186数据库实施阶段196.1建立数据库、数据表、视图、索引196.1.1 建立数据库196.1.2 建立数据表196.1.3 建立视图216.1.4 建立索引226.1.5 建立触发器226.2数据入库226.3创建各个功能的存储过程237系统调试和测试238实习心得239存在的问题及建议24致谢25参考文献25附录1 存储过程定义26附录2 数据查看和存储过程功能的验证29附录3 所有的SQL运行语句34III数据库原理与应用课程设计报告1引 言开发本系统的目的,就是要解决目前企业中关于员工出勤管理中所面临的一系列问题。开发出企业考勤管理系统能有效地提高企业办事效率,解决目前员工出勤管理问题,实现员工请出勤信息和缺勤信息对企业领导透明,使管理人员及时把握员工的情况,及时与员工沟通,提高生产质量。考勤管理系统是企业对考勤实行了信息化管理,考勤管理中主要涉及的管理任务有5个方面:部门信息管理、员工基本信息管理、考勤信息管理、考评信息管理以及系统管理。 员工的基本信息、员工考勤、考评管理、系统用户管理,适用于机关、金融和各企事业单位。为实现员工考勤数据采集、数据统计和信息查询过程的自动化,完善人事管理现代化,方便员工上班报到,方便管理人员统计、考核员工出勤情况,方便管理部门查询、考核各部门出勤率;准确地掌握员工出勤情况,有效地管理、掌握人员流动情况,适用于机关、金融和各企事业单位。-1-2. 需求分析阶段2.1 引言实际的管理和记录工作非常需要快速获知各个部门员工的每日出勤情况,以便于及时向高层管理者反映员工的出勤,缺勤情况。目前,由于负责考勤的员工,工作任务比较多,而且还都是重复数据,让工作者没有办法及时的向上报告。工作问题不能及时处理。针对以上的情况,我们提出企业考勤管理系统,实现网上考勤任务,以减轻考勤人员的工作量。我准备开发员工考勤管理系统,完成员工基本信息维护、企业的部门信息维护、企业基本考勤类型的维护、员工考勤的管理、员工考勤的查询与分析。实现人事考勤的需要,包括员工迟到、早退的情况的记录,在每个月底计算工资对员工和对员工进行绩效评估的时候,对员工整个月的考勤记录进行查询和统计。2.2 需求分析阶段的目标与任务(1)记录每个员工每天所有进入公司的时刻和离开公司的时刻。(2)每天结束时自动统计当天的工作时间(3)每天结束时自动统计当天迟到或早退的次数。(4)对于弹性工作制,每天结束时自动统计当月的工时,并自动算出当月欠缺或富余的时间(5)每个月末统计该月的工作时间判断是否足够(6)每个月末统计该月的工作天数并判断是否足够(7)管理人员查询并修改工作时间(特殊情况下修改)(8)管理人员账户管理(如设置密码等)(9)管理人员设定早退及迟到的条件,每个月的工作时间(10)管理人员设定每个月的工作日期及放假日期2.2.0安全性和完整性要求1) 安全性要求 系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。2) 完整性要求系统完整性要求系统中数据的正确性以及相容性。可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。2.2.1单位考勤系统结构图设定工作放假日期统计工作时间记录时刻统计迟到早退次数统计工时设置密码设定迟到早退条件判断工作天数足够判断工作时间足够查询修改工作时间考勤系统管理管理系统整合系统考勤系统2.2.2 考勤管理系统数据流程图 顶层数据流图: 第1层数据流图 2.2.3 考勤管理系统数据字典(1),数据项描述数据项别名类型长度取值范围 取值含义含义说明员工编号ynobigint0000000至9999999前三位为部门编号,后四位为顺序编号唯一标识每个员工员工姓名ynamechar3规范化唯一标识每个员工员工性别ysexchar3“男”或“女”规范化性别是区分员工的一个大致范围职位yzhibigint5标识员工工作性质入职时间ytimebigint102000至2050日期进入职位时间员工年龄yageint320至70员工年龄的允许范围唯一标识员工年龄密码ysecretint6000000至9999996位登陆密码唯一标识每个人的信息表2-1 数据项描述表(2)数据结构描述数据结构说明组成员工信息是考勤管理子系统的主体数据结构,定义了一个员工的有关信息员工编号,员工姓名,员工性别,出生日期,职位,密码部门信息是考勤管理子系统的主体数据结构,定义了一个部门的有关信息部门编号,部门名称表2-2数据结构描述(3)数据流描述数据流说明数据流来源数据流去向组成平均流量高峰期流量核对密码根据不同人员相应的权限登录时的信息考勤管理系统管理员的帐号密码与普通员工的帐号密码每天传输1000次1500次完整的考勤数据员工的考勤数据月度考勤统计工资评估月度考勤编号、员工编号、日期、累计正常工作时间迟到次数、早退次数、旷工次数每月传输1500次1500次表3-3数据流描述(4)数据存储数据存储说明流入数据流流出数据流组成数据量存取方式月度考勤统计记录员工每月的考勤情况一个月的信息统计统计好的考勤数据月度考勤编号、员工编号、日期、正常工作时间、迟到次数、早退次数、旷工次数每月1500次更新,顺序检索表3-4数据存储(5)处理过程处理过程说明输入数据流输出数据流处理登录用正确的账号登录账号和密码核对密码要求密码正确,并且根据账户名来区分管理员和普通员工录入数据将准备的数据依次录入 准备的出差,请假,加班,出勤的数据录入正常工作,迟到早退,出勤的情况要求数据根据其内容分别编入不同的记录中修改数据根据相应的评估方法来修改数据完整的考勤数据修改数据单把错误数据修改成正确数据3 概念设计阶段 3.1 引言系统开发的总体目标是实现单位考勤的系统化和自动化,提高单位考勤效率,便于实现对公司人员的集体管理,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理的目的。主要任务是对员工信息、管理员信息、打卡机信息、基本信息的操作及外理。概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。3.2 任务与目标(1)选择中层数据流为切入点,通常选择实际系统中的子系统; (2)设计分E-R图,即各子模块的E-R图; (3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一; (4)生成全局E-R图,通过消除冲突等方面。4逻辑设计阶段4.1逻辑设计的任务和目标以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。4.2数据组织4.2.1将E-R图转换为关系模型实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合 具有相同码的关系模式可合并。E-R图如下:员 工员工号员工姓名员工年龄员工性别职位 我位位密码 吗反对法码码码 码图3.1 员工属性图刷卡机规 格格刷卡机名称刷卡机号图3.2刷卡机属性图性 别管理员号管理员年龄姓名图3.3管理员属性图员工姓名员工号密 码员 工职 位员工性别员工年龄上班的时 间 m每天工作时间记录早退的次数下班的时 间迟到的次数管理员号剩余的时间统计 姓 名刷卡机号 n管理员刷卡机 m n规 格刷卡机名称年 龄性 别工作天数4.2.3数据字典员工表(employee)列名别名类型长度备注员工号ynobigint6设为主码员工姓名ynamechar20员工性别ysexchar2年龄ygageint3职位ygzhwchar6密码secretint6入职时间ygrzhtime8表3-1 员工表记录数据表(data_record):列名别名类型长度备注员工号ynobigint6设为主码刷卡机号sknobigint15设为主码上班的时间ondutytimedatatime4下班的时间offdutytimedatatime4每天工作时间worktimechar4表3-2记录数据表刷卡机表(skj):列名别名类型长度备注刷卡机号sknobigint15设为主码刷卡机名称sknamechar8规格skggchar10表3-3刷卡机表统计数据表(statistics_data):列名别名类型长度备注员工号ynobigint6设为主码刷卡机号sknobigint15设为主码剩余的时间ljworktimechar10迟到的次数latetimesint2早退的次数leavetimesint2工作天数workdaybigint2表3-4统计数据表管理员表(Administrator)列名别名类型长度备注管理员号anobigint6设为主码姓名anamechar20性别asexchar2年龄aageint3表3-5管理员表5数据库实施阶段建立数据库、数据表、视图、索引create database 考勤管理on ( name=kaoqinguanli_dat,filename=C:Program FilesMicrosoft SQL ServerMSSQLDatakaopqinguanlidat.mdf,size=10,maxsize=50,filegrowth = 5 )log on(name=kaoqinguanli_log,filename=C:Program FilesMicrosoft SQL ServerMSSQLDatakaoqinguanlilog.ldf,SIZE = 5MB,MAXSIZE = 25MB,FILEGROWTH = 5MB )create table 员工表( 员工号 bigint primary key, 员工姓名 char(20), 员工性别 char(2), 年龄 int,职位 char(6),密码 int,入职时间 datetime)create table 记录数据表(员工号 bigint primary key,刷卡机号 int,上班的时间 datetime,下班的时间 datetime,每天工作的时间 char(4)create table 刷卡机表(刷卡机号 bigint primary key,刷卡机名称 char(8),规格 char(10)create table 统计数据表(员工号 bigint primary key,刷卡机号 int ,剩余的时间 char(10),迟到的次数 int,早退的次数 int,工作天数 int )create table 管理员表(管理员号 bigint primary key,姓名 char(20),性别 char(2),年龄 int)insert into 员工表 values (201201,张三,男,23,员工,111111,20100101)insert into 员工表 values (201202,李四,男,24,员工,111112,20100102)insert into 员工表 values (201203,王五,女,20,员工,111113,20100103)insert into 员工表 values (201204,白玉女,21,员工,111114,20100104)insert into 记录数据表 values (201201,01,8:00,17:00,8)insert into 记录数据表 values (201202,02,8:00,17:00,8)insert into 记录数据表 values (201203,03,8:00,17:00,8)insert into 记录数据表 values (201204,04,8:00,17:00,8)insert into 记录数据表 values (201205,05,8:00,17:00,8)insert into 刷卡机表 values (201201,名称1, 适合)insert into 刷卡机表 values (201202,名称2, 适合)insert into 刷卡机表 values (201203,名称3, 适合)insert into 刷卡机表 values (201204,名称4, 适合)insert into 刷卡机表 values (201205,名称5, 适合)insert into 统计数据表 values (201201,01,00:10,2,8,20)insert into 统计数据表 values (201202,02,00:20,3,7,20)insert into 统计数据表 values (201203,03,00:10,4,6,20)insert into 统计数据表 values (201204,04,00:10,5,5,20)insert into 统计数据表 values (201205,05,00:10,6,4,20)insert into 管理员表 values (201101,李泰,男,20)insert into 管理员表 values (201102,汉斯,男,21)insert into 管理员表 values (201103,张朝,男,23)insert into 管理员表 values (201104,赵六,男,22)insert into 管理员表 values (201105,李云,女,20) select* from 员工表 where not(年龄=20) select* from 员工表 order by 年龄 asc select* from 员工表 order by 入职时间 desc 6系统调试和测试对该图书管理系统进行测试,验证每个功能是否符合要求,具体的测试如下:(1)通过视图查看各个基本表和视图中的数据(见附录2)(2)检测各个存储过程的功能:(见附录2) 7本次课程设计心得通过以上数据库的设计,我深刻了解了每个阶段的设计内容:系统需求分析、概念结构设、逻辑结构设计、物理结构设计、数据库的实施和维护。分析该企业考勤子系统的功能是首先能提供查询员工的信息,其次让员工能清楚自己的考勤情况,并相应的查询到休息日的变化。考勤情况由进出记录,迟到记录,早退记录,工作时间记录来统计出的,详细的结果统计在月度考勤表中。员工都可以很详细的查询自己的情况。在做系统时,一定要严格按照步骤一步一步去做,而且要尽量做到最细,这样在后期的数据库实施阶段才会变得轻松与减小出错的概率,在不懂的地方一定要多问多查阅相关资料。这样才能做出优秀的数据库才能让客户满意。-20-附录1 参考文献清华大学出版社.数据库系统原理教程.王珊.陈红附录2 数据查看和存储过程功能的验证1. 基本表的数据查看(基于视图查询):1) 查看Reader(读者信息表)表中的数据2) 查看Bookview(图书信息)表中的数据:3) 查看Borrow(借阅信息)表中的数据:4)查看Maneger(管理员信息表)表中的数据5)查看Room(馆室信息表)表中的数据:6)查看Borrowview(当前借阅信息)视图中的数据:7)查看Historyview(借阅历史信息)视图的数据:8)查看Fineview(罚款信息)视图的基本数据:2. 存储过程功能的验证:1) 存储过程Query_Reader_R功能的验证:(按ReaID匹配查询读者信息)2) 存储过程Query_Book_Writer 功能的验证:(按BookWriter模糊查询图书信息)3) 存储过程Query_Book_Nmae_Publish功能的验证:(按书名和出版社查询图书信息)4)存储过程Query_Reader_M功能的验证:(以管理员身份查询读者信息)5)存储过程Reader_Insert 功能的验证:(插入一条读者信息记录)6)存储过程Borrow_Insert功能的验证:(插入一条借阅信息记录)7)存储过程Delete_Reader功能的验证:(按ReaNo删除相应的读者记录)(注:由于篇幅限制,这里仅给出了其中几个存储过程功能的验证)3. 触发器功能的验证:(在Borrow表中插入一条记录,触发Book表将图书由“可借”状态改为“不可借”状态)
展开阅读全文