


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 成 绩09信计2021-2021一?数据库原理及应用?课程设计设计题目 员工出勤管理系统 设计时间 2021.1.4 学生姓名 倪匡男 学生学号 20210401159 所在班级 调查与分析 指导教师 刘 风 华 徐州工程学院数学与物理科学学院目录1可行性研究12 需求分析3功能需求3数据流图4功能模块图4系统数据流程图52.5数据词典73 概念结构设计.8 3.1 接口设计.83.2 局部E-R图.93.3 整体E-R图.94 逻辑结构设计104.1 关系模式10模式优化.115 数据实施与维护11数据表的创立11建立存储过程155.3创立触发器166测试177.课程设计总计.21参考文献
2、21 1.1 问题描述随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。标准的考勤管理是现代企业提高管理效益的重要保证,而传统的人工管理存在着效率低、不易统计、本钱高和易出错等弊端,已经无法适应现代企业的需求。随着计算机技术和通信技术的迅速开展,将传统的人工考勤管理计算机化,建立一个高效率的、无过失的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资,使企业的管理水平登上一个新的台阶。 企业考勤管理经过如下的业务流程:1员工根本信息管理,添加,删除,更改2员工考勤管理,员工根据自己的班次在上下班时分别进行出勤操作,采用手动方式或者使用划卡机。由人事部门专门的人员管
3、理出勤和退勤信息。3一般在每个月月初进行考勤汇总,汇总信息包括工作日的出勤情况、请假天数、出差天数、休假天数和不同性质的加班记录等。待开发的系统的名称为企业职工在线考勤系统。我们以中小型企业的考勤管理业务为依托,结合科学管理的理论,设计并开发一个企业考勤管理信息系统,提供一个科学合理的考勤管理解决方案,彻底实现无纸化作业。根据管理权限的不同,将界面分为一般职员、部门经理、系统管理员和最高管理者四个层次,系统目标如下:1提供简单、方便的操作。2根据企业原来的考勤管理制度,为企业不同管理层次提供相应的功能。3通过考勤管理无纸化的实现,使企业的考勤管理更加科学标准。4节省考勤管理的本钱。5提高企业考
4、勤管理的透明度和效率,防止“虚假出勤“的现象。6对系统提供必要的权限管理。7为企业实现整体信息化的其他相关系统提供必要的数据支持。公司考勤管理系统这运用了当前最流行的SQL SERVER20005运行和开发的1库、根本表的建立和修改:在SQL-SERVER环境下用CREATE TABLE 建立库以及库中根本表。2数据加载: 用手工录入或导入等方法实现根本表中的数据加载。3单表查询以及多表查询:在建立的根本表中使用select根本格式和聚集函数;设计适宜的视图,实现多表间查询。4触发器:设计触发器,可实现表间关联字段修改时的完整性等问题。5存储器:设计存储过程,并用语句调用。6用SQL SERV
5、ER 2000/2005等开发环境设计、实现系统主要功能。考勤系统能实现职工日考勤记录,记录请假信息,记录出差信息等功能,并最终所有信息归入月统计中去。本考勤系统建立了一个高效率的、无过失的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资,使企业的管理水平登上一个新的台阶。 2 需求分析(1) 数据管理功能是设置和管理根底数据,包括加班、请假类别的定义和班次的定义,在全县范围内可以进行根底数据的添加、删除和修改。(2) 考勤管理包括出勤动作、出勤信息的查询;上级对下级员工的出勤信息确实认;生成考勤统计信息并可以根据指定的条件进行查询。实现从每日出勤到统计全部考勤信息的无纸化操作。为方便
6、数据传递和查阅,要根据需求提供不同时间短的考勤统计信息表。(3) 加班管理对员工的加班时间进行统计,记录开始时间和结束时间,对加班信息实现添加,删除等操作。(4) 请假管理可以提出请假申请,并完善请假信息,如请假开始时间,请假结束时间,请假的次数进行管理。(5) 出差管理管理者安排员工出差,对出差时间,次数的管理。功能模块图如图2.2所示,图为功能模块图职工考勤管理信息系统员工根本信息出差记录出勤记录 请假记录月统计加班记录2.2 功能模块图2.3系统数据流程图如图2.3所示,图为数据流程图各种统计信息管理人员考勤员员工经理审批月度员工考勤统计请假、值班、出差记录上下班时间安排员工出勤记录记录
7、出勤时间2.3 数据流程图2.4数据字典在物理结构中,数据的根本存取单位是存储记录。有了逻辑结构以后,就可以设计存储记录结构,一个存储记录可以与多个逻辑记录相对应。存储记录就包括记录的组成,数据项的类型和长度等。3 概念结构设计 局部E-R图1员工E-R图,如下图年龄姓名编号性别职工2图 为出勤E-R图年龄职工编号下班时间缺勤记录上班时间出勤记录3出差E-R图出差编号职工编号结束时间缺勤记录开始时间出差记录4加班E-R图加班编号职工编号加班统计开始时间出勤记录结束时间5请假E-R图请假编号编号结束时间请假统计开始时间请假记录6月统计E-R图职工编号下班时间缺勤记录上班时间出勤记录3.2 整体E
8、-R图如图3.7所示,图为整体E-R图职工性别年龄编号姓名出勤出勤记录上班时间缺勤记录下班时间出差出差记录起始时间统计天数请假信息请假结束时间统计天数开始时间加班加班信息起始时间结束时间时间统计月统计统计出差统计加班统计出勤统计请假统计请假编号加班编号出差编号职称结束时间4 逻辑结构设计4.1 关系模式职工职工编号,姓名,性别,年龄出勤记录职工编号,出勤编号,上班时间,下班时间,缺勤记录出差记录职工编号,出差编号,开始时间,结束时间,统计天数加班信息职工编号,加班编号,加班开始时间,加班结束时间,加班时间统计请假信息职工编号,请假编号,请假开始时间,请假结束时间,请假时间统计月统计职工编号,出
9、勤月统计,出差月统计,加班月统计,请假月统计4.2 模式优化职工、出勤记录、出差记录、加班信息、请假信息、月统计 不存在非主属性对主属性的局部函数依赖,也不存在传递函数依赖,已经到达了3NF。5 数据实施和维护 表的建立 表的属性 出勤资料 员工出根本资料表属性 加班资料表属性 加班资料表 请假资料表属性 请假资料表 出差资料表属性 出差资料表 日志资料表 日志资料 1建立一个向员工出勤表中插入数据的存储过程CREATE PROCEDURE insert_in( W_id CHAR(4), w_num int , work_tim datetime , end_tim datetime , w
10、ork_note datetime )ASinsert into 出勤表values(W_id, w_num, work_tim ,end_tim ,work_note )goexecinsert_inW_id='0001',w_num=1,work_tim='2010/11/1' ,end_tim='2010/11/1' ,work_note=nullgoselect *from w出勤表2建立一个向员工出勤表中插入数据的存储过程CREATE PROCEDURE insert_in W_id CHAR(10), w_num int , work
11、_tim CHAR(20) , end_tim CHAR(20) , work_note CHAR(20) ASinsert into work_notevalues(W_id, w_num, work_tim ,end_tim ,work_note )goexec insert_in W_id='009',w_num=029,work_tim='2021/11/1 8:00' ,end_tim='2021/11/1 20:00' ,work_note='全勤'select *from 出勤表1建立一个触发器,当想考勤记录中添加一
12、条新的考勤记录时,触发统计该员工一个月的考勤记录,并存入月统计的月考勤记录表中。请假记录,出差记录,加班记录分别建立此类触发器。CREATE TRIGGER mounth_insertON 出勤表FOR insertASbeginif update(w_id)update mounth_noteset出勤表=(select count(work_tim)from 出勤表where w_id =(SELECT W_id FROM inserted)group by w_id)where w_id = (SELECT W_id FROM inserted)end2建立一个触发器,根据员工姓名对员工
13、信息进行修改create trigger update_W_idon 员工根本资料for updateas declare before_update char(10),after_update char(10) select before_update=W_id from deleted select after_update=W_id from inserted if(after_update>100)begin print'人数过多,超出公司承受能力,请核实'rollback transactionendupdate worker set W_id= '00
14、8'where w_name='李勇'update worker set W_id= '108'where w_name='李勇'3创立一个触发器,当删除员工根本信息时,同事也删除其他表中员工的信息。如当删除员工根本资料表中信息是,也删除员工出勤表中的内容,请假记录,出差记录,加班记录分别建立此类触发器。create trigger delete_dataon 员工根本信息for deleteasdelete from出勤表where w_id=(select w_id from deleted)6 测试1在表格内参加数据在SQL查询分析
15、器中输入以下代码:insert into 外出表(记录号,类型名,员工基_员工号,员工号,员工名,出差类型,起始时间,结束时间)values('119','出差','a80','a80','邓月','出差',2008-06-09,2008-06-12)点击运行后输入:select * from 外出表 得出以下结果:2查询数据: 在SQL查询分析器中输入以下代码: 点击运行后输入,得出以下结果:3修改数据: 在SQL查询分析器中输入以下代码:update 外出表set 员工名 = '周丹
16、39;where 记录号=119 select * from 外出表点击运行后输入,得出以下4删除数据: 在SQL查询分析器中输入以下代码: deletefrom 外出表where 员工名='周丹'select * from 外出表点击运行后输入,得出以下结果:7 课程设计结论本系统在信息表述上还不完备,一些模块的信息还不够详细,主要是提供的报表有限。系统虽然针对中小企业的考勤管理业务。对使用打卡机、指纹机进行出、退勤的企业,还需要添加一个采集打卡机和指纹机的数据模块。下一步可以再熟悉系统设计风格的根底上,在各个界面上进一步添加多需要的字段和报表,或者添加采集数据的模块,以扩充
17、系统的功能。本系统的创新点在于触发器的应用,每增加一条记录,都会重新统计一下记录次数,并存入月纪录中,使得信息更加准确。 在设计时由于对编程语言知识的匮乏,所以数据库的界面化没有做成,如假设想更加完善数据库,应该结合一些编程语言,使得操作界面更加人性化,简单化。通过本次设计,我对数据库有了更深入的了解,见证了一个系统从无到有,从漏洞百出到逐渐完善的过称,是我所学的只是得以所用,加深了对数据库的理解,在设计过程中有很多不会的问题,通过自己查阅资料逐渐解决,这本身就是一个学习的过程,不仅学到了只是,还掌握了学习方法。同时让我认识到自己所学知识的匮乏,所以要全面开展自己的专业,一个人的能力总是有限的
18、,所以团队合作很重要,在做设计的过程中要学习他人之长,听取他人的意见,虚心向别人请教。相互配合做好自己的工作,才能成为一名合格的网路工程师。虽然自己做的设计还不是很完善,但我觉得很有意义,对我以及我今后的人生都很有帮助。参考文献:1 胡师彦. 微软SQL Server2000数据库的特点及查询优化研究J. 兰州工业高等专科学校学报, 2002,(01). 2 王西文,张广智. 浅谈SQL Server应用方法和技巧J. 山东水利, 2002,(12). 3 何思文. 基于SQL Server 2000的数据仓库的实现J. 广东科技, 2004,(05). 4 白青海,张善勇,郑瑛. ADO与S
19、QL SERVER 2000数据库应用程序开发探讨J. 内蒙古民族大学学报(自然科学版), 2003,(02). 5 李丹. 浅谈SQL Server 2000中高性能的备份与恢复J. 河北工程技术职业学院学报, 2004,(02). 6 李欣苓. SQL Server 2000中几个系统存储过程的应用J. 水利水文自动化, 2003,(01). 7余建英,何旭洪.PwerBuilder数据库系统开发实力导航(第二版).北京.人民邮电出版社.2004.4.179239.8王晟,王松,刘强.数据库开发经典案例解析.北京.清华大学出版社.2005.7.310364.9王珊,萨师煊.数据库系统概论(
20、第四版).北京.高等教育出版社.2006.3.210225.10周新会,周金根.数据库通用模块及典型系统开发实力导航(第一版).北京.人民邮电出版社.2006.2.185214.附录alter table 出勤资料表 drop constraint FK_出勤资料表_REFERENCE_员工根本资料表alter table 加班表 drop constraint FK_加班表_REFERENCE_员工根本资料表alter table 外出表 drop constraint FK_外出表_REFERENCE_员工根本资料表alter table 外出表 drop constraint FK_外出
21、表_REFERENCE_外出类型表alter table 日志表 drop constraint FK_日志表_REFERENCE_用户alter table 用户 drop constraint FK_用户_REFERENCE_员工根本资料表alter table 用户 drop constraint FK_用户_REFERENCE_权限表alter table 请假表 drop constraint FK_请假表_REFERENCE_员工根本资料表alter table 请假表 drop constraint FK_请假表_REFERENCE_请假类型表/*=*/* Table: 出勤资料
22、表 */*=*/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 (记录号)/*=*/* Table: 加班表 */*=*/create table 加班表 (
23、 记录号 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 (记录号)/*=*/* Table: 员工根本资料表 */*=*/create table 员工根本资料表 ( 员工号 char(30) not null, 员工名 char(30) not null, 性别 tinyi
24、nt 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 (员工号)/*=*)/* Table: 外出表 */*=*/create table 外出表 ( 记录号 int not null, 类型名 char(30) null, 员工基_员工号 char(30) null, 员工号 ch
25、ar(20) not null, 员工名 char(30) not null, 外出类型 char(30) not null, 起始时间 datetime not null, 结束时间 datetime not null, constraint PK_外出表 primary key (记录号)/*=*/* Table: 日志表 */*=*/create table 日志表 ( 记录号 binary(8) not null, 用户名 char(30) not null, 操作 char(127) not null, 日期 datetime not null, constraint PK_日志表
26、primary key (记录号)/*=*/* 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 ke
27、y (权限名)/*=*/* Table: 用户 */*=*/create table 用户 ( 用户名 char(30) not null, 员工号 char(30) null, 权限名 char(30) null, 用户密码 int not null, 权限号 int not null, constraint PK_用户 primary key (用户名)/* Table: 请假表 */*=*/create table 请假表 ( 记录号 int not null, 类型名 char(30) null, 员工基_员工号 char(30) null, 员工号 char(20) not null
28、, 员工名 char(20) not null, 请假类型 char(30) not null, 起始时间 datetime not null, 结束时间 datetime not null, constraint PK_请假表 primary key (记录号)alter table 出勤资料表 add constraint FK_出勤资料表_REFERENCE_员工根本资料表 foreign key (员工基_员工号) references 员工根本资料表 (员工号)alter table 加班表 add constraint FK_加班表_REFERENCE_员工根本资料表 foreig
29、n key (员工基_员工号) references 员工根本资料表 (员工号)alter table 外出表 add constraint FK_外出表_REFERENCE_员工根本资料表 foreign key (员工基_员工号) references 员工根本资料表 (员工号)alter table 外出表 add constraint FK_外出表_REFERENCE_外出类型表 foreign key (类型名) references 外出类型表 (类型名)alter table 日志表 add constraint FK_日志表_REFERENCE_用户 foreign key (用户名) references 用户 (用户名)alter table 用户 add constraint FK_用户_REFERENCE_员工根本资料表 foreign key (员工号) references 员工根本资料表 (员工号)alter table 用户 add constraint FK_用户_REFERENCE_权限表 foreign key (权限名) references 权限表 (权限名)alter table
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年级下学期开学典礼教师演讲稿
- 2022-2027年中国巴旦木行业运行态势及市场发展潜力预测报告
- 2024-2030年中国鱼生酱油行业市场全景评估及发展前景预测报告
- 中国专业音视频行业调查报告
- 2025年中国混合动力无人机行业市场全景评估及发展前景预测报告
- 新员工学习总结
- 四班级下学期班主任工作方案模板
- 基建员个人总结范稿
- 临床检验师以往考试试题及答案2025版
- 海上风电示范工程项目可行性研究报告(咨询-立项模板)
- 水利勘测设计管理制度
- 2025年安全生产考试题库(造纸行业安全规范)试题
- DB31/T 1093-2018混凝土砌块(砖)用再生骨料技术要求
- 无人机培训公司运营管理方案
- 经理副职面试题及答案
- 大一计算机考试真题单选题100道及答案
- 信用卡消费者保护培训
- 青蓝工程工作总结师傅
- 石油化工生产与操作作业指导书
- 2025年中国汽车配件出口分析及各国进口政策影响白皮书-特易资讯
- 广场项目基坑监测工程技术投标书
评论
0/150
提交评论