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

发布时间:   来源:文档文库   
字号:

《数据库原理及应用》工程实训任务书
.题目:职工考勤管理信息系统
.目地与要求1.目地:
1)锻炼学生地分析解决实际问题地能力
2)培养学生地数据库基础系统地分析.设计和开发能力2.基本要求
·

1)《数据库原理及应用》课程设计采用以“工程小组”为单位进行,工程小组根据选定地工程,按计划进度完成工程地分析与设计及实现任务.矚慫润厲钐瘗睞枥庑赖。2每个班级分成两个大组,每组选出组长一名,负责考勤.作业地收集上交.3题目自定或采用附录中地参考题目,每人选择一个题目4数据库工具:Access或者SQLServer
5程序开发工具可以根据所学自行选择,或者采用ACCESS实现开发3.创新要求
在基本要求达到后,可进行创新设计,如系统用户功能控制,对管理员级和一般级别地用户系统功能操作不同
.信息描述
系统基本信息描述,如:职工.考勤等.
.功能描述
系统功能基本要求
职工信息,包括职工编号.职工姓名.性别.年龄.职称等;
出勤记录信息,包括上班打卡时间,下班打卡时间,缺勤记录等;出差信息,包括出差起始时间.结束时间.统计总共天数等;$
请假信息,包括请假开始时间,结束时间,统计请假天数等;加班信息,包括加班开始时间.结束时间.统计加班总时间.
.解决方案
1.分析程序地功能要求,划分程序功能模块.2.画出系统流程图.
3.重点是设计数据库(严格按照数据库设计步骤),完成系统功能.4.完成工程实训报告书.

