数据库课设计考勤管理系统

上传人:无*** 文档编号:136122420 上传时间:2022-08-16 格式:DOC 页数:17 大小:455.50KB
收藏 版权申诉 举报 下载
数据库课设计考勤管理系统_第1页
第1页 / 共17页
数据库课设计考勤管理系统_第2页
第2页 / 共17页
数据库课设计考勤管理系统_第3页
第3页 / 共17页
资源描述:

《数据库课设计考勤管理系统》由会员分享,可在线阅读,更多相关《数据库课设计考勤管理系统(17页珍藏版)》请在装配图网上搜索。

1、课 程 设 计课程名称 数据库系统概论_题目名称 考勤管理系统 学生学院 计算机学院 专业班级 学 号 学生姓名 _指导教师 左亚尧 2012年 1月 16日一、需求分析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一、需求分

2、析数据需求:数据库中的数据要符合现实逻辑。功能需求:1、职工信息的管理:包括职工基本信息的查询、增加、修改和删除,记录职工的姓名、性别、年龄和职称。2、职工考勤的管理:包括对职工考勤情况的增加、查询、修改和删除,记录职工一个月的考勤天数,每天进行修改。3、职工出差记录的管理:包括对职工出差情况的查询、增加、修改和删除。管理者安排员工出差,对出差时间,次数的管理。4、职工加班记录的管理:对职工的加班时间进行统计,记录开始时间和结束时间,对加班信息实现添加,删除等操作。5、职工请假记录的管理:包括对职工请假情况的查询、增加、修改和删除。完善请假信息,如请假开始时间,请假结束时间,请假的次数进行管理

3、。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图出勤天数加班统计月统计出差统计出勤记录请假统计统计出勤结束时间出差天数出差编号出差记录起始时间加班编号加班时间加班出差加班信息结束

4、时间起始时间请假编号年龄职工请假请假信息职称开始时间性别姓名编号出勤统计结束时间请假天数三、逻辑结构设计1、关系模式职工信息(职工编号,姓名,性别,年龄,职称)出勤记录(职工编号,出勤天数)出差记录(职工编号,出差编号,开始时间,结束时间,出差天数)加班信息(职工编号,加班编号,加班开始时间,加班结束时间,加班时间)请假信息(职工编号,请假编号,请假开始时间,请假结束时间,请假天数)月统计(职工编号,出勤月统计,出差月统计,加班月统计,请假月统计)2、系统功能模块图 考勤管理系统职工基本信息出 勤 记 录出 差 记 录加 班 记 录请 假 记 录月 统 计查询职工信息添加修改删除添加修改删除添

5、加修改删除添加修改删除添加修改删除添加修改删除查询出勤天数查询出差记录查询请假记录查询加班记录查询月统计3、数据完整性设计1)主键约束、非空值约束职工信息表:职工编号为主键,所以此项非空出勤记录表:职工编号为主键,所以此项非空出差记录表:职工编号和出差编号为主键,所以这2项非空加班记录表:职工编号和加班编号为主键,所以这2项非空请假记录表:职工编号和请假编号为主键,所以这2项非空月统计表:职工编号为主键,所以此项非空2)实施CHECK约束员工表中建立一个检查约束,即员工性别不是男就是女CHECK(性别 IN(男,女)3)外键约束Wno为外键FOREIGN KEY (Wno) REFERENCE

6、S worker(Wno)通过此键建立6个表的联系四、数据库物理设计1、索引为提高检索性能,为表创建符合索引,其索引项为职工编号和姓名create index Wno_Wnameon worker(Wno,Wname)2、数据表设计职工信息表定义出勤记录表定义出差记录表定义加班记录表定义请假记录表定义月统计表定义五、数据库实施1、建数据库CREATE DATABASE attendanceON PRIMARY( NAME= attendance_data, E:attendanceattendance_data.mdf, SIZE = 5MB, MAXSIZE = 20MB, = 10%)LO

