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

0 下载量 152 浏览量 更新于2024-06-23 收藏 522KB DOC 举报
"数据库课设计考勤管理系统" 这篇文档是关于数据库系统概论课程的一次课程设计,主题为“考勤管理系统”。设计的目标是创建一个能够有效管理职工信息、考勤、出差、加班和请假记录的数据库系统。以下是设计的各个阶段及其关键知识点: 一、需求分析 1. 数据需求:数据库设计需符合实际业务逻辑,确保数据的准确性和有效性。 2. 功能需求: - 职工信息管理:支持查询、新增、修改和删除职工的基本信息,如姓名、性别、年龄和职称。 - 考勤管理:记录并处理职工的出勤情况,允许增删查改一个月内的考勤天数。 - 出差管理:管理者可以安排员工出差,记录出差时间与次数。 - 加班管理:统计和管理职工的加班时间,包括开始和结束时间,以及添加和删除加班记录。 - 请假管理:处理职工的请假申请,记录请假的开始和结束时间以及次数。 - 月统计管理:提供对职工每月的考勤、出差、加班和请假的统计记录。 二、概念结构设计 1. 局部E-R图:展示了不同实体(如职工、出勤、出差、加班、请假和月统计)及其属性和关系。 2. 整体E-R图:整合了所有局部E-R图,显示了整个系统中实体间的联系。 三、逻辑结构设计 1. 关系模式:定义了各个表的结构,如职工信息表、出勤记录表、出差记录表、加班记录表、请假记录表和月统计表,明确了各表的字段和数据类型。 2. 系统功能模块图:可能包含了对系统功能模块的划分和描述,如用户界面、数据处理、查询模块等。 3. 数据完整性设计:考虑了如何确保数据的完整性和一致性,可能包括实体完整性、参照完整性和用户定义的完整性。 四、数据库物理设计 1. 索引:为了提高查询效率,可能在关键字段上创建了索引。 2. 数据表设计:详细描述了每个表的结构,包括字段、数据类型和可能的约束。 五、数据库实施 1. 建数据库:创建数据库实例,设置数据库参数和存储结构。 2. 建表:根据逻辑设计创建实际的数据库表,并设置相应的主键、外键等。 3. 触发器:可能设置了触发器来自动执行某些操作,如更新考勤记录时同步月统计信息。 六、系统的主要功能实现代码 1. 关系图的建立:用SQL语句创建表之间的关系。 2. 简单操作:如增删改查的SQL实现。 3. 复杂查询:可能涉及多表连接、分组、聚合函数等复杂SQL查询。 七、收获和体会:这部分可能记录了设计和实现过程中的学习心得和经验总结。 这个考勤管理系统的设计涵盖了数据库设计的全过程,从需求分析到系统实现,充分展示了数据库在解决实际问题中的应用。通过这样的设计,学生可以深入理解数据库的概念、设计原则以及在实际开发中的运用。
2023-02-27 上传
考勤管理系统分析和设计 实验报告 专业:07软件工程 姓名: 学号: 综合教务系统分析和设计   系统的分析和设计过程主要包括:需求分析;概念结构设计;逻辑结构设计;物理 结构设计,建立合适的索引,提高查询速度;应用系统的模块设计;应用系统的用户界面 设计。数据库系统的实施和维护. 一) 数据库需求分析 1.数据库需求分析 根据数据流程,可以列出以下管理系统所需的数据项和数据结构. 出勤记录:记录号、员工、出入情况和出入时间. 月度考勤统计:记录号、员工、年月、累计正常工作时间、累计请假时间、累计加班 时间、累加出差时间、迟到次数、早退次数和矿工次数。 请假记录:记录号、员工、假期起始时间/结束时间和请假缘由. 加班记录:记录号、员工、加班时间长度和日期。 出差记录:记录号、员工、出差起始时间/结束时间和具体描述。 人员信息:员工号、密码、权限、部门和当前状态等。 部门设置:部门编号、名称等。 2。系统功能分析 上班时间的设定.上下班时间相对固定,可保存在客户端的设置文件中。 员工出入单位的情况记录。出入情况由考勤机来记录,但是需要设置人工添加的功能 ,已被特殊情况的处理。 请假、加班和出差情况的记录。 每个月底进行整个月出勤  3. 开发工具:   该综合教务系统的数据库采用Microsoft的Office Access 2003建表,前台应用程序采用Visual C++ 6.0来编写,提供Web界面方便学生从网上使用。  二) 数据库的概念设计   1.系统的概念模型:   选课系统概念模型的ER图   上图是选课系统的概念模型的ER图,该系统涉及的实体集有:   员工实体集:具有属性员工号、员工密码、权限、姓名、所在部门。   出差记录实体集:具有属性记录编号、起始时间、结束时间、具体描述。   出勤记录实体集:具有属性记录编号、出入时间、出入状态.   月度考勤统计实体集:具有属性记录编号、年月、累计工作时间、累计请假时间、 累计加班时间、累积出差时间、迟到次数、早退次数、旷工次数。    请假记录实体集:具体属性记录编号、起始时间、结束时间、原由. 加班记录实体集:具体属性记录编号、加班时间、日期。 一个出差记录可以有多个员工,一个员工只能有一个出差记录,所以员工和出差记录之 间的联系为N:1的联系,员工与其他实体集之间都是N:1的联系.    2 将E—R模型转换为关系模式  (1) 员工实体集可以转换为关系:   员工(员工号,员工密码,权限,姓名,所在部门)  (2) 出差记录实体集可以转换为关系   出差记录(记录编号,起始时间,结束时间,具体描述)  (3) 出勤记录实体可以转换为关系   出勤记录(记录编号,出入时间,出入状态)   (4) 月度考勤统计实体集可以转换为关系 月度考勤统计(记录编号,年月,累计工作时间,累计请假时间,累计加班时间, 累积出差时间,迟到次数,早退次数,旷工次数)  (5) 请假记录实体集可以转换为关系:   请假记录实体集(记录编号,起始时间,结束时间,原由)   (6) 加班记录实体集可以转化为关系:   加班记录实体集(记录编号,加班时间,日期)     3。 数据库表结构设计:    把关系模型转化为表结构: 1) 出勤记录表 出勤记录表用来记录职工的出勤情况,包括记录编号、员工编号、出入情况和出入时 间,如表所示    出勤记录表(ATTENDENCE) "字段名称 "数据类型 "说明 " "ID "数字 "记录编号 " "PERSON "文本 "员工号 " "IN_OUT "文本 "出入情况 " "IO_TIME "日期/时间 "出入时间 " 2) 月度考勤统计表 月度考勤统计表用来记录职工的考勤情况,包括记录编号、员工编号、年月、累计正 常工作时间、累计请假时间、累计加班时间、累计出差时间、迟到次数、早退次数和 旷工次数,如表所示 月度考勤统计表(ATTENDENCE) "字段名称 "数据类型 "说明 " "ID "数字 "记录编号 " "YEAR_MONTH "文本 "统计月份 " "PERSON "文本 "员工号 " "WORK_HOUR "数字 "累计工作时间 " "OVER__HOUR "数字 "累计加班时间 " "LEAVE_HDAY "数字 "累计请假时间(半天" " " ") " "ERRAND_HDAY "数字 "累计出差时间(半天" " " ") " "LATE_TIMES "数字 "迟到次数 " "EARLY_TIMES "数字 "早退次数 " "ABSENT_TIMES "数字 "旷工次数 " 3) 请假记录表 请假记录表用来记录职工的请假情况,包括记录编号、员工编号、假期起始时间、结 束时间和请假缘由,如图所示 请假记录表(LEAVE) "