还剩15页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
课程设计课程名称数据库系统概论_____题目名称考勤管理系统学生学院计算机学院专业班级学号学生姓名________指导教师左亚尧2012年1月16日TOC\o1-3\h\z\u
一、需求分析3数据需求3功能需求3
二、概念结构设计
31、局部E-R图
32、整体E-R图5
三、逻辑结构设计
61、关系模式
62、系统功能模块图
63、数据完整性设计6
四、数据库物理设计
71、索引
72、数据表设计7
五、数据库实施
81、建数据库
82、建表职工信息表、出勤记录表、出差记录表、加班记录表、请假记录表、月统计表
93、触发器11
六、系统的主要功能实现代码
121、关系图的建立
122、简单操作
132、复杂查询15
七、收获和体会17
一、需求分析数据需求数据库中的数据要符合现实逻辑功能需求
1、职工信息的管理:包括职工基本信息的查询、增加、修改和删除,记录职工的姓名、性别、年龄和职称
2、职工考勤的管理:包括对职工考勤情况的增加、查询、修改和删除,记录职工一个月的考勤天数,每天进行修改
3、职工出差记录的管理包括对职工出差情况的查询、增加、修改和删除管理者安排员工出差,对出差时间,次数的管理
4、职工加班记录的管理对职工的加班时间进行统计,记录开始时间和结束时间,对加班信息实现添加,删除等操作
5、职工请假记录的管理包括对职工请假情况的查询、增加、修改和删除完善请假信息,如请假开始时间,请假结束时间,请假的次数进行管理
6、职工月统计记录的管理包括对职工月记录的查询、增加、修改和删除
二、概念结构设计
1、局部E-R图
(1)职工E-R图
(2)出勤E-R图
(3)出差E-R图
(4)加班E-R图
(5)请假E-R图
(6)月统计E-R图
2、整体E-R图
三、逻辑结构设计
1、关系模式职工信息(职工编号,姓名,性别,年龄,职称)出勤记录(职工编号,出勤天数)出差记录(职工编号,出差编号,开始时间,结束时间,出差天数)加班信息(职工编号,加班编号,加班开始时间,加班结束时间,加班时间)请假信息(职工编号,请假编号,请假开始时间,请假结束时间,请假天数)月统计(职工编号,出勤月统计,出差月统计,加班月统计,请假月统计)
2、系统功能模块图
3、数据完整性设计1)主键约束、非空值约束职工信息表职工编号为主键,所以此项非空出勤记录表职工编号为主键,所以此项非空出差记录表职工编号和出差编号为主键,所以这2项非空加班记录表职工编号和加班编号为主键,所以这2项非空请假记录表职工编号和请假编号为主键,所以这2项非空月统计表职工编号为主键,所以此项非空2)实施CHECK约束员工表中建立一个检查约束,即员工性别不是‘男’就是‘女’CHECK性别IN男女3)外键约束Wno为外键FOREIGNKEYWnoREFERENCESworkerWno通过此键建立6个表的联系
四、数据库物理设计
1、索引为提高检索性能,为表创建符合索引,其索引项为职工编号和姓名createindexWno_WnameonworkerWnoWname
2、数据表设计职工信息表定义出勤记录表定义出差记录表定义加班记录表定义请假记录表定义月统计表定义
五、数据库实施
1、建数据库CREATEDATABASEattendanceONPRIMARYNAME=attendance_dataFILENAME=E:\attendance\attendance_data.mdfSIZE=5MBMAXSIZE=20MBFILEGROWTH=10%LOGONNAME=attendance_logFILENAME=E:\attendance\attendance_log.ldfSIZE=2MBFILEGROWTH=1MB
2、建表职工信息表、出勤记录表、出差记录表、加班记录表、请假记录表、月统计表useattendancegoCREATETABLEworkerWnoCHAR8PRIMARYKEYWnameCHAR8UNIQUEWsexCHAR2CHECKWsexIN男女WageSMALLINTWtitalCHAR10CREATETABLEwork_noteWnoCHAR8PRIMARYKEYFOREIGNKEYWnoREFERENCESworkerWnowork_daystinyintCREATETABLEout_noteWnoCHAR8out_noCHAR8/*出差编号*/PRIMARYKEYWnoout_noFOREIGNKEYWnoREFERENCESworkerWnoout_timeVARCHAR50back_timeVARCHAR50out_daystinyint/*出差天数*/CREATETABLEOT_noteWnoCHAR8OT_noCHAR8PRIMARYKEYWnoOT_noFOREIGNKEYWnoREFERENCESworkerWnoOT_timeVARCHAR50OTend_timeVARCHAR50OT_hourstinyintCREATETABLEleave_noteWnoCHAR8leave_noCHAR8PRIMARYKEYWnoleave_noFOREIGNKEYWnoREFERENCESworkerWnoleave_timeVARCHAR50leaveend_timeVARCHAR50leave_daystinyintCREATETABLEmonth_countWnoCHAR8PRIMARYKEYFOREIGNKEYWnoREFERENCESworkerWnoworkdaystinyintOThourstinyintoutdaystinyintleavedaystinyint
3、触发器创建一个触发器,当删除一个职工的基本信息时,同时也删除其他表中相应职工的信息如,当删除worker表中职工基本信息时,同时也删除员工考勤记录表中的内容,请假记录,出差记录,加班记录分别建立此类触发器createtriggerdel5onworkerfordeleteasbegindeletefrommonth_countwhereWno=selectWnofromdeletedend
六、系统的主要功能实现代码
1、关系图的建立
2、简单操作1)职工基本信息情况代码如下select*fromworker2职工出勤情况代码如下:selectworker.WnoWnameWsexWageWtitalwork_daysfromworkerwork_notewherework_note.Wno=worker.Wno3职工加班情况代码如下:selectworker.WnoWnameOT_hoursfromworkerOT_notewhereworker.Wno=OT_note.WnoANDOT_hours04)职工考勤月情况代码如下selectworker.*workdaysoutdaysOThoursleavedaysfromworkermonth_countwhereworker.Wno=month_count.Wno5)修改月考勤信息updatemonth_countsetworkdays=workdays-4updatework_notesetwork_days=work_days-
42、复杂查询1)职工出差情况代码如下:selectworker.WnoWnameWsexWageWtitalout_daysfromworkerLEFTJOINout_noteonworker.Wno=out_note.Wno2)男性职工考勤月情况代码如下selectworker.*workdaysoutdaysOThoursleavedaysfromworkermonth_countwhereworker.Wno=month_count.WnoANDWsex=男3)职工加班情况查询代码如下selectworker.WnoWnameWsexWageWtitalOT_note.*fromworkerLEFTJOINOT_noteonworker.Wno=OT_note.Wno
七、收获和体会本次课程设计做得比较粗糙,主要是因为对课程和软件的不熟悉任务所要求的人机界面还要用到除SQL外的其他语言编写,这样难度就比现在要高多了,根据现在的情况,这个要求是无法达到的了,所以该系统并没有实现人机界面我认为本次课程设计的主要目的是给我们了解一下数据库的创建和运行、维护等操作的历程是如何实现的,在这样的条件上再根据自己的能力向上进行完善和拓展本系统在信息表述上还不完备,一些模块的信息还不够详细,提供的报表也很有限但这些数据是用来测试一下系统的可行性,并不需要设计太多的数据,虽然有一定的局限性,但对于个体户来说,这工作量也足够的大了如果要进行进一步完善,下一步可以在熟悉系统设计风格的基础上,在各个界面上进一步添加更多需要的字段和报表,或者添加采集数据的模块,以扩充系统的功能尚未解决的问题有几个表的数据虽然有关联,但是我不能将它们之间的关系进行联系,数据的计算都是靠手工来完成,这样并不利于系统的发展,严重影响了工作效率若数据输入错误时,并不会发生报错,因为系统并不能验证数据的错误与否职工信息编号姓名年龄性别职称出勤记录编号出勤天数出差信息职工编号出差编号开始时间结束时间出差天数加班信息职工编号加班编号开始时间结束时间加班时间请假信息职工编号请假编号开始时间结束时间请假天数统计信息职工编号出勤天数加班时间出差天数请假天数出勤天数加班统计月统计出差统计出勤记录请假统计统计出勤结束时间出差天数出差编号出差记录起始时间加班编号加班时间加班出差加班信息结束时间起始时间请假编号年龄职工请假请假信息职称开始时间性别姓名编号出勤统计结束时间请假天数考勤管理系统职工基本信息出勤记录出差记录加班记录请假记录月统计查询职工信息添加修改删除添加修改删除添加修改删除添加修改删除添加修改删除添加修改删除查询出勤天数查询出差记录查询请假记录查询加班记录查询月统计createtriggerdel1onworkerfordeleteasbegindeletefromwork_notewhereWno=selectWnofromdeletedendcreatetriggerdel2onworkerfordeleteasbegindeletefromout_notewhereWno=selectWnofromdeletedendcreatetriggerdel3onworkerfordeleteasbegindeletefromOT_notewhereWno=selectWnofromdeletedendcreatetriggerdel4onworkerfordeleteasbegindeletefromleave_notewhereWno=selectWnofromdeletedend。