.进度安排
课程设计时间为两周(15周),安排如下
阶段任务
\
需求分析概念结构设计逻辑结构设计
系统功能模块图,以及每个子系统地数据流图.数据字典.《系统需求说明书》局部E-R,合并总E-R转换为关系模式,优化,外模式
进度(1


11



物理结构设计及数据库实现
系统实现及测试系统验收

完成数据库实施,创建表.关系及完整性1《数据库设计说明书》
按照要求完成实现系统各项功能
1
《系统详细设计说明书》
,
书写《工程实训报告》,验收答辩


.撰写工程实训报告及总结
{
工程实训报告要求:
包括需求分析.概念结构设计.逻辑结构设计.编码(详细写出编程步骤.测试地步骤和内容.工程总结.参考资料等,不符合以上要求者,则本次设计以不及格记.聞創沟燴
鐺險爱氇谴净。

.参考资料
《数据库原理及应用》
ACCESS数据库与程序设计》ACCESS工程案例导航》
*

数据库教研室
登录考勤系统

"



系统结构图

1
模块管理
1)用户管理模块
增加一名系统使用用户,同时设置密码和权限,当此用户要更改密码时,可以在修改密码模块中进行.必须具有一定权限才能进行此项操作.而当某些职工离职或者因某中缘故,不能再使用考勤系统,可以将该用户删除.可以更改拥护权限,使其具有访问某些模块地权限或者剥夺其访问某些模块地权限.所有系统使用用户都可能在此修改密码,以保障系统安全.残骛
楼諍锩瀨濟溆塹籟。
(

2)基本资料管理模块



设置地时间有上午上.下班时间,下午上.下班时间,这个模块与上下班时间表相对应,方便考勤操作.增加和删除请假类型,修改请假类型内容,并将操作结果存在请假类型表内.增加和删除外出类型,修改外出类型内容,并将操作结果存在外出类型表内.增加.删除和修改员工基本资料.酽锕极額閉镇桧猪訣锥。
正常上班
带职人
加班情况
员工

请假
申请批准

部门
部门
出差

2考勤系统业务流程图
设计地数据流程图如下所示:
|
上班

{
加班






查询
出差

统计

3考勤系统地数据流程图




·


设计地E-R图如下所示

记录日期
管理员
}
姓名
上班日期
上班时间
姓名


上班

上班时间
性别
下班时间
|

加班时间
加班

类型



请假
请假表
请假类
出差
<

出差时

出差类
彈贸摄尔霁毙攬砖卤庑。
4考勤系统地E-R流程图
该考勤管理系统中主要包括了员工地基本信息(姓名.性别.所属部门等),查询员工地



基本信息,可根据员工地实际工资情况或实际地出勤情况查看员工地基本信息等;另外还有权限管理和日志地功能.謀荞抟箧飆鐸怼类蒋薔。
将生成地代码,复制.通过SQL2000,在数据库中新建地表如下所示:

5数据库中建立地表

数据表地设计
1)用户表地创建
用户表地创建脚本如下:createtable用户(
用户名char(30notnull,厦礴恳蹒骈時盡继價骚。员工号char(30null,权限名char(30null,
.
用户密码intnotnull,茕桢广鳓鯡选块网羈泪。权限号intnotnull,鹅娅尽損鹌惨歷茏鴛賴。constraintPK_用户primarykey(用户名go
用户表地字段格式说明如下所示:

6用户表地属性



7用户表
2)权限表地创建
权限表是用来确定某一权限类型所能访问地系统模块.权限表地创建脚本如下所示:createtable权限表(
权限名char(30notnull,籟丛妈羥为贍偾蛏练淨。用户管理char(2notnull,預頌圣鉉儐歲龈讶骅籴。




基本资料更改char(2notnull,渗釤呛俨匀谔鱉调硯
錦。
请假管理char(2notnull,铙誅卧泻噦圣骋贶頂廡。外出管理char(2notnull,擁締凤袜备訊顎轮烂蔷。加班管理char(2notnull,贓熱俣阃歲匱阊邺镓騷。修改考勤资料char(2notnull,坛摶乡囂忏蒌鍥铃氈
淚。
数据库操作char(2notnull,蜡變黲癟報伥铉锚鈰
赘。
日志删除char(2notnull,買鲷鴯譖昙膚遙闫撷凄。constraintPK_权限表primarykey(权限名
go
权限表地字段格式说明如下所示:

8权限表地属性

9权限表



3)出勤资料表地创建
出勤资料表用来记录员工每天实际上下班时间.这张表保存地数据是考勤地依据.出勤资料表地创建脚本如下所示:createtable出勤资料表(
记录号intnotnull,綾镝鯛駕櫬鹕踪韦辚糴。员工基_员工号char(30null,
员工号char(40notnull,驅踬髏彦浃绥譎饴憂锦。上午上班时间datetimenotnull,猫虿驢绘燈鮒诛髅貺
庑。
{
上午下班时间datetimenotnull,锹籁饗迳琐筆襖鸥娅
薔。
下午上班时间datetimenotnull,構氽頑黉碩饨荠龈话
骛。
下午下班时间datetimenotnull,輒峄陽檉簖疖網儂號



泶。
记录日期datetimenotnull,尧侧閆繭絳闕绚勵蜆贅。constraintPK_出勤资料表primarykey(记录号go
出勤资料表地字段格式说明如下所示:
-

10出勤资料表地属性

11出勤资料表
4)员工基本资料表
为了判断某员工是否已经考勤,在员工表中地另一个字段,字段名为“考勤”,每天考勤,将此字段值都设为0,每考勤一个员工,则将其字段值该为1,以后操作时根据其字段判断其是否已经考勤.识饒鎂錕缢灩筧嚌俨淒。
其创建脚本为:
createtable员工基本资料表(
|
员工号char(30notnull,凍鈹鋨劳臘锴痫婦胫籴。员工名char(30notnull,恥諤銪灭萦欢煬鞏鹜錦。性别tinyintnotnull,鯊腎鑰诎褳鉀沩懼統庫。年龄intnotnull,硕癘鄴颃诌攆檸攜驤蔹。入公司时间datetimenotnull,阌擻輳嬪諫迁择楨秘
騖。
住址char(50notnull,氬嚕躑竄贸恳彈瀘颔澩。联系电话char(20null,手机char(20null,
%

电子邮箱char(30null,
考勤tinyintnotnull,釷鹆資贏車贖孙滅獅赘。constraintPK_员工基本资料表primarykey(员工号go
员工基本资料表地年格式如下所示:




12员工基本资料表地属性


13员工基本资料表

5)加班表地创建
加班表用来保存员工地加班信息.createtable加班表(
记录号intnotnull,怂阐譜鯪迳導嘯畫長凉。员工基_员工号char(30null,

员工号char(20notnull,谚辞調担鈧谄动禪泻類。员工名char(30notnull,嘰觐詿缧铴嗫偽純铪锩。加班类型char(30notnull,熒绐譏钲鏌觶鷹緇機库。起始时间datetimenotnull,鶼渍螻偉阅劍鲰腎邏蘞。结束时间datetimenotnull,纣忧蔣氳頑莶驅藥悯骛。constraintPK_加班表primarykey(记录号go
`

加班表地字段格式说明如下所示:

14加班表地属性

15加班表
6)请假表地创建
请假表是用来保存员工地请假记录.其创建脚本为:createtable请假表(



%
记录号intnotnull,颖刍莖蛺饽亿顿裊赔泷。类型名char(30null,员工基_员工号char(30null,
员工号char(20notnull,濫驂膽閉驟羥闈詔寢賻。员工名char(20notnull,銚銻縵哜鳗鸿锓謎諏涼。请假类型char(30notnull,挤貼綬电麥结鈺贖哓类。起始时间datetimenotnull,赔荊紳谘侖驟辽輩袜錈。结束时间datetimenotnull,塤礙籟馐决穩賽釙冊庫。
(

constraintPK_请假表primarykey(记录号go
请假表地字段格式如下所示:

16请假表地属性

~


17请假表
(7外出表地创建
外出表是用来保存员工地外出记录,数据格式.外出表地创建脚本如下:createtable外出表(
记录号intnotnull,裊樣祕廬廂颤谚鍘羋蔺。类型名char(30null,员工基_员工号char(30null,

员工号char(20notnull,仓嫗盤紲嘱珑詁鍬齊驁。员工名char(30notnull,绽萬璉轆娛閬蛏鬮绾瀧。外出类型char(30notnull,骁顾燁鶚巯瀆蕪領鲡赙。起始时间datetimenotnull,瑣钋濺暧惲锟缟馭篩凉。结束时间datetimenotnull,鎦诗涇艳损楼紲鯗餳類。constraintPK_外出表primarykey(记录号Go
|




外出表地字段格式如下所示:

18外出表地属性

19外出表
8)日志表地创建.
每一个实用地数据库应用系统,总是少不了日志管理.日志是用来记录系统地使用情况,以便当系统遭到非法使用时,能够从日志表中找到使用记录,以便进行处理.日志表地创建脚本为:栉缏歐锄棗鈕种鵑瑶锬。
createtable日志表(
}
记录号binary(8notnull,辔烨棟剛殓攬瑤丽阄应。用户名char(30notnull,峴扬斕滾澗辐滠兴渙藺。操作char(127notnull,詩叁撻訥烬忧毀厉鋨骜。日期datetimenotnull,则鯤愜韋瘓賈晖园栋泷。constraintPK_日志表primarykey(记录号go
日志表地字段格式说明如下所示:


20日志表地属性


21日志表
9)统计表地创建.
每一个用户有时会需要去查询一下哪天是否迟到地情况,统计表就很方便地提供了这一功.
createtable统计表(

日期datetimenotnull,胀鏝彈奥秘孫戶孪钇賻。



记录号binary(8notnull,
用户名char(30notnull,鳃躋峽祷紉诵帮废掃減。迟到次数char(127notnull,稟虛嬪赈维哜妝扩踴粜。Go

'
22统计表
代码地调试
1在表格内加入数据
SQL查询分析器中输入以下代码:
insertinto外出表(记录号,类型名,员工基_员工号,员工号,员工名,外出类型,起始时间,结束时间values('119','出差','a80','a80','邓月','出差',2008-06-09,2008-06-12陽簍埡鲑罷規呜旧岿錟。
点击运行后输入:select*from外出表得出以下结果:

23加入数据地表
[
2)查询数据:
SQL查询分析器中输入以下代码:select*from加班表
点击运行后输入,得出以下结果:




-

24查询数据地表
3)修改数据:
SQL查询分析器中输入以下代码:
update外出表set员工名='周丹'where记录号=119select*from外出表
点击运行后输入,得出以下结果:

25修改数据地表

4)删除数据:
SQL查询分析器中输入以下代码:
Deletefrom外出表where员工名='周丹'select*from外出表
点击运行后输入,得出以下结果:




26删除数据地表
附录
$

altertable出勤资料表
dropconstraintFK_出勤资料表_REFERENCE_员工基本资料表go
altertable加班表
dropconstraintFK_加班表_REFERENCE_员工基本资料表go
altertable外出表
dropconstraintFK_外出表_REFERENCE_员工基本资料表;
go
altertable外出表
dropconstraintFK_外出表_REFERENCE_外出类型表go
altertable日志表
dropconstraintFK_日志表_REFERENCE_用户go
altertable用户|
dropconstraintFK_用户_REFERENCE_员工基本资料表go
altertable用户
dropconstraintFK_用户_REFERENCE_权限表go
altertable请假表
dropconstraintFK_请假表_REFERENCE_员工基本资料表go\
altertable请假表
dropconstraintFK_请假表_REFERENCE_请假类型表



go
/*==============================================================*/沩氣嘮戇
苌鑿鑿槠谔應。
/*Table:出勤资料表*/钡嵐縣緱虜荣产涛團蔺。
/*==============================================================*/懨俠劑鈍
触乐鹇烬觶騮。
createtable出勤资料表(
记录号intnotnull,謾饱兗争詣繚鮐癞别瀘。[
员工基_员工号char(30null,
员工号char(40notnull,呙铉們欤谦鸪饺竞荡赚。
上午上班时间datetimenotnull,莹谐龌蕲賞组靄绉嚴减。上午下班时间datetimenotnull,麸肃鹏镟轿騍镣缚縟糶。下午上班时间datetimenotnull,納畴鳗吶鄖禎銣腻鰲锬。下午下班时间datetimenotnull,風撵鲔貓铁频钙蓟纠庙。记录日期datetimenotnull,灭嗳骇諗鋅猎輛觏馊藹。constraintPK_出勤资料表primarykey(记录号;
go
/*==============================================================*/铹鸝饷飾
镡閌赀诨癱骝。
/*Table:加班表*/攙閿频嵘陣澇諗谴隴泸。
/*==============================================================*/趕輾雏纨
颗锊讨跃满賺。
createtable加班表(
记录号intnotnull,夹覡闾辁駁档驀迁锬減。员工基_员工号char(30null,
员工号char(20notnull,视絀镘鸸鲚鐘脑钧欖粝。
>
员工名char(30notnull,偽澀锟攢鴛擋緬铹鈞錠。加班类型char(30notnull,緦徑铫膾龋轿级镗挢廟。起始时间datetimenotnull,騅憑钶銘侥张礫阵轸蔼。结束时间datetimenotnull,疠骐錾农剎貯狱颢幗騮。constraintPK_加班表primarykey(记录号go
/*==============================================================*/镞锊过润
启婭澗骆讕瀘。
~
/*Table:员工基本资料表*/榿贰轲誊壟该槛鲻垲赛。
/*==============================================================*/邁茑赚陉
宾呗擷鹪讼凑。
createtable员工基本资料表(
员工号char(30notnull,嵝硖贪塒廩袞悯倉華糲。



员工名char(30notnull,该栎谖碼戆沖巋鳧薩锭。性别tinyintnotnull,劇妆诨貰攖苹埘呂仑庙。年龄intnotnull,臠龍讹驄桠业變墊罗蘄。
入公司时间datetimenotnull,鰻順褛悦漚縫冁屜鸭骞。
|
住址char(50notnull,穑釓虚绺滟鳗絲懷紓泺。联系电话char(20null,手机char(20null,电子邮箱char(30null,
考勤tinyintnotnull,隶誆荧鉴獫纲鴣攣駘賽。constraintPK_员工基本资料表primarykey(员工号go

/*==============================================================*
叢着駕骠構砀湊。
/*Table:外出表*/鈀燭罚櫝箋礱颼畢韫粝。
/*==============================================================*/惬執缉蘿
绅颀阳灣熗鍵。
createtable外出表(
记录号intnotnull,贞廈给鏌綞牵鎮獵鎦龐。类型名char(30null,
员工基_员工号char(30null,

员工号char(20notnull,嚌鲭级厨胀鑲铟礦毁蕲。员工名char(30notnull,薊镔竖牍熒浹醬籬铃騫。外出类型char(30notnull,齡践砚语蜗铸转絹攤濼。起始时间datetimenotnull,绅薮疮颧訝标販繯轅赛。结束时间datetimenotnull,饪箩狞屬诺釙诬苧径凛。constraintPK_外出表primarykey(记录号go

/*==============================================================*/烴毙潜籬
賢擔視蠶贲粵。
/*Table:日志表*/鋝岂涛軌跃轮莳講嫗键。
/*==============================================================*/撷伪氢鱧
轍幂聹諛詼庞。
createtable日志表(
记录号binary(8notnull,踪飯梦掺钓貞绫賁发蘄。用户名char(30notnull,婭鑠机职銦夾簣軒蚀骞。操作char(127notnull,譽諶掺铒锭试监鄺儕泻。



\
日期datetimenotnull,俦聹执償閏号燴鈿膽賾。constraintPK_日志表primarykey(记录号go
/*==============================================================*/缜電怅淺
靓蠐浅錒鵬凜。
/*Table:权限表*/骥擯帜褸饜兗椏長绛粤。
/*==============================================================*/癱噴导閽
骋艳捣靨骢鍵。


createtable权限表(
权限名char(30notnull,鑣鸽夺圆鯢齙慫餞離龐。用户管理char(2notnull,榄阈团皱鹏緦寿驏頦蕴。基本资料更改char(2notnull,逊输吴贝义鲽國鳩犹騸。请假管理char(2notnull,幘觇匮骇儺红卤齡镰瀉。外出管理char(2notnull,誦终决懷区馱倆侧澩赜。加班管理char(2notnull,医涤侣綃噲睞齒办銩凛。修改考勤资料char(2notnull,舻当为遙头韪鳍哕晕糞。
`
数据库操作char(2notnull,鸪凑鸛齏嶇烛罵奖选锯。日志删除char(2notnull,筧驪鴨栌怀鏇颐嵘悅废。constraintPK_权限表primarykey(权限名go
/*==============================================================*/韋鋯鯖荣
擬滄閡悬贖蘊。
/*Table:用户*/涛貶騸锬晋铩锩揿宪骟。
\
/*==============================================================*/钿蘇饌華
檻杩鐵样说泻。
createtable用户(
用户名char(30notnull,戧礱風熗浇鄖适泞嚀贗。员工号char(30null,权限名char(30null,
用户密码intnotnull,購櫛頁詩燦戶踐澜襯鳳。权限号intnotnull,嗫奐闃頜瑷踯谫瓒兽粪。constraintPK_用户primarykey(用户名,
go
/*Table:请假表*/虚龉鐮宠確嵝誄祷舻鋸。



/*==============================================================*/與顶鍔笋
类謾蝾纪黾廢。
createtable请假表(
记录号intnotnull,結释鏈跄絞塒繭绽綹蕴。类型名char(30null,
员工基_员工号char(30null,
员工号char(20notnull,餑诎鉈鲻缥评缯肃鮮驃。员工名char(20notnull,爷缆鉅摯騰厕綁荩笺潑。请假类型char(30notnull,锞炽邐繒萨蝦窦补飙赝。起始时间datetimenotnull,曠戗輔鑽襉倆瘋诌琿凤。结束时间datetimenotnull,轉厍蹺佥诎脚濒谘閥糞。constraintPK_请假表primarykey(记录号go
altertable出勤资料表
addconstraintFK_出勤资料表_REFERENCE_员工基本资料表foreignkey(员工基_员工号
嬷鯀賊沣謁麩溝赉涞锯。
references员工基本资料表(员工号go
altertable加班表
addconstraintFK_加班表_REFERENCE_员工基本资料表foreignkey(员工基_员工号讯鎬
謾蝈贺綜枢辄锁廪。
references员工基本资料表(员工号go
altertable外出表
addconstraintFK_外出表_REFERENCE_员工基本资料表foreignkey(员工基_员工号兒躉
讀闶軒鲧擬钇標藪。
references员工基本资料表(员工号go
altertable外出表
addconstraintFK_外出表_REFERENCE_外出类型表foreignkey(类型名繅藺詞嗇适篮异铜鑑
骠。
references外出类型表(类型名go
altertable日志表
addconstraintFK_日志表_REFERENCE_用户foreignkey(用户名鮒簡觸癘鈄餒嬋锵户泼。references用户(用户名go
altertable用户
addconstraintFK_用户_REFERENCE_员工基本资料表foreignkey(员工号眯毆蠐謝银癩唠阁
跷贗。
references员工基本资料表(员工号



go
altertable用户
addconstraintFK_用户_REFERENCE_权限表foreignkey(权限名闵屢螢馳鑷隽劍颂崗鳳。references权限表(权限名go
altertable请假表
addconstraintFK_请假表_REFERENCE_员工基本资料表foreignkey(员工基_员工号檁傷
葦开阈灯伞馑諧粮。
references员工基本资料表(员工号go
altertable请假表
addconstraintFK_请假表_REFERENCE_请假类型表foreignkey(类型名鄭饩腸绊頎鎦鹧鲕嘤
錳。
references请假类型表(类型名go
nsert(,_,,,,,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加班表
insertinto外出表(记录号,类型名,员工基_员工号,员工号,员工名,外出类型,起始时间,结束时values('119','出差','a80','a80','邓月','出差',2008-06-09,2008-06-12苧瑷籮藶黃邏闩巹东澤。select*from外出表update外出表
set员工名='周丹'where记录号=119select*from外出表delete
from外出表
where员工名='周丹'select*from外出表



本文来源:https://www.2haoxitong.net/k/doc/6c2f3307900ef12d2af90242a8956bec0875a5f6.html

《职工考勤管理系统数据库设计.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式