数据库原理课程设计报告考勤管理系统.docx

上传人:b****6 文档编号:7349895 上传时间:2023-01-23 格式:DOCX 页数:21 大小:190.02KB
下载 相关 举报
数据库原理课程设计报告考勤管理系统.docx_第1页
第1页 / 共21页
数据库原理课程设计报告考勤管理系统.docx_第2页
第2页 / 共21页
数据库原理课程设计报告考勤管理系统.docx_第3页
第3页 / 共21页
数据库原理课程设计报告考勤管理系统.docx_第4页
第4页 / 共21页
数据库原理课程设计报告考勤管理系统.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

数据库原理课程设计报告考勤管理系统.docx

《数据库原理课程设计报告考勤管理系统.docx》由会员分享,可在线阅读,更多相关《数据库原理课程设计报告考勤管理系统.docx(21页珍藏版)》请在冰豆网上搜索。

数据库原理课程设计报告考勤管理系统.docx

数据库原理课程设计报告考勤管理系统

重庆科技学院

 

课程设计报告

院(系):

_电气与信息工程学院_专业班级:

学生姓名:

学号:

设计地点(单位)______第一实验楼I524___________

设计题目:

____________考勤管理系统设计__________

完成日期:

2012年7月6日

指导教师评语:

_______________________________________

____________________________________________________________________________________________________________________________________________________________________________________________________________________

成绩(五级记分制):

________________

指导教师(签字):

________________

摘要

在现代企业管理中,企业信息化是提高企业管理效率的重要手段。

考勤管理是企业管理的重要部分,在公司起着越来越重要作用。

本课程设计主要是对公司各项人员的考勤管理。

考勤管理系统分为8个模块,基本信息管理模块、出勤记录模块、缺勤记录模块、加班记录模块、出差记录模块、请假记录模块。

此外,该数据库的设计还可与工资管理系统等其它系统配合使用,使得企业员工的管理更加现代化、科学化、自动化,并可以很好地督促企业员工更好地为企业谋福利。

本系统采用SQLServer2005作为数据库,使用ODBC作为数据源。

在实现数据库部分功能时按照要求创建了触发器和存储过程以及视图。

关键词:

考勤管理SQLServer2005触发器存储过程

 

课程设计任务书

设计题目:

考勤管理系统设计

学生姓名

平张川

课程名称

数据库原理课程设计

专业班级

计科2010-03

地点

I524和计算机自主学习中心

起止时间

2012.6.25-2012.7.6

设计内容及要求

内容:

员工考勤系统能够和考勤机相连,可以把数据导入数据库中,从而完成自动、高效、科学的考勤信息的输入。

可以完成员工考勤信息的手工输入、修改、删除等操作。

可以设定缺勤的类型,如病假、事假等。

可以进行考勤情况统计,例如月终、年终统计,生成统计报表并将统计结果打印出来。

可以对数据库进行维护,例如数据备份。

要有相应的帮助文件。

要求:

按照数据库系统开发步骤进行数据库概念结构设计、逻辑结构设计、物理结构设计,使学生掌握数据库应用软件的开发流程,SQL语句的使用和存储过程的使用。

设计

参数

至少5个表结构;3个存储过程;2个触发器;3个视图。

 

进度

要求

19.1讲课阅读分析任务书制订设计计划

19.2-3需求分析概念结构设计

19.4-5概念结构设计准备文挡

20.1-3逻辑结构设计物理结构设计

20.4-5写文挡答辩交设计报告书

参考资料

1.雷亮等《数据库原理课程设计》指导书

2.王珊、萨师煊.《数据库系统概述》(第四版).北京:

高等教育出版社.2006。

3.C.J.Date著.孟小峰、王珊等译.《数据库系统导论》(第8版).北京:

机械工业出版社.2007。

4.陈根才等.数据库课程设计.浙江.浙江大学出版社.2007

说明

1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。

2.若填写内容较多可另纸附后。

3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。

教研室主任:

指导教师:

雷亮/游明英/张亚军/裴仰军

2012年07月05日

 

1需求分析

1.1系统目标设计

实现企业的考勤管理系统化,使得企业员工的管理更加现代化、科学化、自动化,并可以很好地督促企业员工,更好地为企业谋福利。

1.2系统功能分析

(1):