7、G ON( NAME= attendance_log, E:attendanceattendance_log.ldf, SIZE = 2MB, = 1MB)2、建表(职工信息表、出勤记录表、出差记录表、加班记录表、请假记录表、月统计表)use attendancegoCREATE TABLE worker( Wno CHAR(8) PRIMARY KEY, Wname CHAR(8) UNIQUE, Wsex CHAR(2) CHECK(Wsex IN(男,女), Wage SMALLINT, Wtital CHAR(10),)CREATE TABLE work_note( Wno CHAR(

8、8) PRIMARY KEY, FOREIGN KEY (Wno) REFERENCES worker(Wno), work_days tinyint,)CREATE TABLE out_note( Wno CHAR(8), out_no CHAR(8) , /*出差编号*/ PRIMARY KEY(Wno, out_no),FOREIGN KEY (Wno) REFERENCES worker(Wno), out_time VARCHAR(50), back_time VARCHAR(50), out_days tinyint,/*出差天数*/)CREATE TABLE OT_note( W

9、no CHAR(8), OT_no CHAR(8) , PRIMARY KEY(Wno,OT_no),FOREIGN KEY (Wno) REFERENCES worker(Wno), OT_time VARCHAR(50), OTend_time VARCHAR(50), OT_hours tinyint,)CREATE TABLE leave_note( Wno CHAR(8), leave_no CHAR(8) , PRIMARY KEY(Wno, leave_no),FOREIGN KEY (Wno) REFERENCES worker(Wno), leave_time VARCHAR

10、(50), leaveend_time VARCHAR(50), leave_days tinyint,)CREATE TABLE month_count( Wno CHAR(8) PRIMARY KEY, FOREIGN KEY (Wno) REFERENCES worker(Wno), workdays tinyint, OThours tinyint,outdays tinyint, leavedays tinyint,) 3、触发器创建一个触发器,当删除一个职工的基本信息时,同时也删除其他表中相应职工的信息。如,当删除worker表中职工基本信息时,同时也删除员工考勤记录表中的内容,请

11、假记录,出差记录,加班记录分别建立此类触发器。create trigger del1on workerfor deleteasbegindelete from work_notewhere Wno=(select Wno from deleted)endcreate trigger del2on workerfor deleteasbegindelete from out_notewhere Wno=(select Wno from deleted)endcreate trigger del3on workerfor deleteasbegindelete from OT_notewhere

12、Wno=(select Wno from deleted)endcreate trigger del4on workerfor deleteasbegindelete from leave_notewhere Wno=(select Wno from deleted)endcreate trigger del5on workerfor deleteas begindelete from month_countwhere Wno=(select Wno from deleted)end六、系统的主要功能实现代码1、关系图的建立2、简单操作1)职工基本信息情况代码如下:select * from

13、worker2)职工出勤情况代码如下:select worker.Wno,Wname,Wsex,Wage,Wtital,work_daysfrom worker,work_notewhere work_note.Wno=worker.Wno3)职工加班情况代码如下:select worker.Wno,Wname,OT_hoursfrom worker,OT_note where worker.Wno=OT_note.Wno AND OT_hours04)职工考勤月情况代码如下:select worker.*,workdays,outdays,OThours,leavedaysfrom work

14、er,month_countwhere worker.Wno=month_count.Wno5)修改月考勤信息update month_countset workdays=workdays-4update work_noteset work_days=work_days-42、复杂查询1)职工出差情况代码如下: select worker.Wno,Wname,Wsex,Wage,Wtital,out_daysfrom worker LEFT JOIN out_note on(worker.Wno=out_note.Wno)2)男性职工考勤月情况代码如下:select worker.*,work

15、days,outdays,OThours,leavedaysfrom worker,month_countwhere worker.Wno=month_count.Wno AND Wsex=男3)职工加班情况查询代码如下:select worker.Wno,Wname,Wsex,Wage,Wtital,OT_note.*from worker LEFT JOIN OT_note on(worker.Wno=OT_note.Wno) 七、收获和体会本次课程设计做得比较粗糙,主要是因为对课程和软件的不熟悉。任务所要求的人机界面还要用到除SQL外的其他语言编写,这样难度就比现在要高多了,根据现在的情

16、况,这个要求是无法达到的了,所以该系统并没有实现人机界面。我认为本次课程设计的主要目的是给我们了解一下数据库的创建和运行、维护等操作的历程是如何实现的,在这样的条件上再根据自己的能力向上进行完善和拓展。本系统在信息表述上还不完备,一些模块的信息还不够详细,提供的报表也很有限。但这些数据是用来测试一下系统的可行性,并不需要设计太多的数据,虽然有一定的局限性,但对于个体户来说,这工作量也足够的大了。如果要进行进一步完善,下一步可以在熟悉系统设计风格的基础上,在各个界面上进一步添加更多需要的字段和报表,或者添加采集数据的模块,以扩充系统的功能。 尚未解决的问题有几个表的数据虽然有关联,但是我不能将它们之间的关系进行联系,数据的计算都是靠手工来完成,这样并不利于系统的发展,严重影响了工作效率。若数据输入错误时,并不会发生报错,因为系统并不能验证数据的错误与否。17 / 17文档可自由编辑打印

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!