为了保证员工信息及部门信息的添加、删除、修改操作方便,在数据库中建立了员工信息表以及部门信息表,其中员工信息表包括了每个员工的姓名、性别、年龄、所在部门、职位、电话、家庭住址等详细的个人资料。

(2):

为了方便员工考勤系统能够和考勤机相连,可以把数据导入数据库中,从而完成自动、高效、科学的考勤信息的输入,我们建立了一个出勤记录表,员工在上班的时候输入员工信息号,就可以自动录入当前的时间,表示上班打卡,在员工下班的时候只需输入今天上班时的出勤记录编号便可以自动录入当前下班的时间,方便而高效的对员工上下班进行了考勤。

(3):

可以对缺勤类型和请假类型进行添加、删除和修改,此外还有缺勤记录表和请假记录表及加班记录表。

其中缺勤记录表的记录是由出勤记录表自动审核生成的。

有了这三个表,企业可以方便的根据这两个表对员工的工资和津贴进行相应的管理

(4):

有出差记录表对员工的出差记录进行管理。

(5):

在所有的考勤表中对应的汇总表都是由触发器自动生成的,总时间=结束时间–起始时间。

(6):

月记录表,年度记录表是通过存储过程统计生成的,可以对企业的每一个员工的月考勤记录和年考勤记录进行汇总统计。

 

1.3功能模块分析

根据系统功能的基本要求,可对整个系统划分为几个模块

 

图1.1功能模块分析

 

1.4系统全局数据流图

系统的全局数据流图,也称第一层数据流图,是从整体上描述系统的数据流,反映系统数据的整体流向,给设计者、开发者和用户一个总体描述。

图1.2数据流图

1.5数据字典

表1.1职工信息表(worker)

列名

说明

字段类型

约束控制

WID

职工编号

Int

主键

WName

职工姓名

Char(6)

非空

WSex

性别

Char

(2)

‘男’或‘女’

Wage

年龄

Int

非空

Wdegree

职称

Char(8)

非空

Wadd

住址

Char(16)

非空

WTel

手机号

Char(11)

非空

WE-mail

电子邮箱

Char(16)

允许为空

表1.2部门信息表(Charge)

列名

说明

字段类型

约束控制

CID

部门编号

Int

主键

CName

部门名称

Char(16)

非空

 

表1.3出勤记录表(worknote)

列名

说明

字段类型

约束控制

Wnum

出勤编号

Int

主键

WorkTime

上班时间

Datetime

允许为空

EndTime

下班时间

Datetime

允许为空

表1.4出差记录表(Outnote)

列名

说明

字段类型

约束控制

Outnum

出差编号

Int

主键

Outtime

开始时间

Datetime

允许为空

Backtime

结束时间

Datetime

允许为空

Outdays

统计天数

Int

允许为空

表1.5加班记录表(Overnote)

列名

说明

字段类型

约束控制

Overnum

加班编号

Int

主键

Overtime

开始时间

Datetime

允许为空

Overendtime

结束时间

Datetime

允许为空

Overtimes

时间统计

Float

允许为空

表1.6请假记录表(Offnode)

列名

说明

字段类型

约束控制

Offnum

请假编号

Int

主键

Offtime

请假开始时间

Datetime

允许为空

Offendtime

请假结束时间

Datetime

允许为空

Offdays

统计天数

Float

允许为空

表1.7缺勤记录表(NWnode)

列名

说明

字段类型

约束控制

NWnum

缺勤编号

Int

主键

NWtime

缺勤时间

Datetime

非空

表1.8请假类型表(Offtype)

列名

说明

字段类型

约束控制

Offtnum

请假类型编号

Int

主键

Offtype

请假类型

Char(16)

非空

表1.9缺勤类型表(NWtype)

列名

说明

字段类型

约束控制

NWtnum

缺勤类型编号

Int

主键

NWtype

缺勤类型

Char(16)

非空

 

表1.10月统计记录表(Monthnote)

列名

说明

字段类型

约束控制

Monthnum

月统计编号

Int

主键

MWorknote

出勤月统计

Int

允许为空

MOutnote

出差月统计

Int

允许为空

MOvernote

加班月统计

Float

允许为空

MOffnode

请假月统计

Int

允许为空

MNWnode

缺勤月统计

Int

允许为空

_Year

Int

允许为空

_Month

Int

允许为空

表1.11年统计记录表(Yearnote)

列名

说明

字段类型

约束控制

Yearhnum

年统计编号

Int

主键

YWorknote

出勤年统计

Int

允许为空

YOutnote

出差年统计

Int

允许为空

YOvernote

加班年统计

Float

允许为空

YOffnode

请假年统计

Int

允许为空

YNWnode

缺勤年统计

Int

允许为空

Y_year

Int

允许为空

 

2概念结构设计

2.1构成系统的实体型

由考勤管理系统的数据流图和数据字典,抽取出系统的8个主要实体,包括:

员工、出勤记录、缺勤记录、加班记录、请假记录、出差记录、月考勤汇总、年度考勤汇总。

员工实体型属性:

WIDWNameWSexWageWdegreeWaddWTelWE-mail

出勤记录实体型属性:

WnumWorkTimeEndTime

缺勤记录实体型属性:

NWnumNWtime

加班记录记录实体型属性:

OvernumOvertimeOverendtimeOvertimes

请假记录实体型属性:

OffnumOfftimeOffendtimeOffdays

出差记录实体型属性:

OutnumOuttimeBacktimeOutdays

月考勤汇总实体型属性:

MonthnumMWorknoteMOutnoteMOvernoteMOffnodeMNWnode_Year_Month

年度考勤汇总实体型属性:

YearhnumYWorknoteYOutnoteYOvernoteYOffnodeYNWnodeY_year

 

2.2工资管理系统E-R图

图2.1考勤管理系统E-R图

 

3逻辑结构设计

3.1逻辑结构简介

逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。

设计逻辑结构一般分为3步进行:

(1)将概念结构转换为一般的关系、网状、层次模型;

(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;

(3)对数据模型进行优化。

3.2关系模型

将E-R图转换为关系模型实际上就是要讲实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:

一个实体型转换为一个关系模式,一个多对多的关系可以转化为一个关系模式,而一对多的关系可以融合在其他的相关的关系模式中。

例如:

(1)职工与出勤记录之间是一对多的关系,所以将职工和出勤记录以及属于关系设计成以下关系模式:

职工(WIDWNameWSexWageWdegreeWaddWTelWE-mail)

出勤记录(WnumWorkTimeEndTime)

属于(WIDWNameWSexWageWdegreeWaddWTelWE-mailWnumWorkTimeEndTime)

(2)职工与年统计记录之间是一对多的关系,所以职工和年统计记录以及属于关系设计成以下关系模式:

职工(WIDWNameWSexWageWdegreeWaddWTelWE-mail)

年统计记录(YearhnumYWorknoteYOutnoteYOvernoteYOffnodeYNWnodeY_year)

属于(WIDWNameWSexWageWdegreeWaddWTelWE-mailYearhnumYWorknoteYOutnoteYOvernoteYOffnodeYNWnodeY_year)

(3)缺勤记录与缺勤类型是多对一的关系,所以缺勤记录和缺勤类型以及属于关系设计成以下关系模式:

缺勤记录(NWnumNWtime)

缺勤类型(NWtnumNWtype)

属于(NWnumNWtimeNWtnumNWtype)

 

4物理模型设计

数据库物理设计是将逻辑设计影射到存储介质上,利用可用的硬件和软件功能尽可能快地对数据进行物理访问和维护。

4.1定义数据库

SQLServer2000数据库文件分为3中类型:

主数据文件、次数据文件和日志文件。

通过SQL语言进行数据库创建,创建数据库的语句如下:

CreatedatabasekaoQsystem;

4.2创建表

创建员工基本信息表worker

createtableworker(

WIDintnotnull,

CIDintnotnull,

WNamechar(6)notnull,

WSexchar

(2)notnull,

Wageintnotnull,

Wdegreechar(8)notnull,

Waddchar(16)notnull,

WTelchar(11)notnull,

"WE-mail"char(16)null,

constraintPK_WORKERprimarykeynonclustered(WID)

 

请假类型表Offtype

createtableOfftype(

Offtnumintnotnull,

Offtypechar(16)notnull,

constraintPK_OFFTYPEprimarykeynonclustered(Offtnum)

出差记录表Outnote

createtableOutnote(

Outnumintnotnull,

WIDintnotnull,

Outtimedatetimenull,

Backtimedatetimenull,

Outdaysintnull,

constraintPK_OUTNOTEprimarykeynonclustered(Outnum)

加班记录表(Overnote)

createtableOvernote(

Overnumintnotnull,

WIDintnotnull,

Overtimedatetimenull,

Overendtimedatetimenull,

Overdaysfloat

(2)null,

constraintPK_OVERNOTEprimarykeynonclustered(Overnum)

年考勤记录表Yearnote

createtableYearnote(

Yearhnumintnotnull,

WIDintnotnull,

YWorknoteintnull,

YOutnoteintnull,

YOvernotefloat

(2)null,

YOffnodeintnull,

YNWnodeintnull,

Y_yearintnull,

constraintPK_YEARNOTEprimarykeynonclustered(Yearhnum)

出勤记录表Worknote

createtableworknote(

Wnumintnotnull,

WIDintnotnull,

WorkTimedatetimenull,

EndTimedatetimenull,

constraintPK_WORKNOTEprimarykeynonclustered(Wnum)

部门信息表Charge

createtableCharge(

CIDintnotnull,

CNamechar(16)notnull,

constraintPK_CHARGEprimarykeynonclustered(CID)

月考勤记录表Monthnote

createtableMonthnote(

Monthnumintnotnull,

WIDintnotnull,

MWorknoteintnull,

MOutnoteintnull,

MOvernotefloat

(2)null,

MOffnodeintnull,

MNWnodeintnull,

_Yearintnull,

_Monthintnull,

constraintPK_MONTHNOTEprimarykeynonclustered(Monthnum)

缺勤记录表NWnode

createtableNWnode(

NWnumintnotnull,

NWtnumintnotnull,

WIDintnotnull,

NWtimedatetimenotnull,

constraintPK_NWNODEprimarykeynonclustered(NWnum)

缺勤类型表NWtype

createtableNWtype(

NWtnumintnotnull,

NWtypechar(16)notnull,

constraintPK_NWTYPEprimarykeynonclustered(NWtnum)

4.3创建存储过程

在员工记录表中创建删除员工信息的存储过程:

USE[kaoQsystem]

GO

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

createprocedure[dbo].[delete_worker]

(@WIDint)

as

begin

deletefromdbo.workerwhereWID=@WID

end

在员工信息表上创建添加员工信息的存储过程:

USE[kaoQsystem]

GO

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

createprocedure[dbo].[insert_worker]

(@CIDint,@WNamechar(6),@WSexchar

(2),@Wageint,@Wdegreechar(8),@Waddchar(16),@WTelchar(11),@WE_mailchar(16))

as

begin

insertintodbo.worker(CID,WName,WSex,Wage,Wdegree,Wadd,WTel,WE_mail)values(@CID,@WName,@WSex,@Wage,@Wdegree,@Wadd,@WTel,@WE_mail)

end

在月记录表上建立一个统计月考勤记录信息的存储过程:

USE[kaoQsystem]

GO

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

createprocedure[dbo].[M_note](@yint,@mint,@WIDvarchar(10))

as

declare@Worknote_timesint

declare@Outnote_timesint

declare@Overnote_timesint

declare@Offnode_timesint

declare@NWnode_timesint

execute@Worknote_times=M_worknote@y,@m,@WID

execute@Outnote_times=M_outnote@y,@m,@WID

execute@Overnote_times=M_overnote@y,@m,@WID

execute@Offnode_times=M_offnote@y,@m,@WID

execute@NWnode_times=M_NWnote@y,@m,@WID

insertintodbo.Monthnote(WID,MWorknote,MOutnote,MOvernote,MOffnode,MNWnode,_Year,_Month)

values(@WID,@Worknote_times,@Outnote_times,@Overnote_times,@Offnode_times,@NWnode_times,@y,@m)

4.4创建触发器

在请假记录表中当请假结束的天数插入后创建统计请假天数的触发器:

USE[kaoQsystem]

GO

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

createtrigger[dbo].[Outnote_Offdays]on[dbo].[Offnote]

afterinsert,update

as

begin

setnocounton

declare@_offnumint

declare@_offtimedatetime

declare@_offendtimedatetime

declare@_offdaysfloat

select@_offendtime=inserted.Offendtime,@_offnum=inserted.Offnum,@_offtime=inserted.Offtime

frominserted

set@_offdays=datediff(hour,@_o

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1