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

考勤管理系统 课程设计一、课程目标知识目标:1. 让学生理解考勤管理系统的基本概念、功能及在实际中的应用。
2. 掌握考勤管理系统中的数据录入、查询、统计等基本操作。
3. 了解数据库基础知识,能够运用简单的SQL语句进行数据操作。
技能目标:1. 培养学生运用所学知识设计并实现一个简单的考勤管理系统。
2. 提高学生在实际项目中分析问题、解决问题的能力。
3. 培养学生团队协作能力,学会共同探讨、交流、分享学习经验。
情感态度价值观目标:1. 培养学生对信息技术课程的兴趣,激发学习热情。
2. 增强学生的信息安全意识,认识到数据保护的重要性。
3. 引导学生树立正确的价值观,认识到技术发展对社会的积极影响。
分析课程性质、学生特点和教学要求,本课程旨在让学生通过学习考勤管理系统,掌握数据库操作和程序设计的基本技能,培养实际项目中的应用能力。
课程目标分解为具体学习成果,包括:能够描述考勤管理系统的功能;独立完成考勤管理系统的基本操作;运用所学知识设计简单的考勤管理系统;具备团队协作和沟通能力;增强信息安全意识,认识到技术对社会发展的贡献。
后续教学设计和评估将以此为基础,确保学生达到预期学习成果。
二、教学内容1. 考勤管理系统概述:介绍考勤管理系统的基本概念、功能、应用场景,让学生对考勤管理系统有整体的认识。
教材章节:《信息技术》第四章第一节。
2. 数据库基础知识:讲解数据库的基本概念、数据表的设计与创建、数据类型、约束等。
教材章节:《信息技术》第三章。
3. SQL语句:介绍基本的SQL语句,如SELECT、INSERT、UPDATE、DELETE等,以及简单的查询条件。
教材章节:《信息技术》第三章第二节。
4. 考勤管理系统操作:讲解考勤管理系统的具体操作,包括数据录入、查询、统计等。
教材章节:《信息技术》第四章第二节。
5. 简单考勤管理系统设计:指导学生运用所学知识,设计并实现一个简单的考勤管理系统。
教材章节:《信息技术》第四章第三节。
c考勤管理系统课程设计

c 考勤管理系统课程设计一、课程目标知识目标:1. 学生理解考勤管理系统的基本概念,掌握其功能模块和工作流程。
2. 学生掌握使用编程语言(如Python)设计并实现一个简单的考勤管理系统。
3. 学生了解数据库管理的基本原理,能够运用到考勤管理系统中进行数据存储和查询。
技能目标:1. 学生能够运用所学知识,独立设计并编写出具备基本功能的考勤管理系统。
2. 学生通过项目实践,提高问题分析、程序设计和调试的能力。
3. 学生学会使用数据库技术进行数据管理,提高数据处理和分析的能力。
情感态度价值观目标:1. 学生培养对计算机编程和数据库管理的兴趣,激发学习积极性。
2. 学生通过团队协作完成项目,培养沟通、协作和团队精神。
3. 学生认识到考勤管理系统在实际应用中的重要性,增强实践操作和创新能力。
课程性质:本课程为信息技术课程,以项目实践为主,结合理论教学。
学生特点:学生为初中年级,具备一定的计算机操作基础,对编程和数据库有一定了解。
教学要求:教师需引导学生运用所学知识,以项目为导向,注重实践操作和团队协作。
在教学过程中,关注学生的个体差异,提高学生的编程能力和数据处理能力。
通过课程学习,使学生能够将所学知识应用于实际问题的解决中。
二、教学内容1. 考勤管理系统的基本概念与功能模块介绍:包括考勤系统的定义、作用、常见功能模块划分及工作流程。
教材章节:第三章第二节《数据库应用系统概述》2. 编程语言基础:运用Python语言进行考勤管理系统的设计与实现,涵盖变量、条件语句、循环语句等基本语法。
教材章节:第二章《Python编程基础》3. 数据库管理:介绍数据库的基本原理,以MySQL为例,进行数据存储、查询和管理操作。
教材章节:第四章《数据库基础与应用》4. 考勤管理系统设计与实现:结合实际需求,引导学生进行系统设计,编写代码实现考勤管理功能。
教材章节:第五章《数据库应用系统设计》5. 项目实践:分组进行考勤管理系统项目实践,包括需求分析、系统设计、编码实现、测试与优化等环节。
数据库课程设计--职工考勤管理信息系统

目录1 概述 (1)1.1设计背景 (1)1.2研究目的 (1)1.3理论基础的分析 (2)1.4预期结果和意义 (2)2 需求分析 (2)2.1功能需求 (2)2.2数据流图 (3)2.3功能模块图 (4)2.4系统数据流程图 (4)3 概念结构设计 (5)3.1局部E-R图 (5)3.2整体E-R图 (8)4 逻辑结构设计 (9)4.1关系模式 (9)4.2数据关系图 (9)5 物理结构设计 (10)5.1存储记录结构设计 (10)5.2创建索引 (12)6 数据库实施 (13)6.1建立数据库 (13)6.2数据表的创建 (13)6.3建立存储过程 (16)6.4创建触发器 (17)7 数据库运行和维护 (18)8 结论 (19)1 概述1.1设计背景随着企业人事管理的日趋复杂和企业人员的增多,企业的考勤管理变得越来越复杂。
规范的考勤管理是现代企业提高管理效益的重要保证,而传统的人工管理存在着效率低、不易统计、成本高和易出错等弊端,已经无法适应现代企业的需求。
随着计算机技术和通信技术的迅速发展,将传统的人工考勤管理计算机化,建立一个高效率的、无差错的考勤管理系统,能够有效的帮助企业实现“公正考勤,高效薪资”,使企业的管理水平登上一个新的台阶。
企业考勤管理经过如下的业务流程:(1)员工基本信息管理,添加,删除,更改(2)员工考勤管理,员工根据自己的班次在上下班时分别进行出勤操作,采用手动方式或者使用划卡机。
由人事部门专门的人员管理出勤和退勤信息。
(3)一般在每个月月初进行考勤汇总,汇总信息包括工作日的出勤情况、请假天数、出差天数、休假天数和不同性质的加班记录等。
1.2研究目的待开发的系统的名称为企业职工在线考勤系统;我们以中小型企业的考勤管理业务为依托,结合科学管理的理论,设计并开发一个企业考勤管理信息系统,提供一个科学合理的考勤管理解决方案,彻底实现无纸化作业。
根据管理权限的不同,将界面分为一般职员、部门经理、系统管理员和最高管理者四个层次,系统目标如下:(1)提供简单、方便的操作。
数据库课程设计学生考勤

数据库课程设计学生考勤一、教学目标本节课的教学目标是让学生掌握数据库的基本操作,能够使用数据库进行学生考勤的管理。
知识目标包括了解数据库的概念、结构及其基本操作;技能目标包括能够使用数据库管理系统进行学生考勤数据的建立、查询、更新和删除;情感态度价值观目标包括培养学生对数据库技术的兴趣,提高学生运用数据库技术解决实际问题的能力。
二、教学内容本节课的教学内容主要包括数据库的基本概念、数据库管理系统的基本操作以及学生考勤数据库的设计。
具体内容包括:数据库的概念及其发展历程,数据库管理系统的基本功能及其操作方法,学生考勤数据库的表结构设计、数据录入、查询、更新和删除操作等。
三、教学方法为了达到本节课的教学目标,我们将采用多种教学方法,包括讲授法、操作演示法、案例分析法等。
在讲授基本概念和操作方法时,采用讲授法,通过讲解和示例让学生掌握基本知识;在操作实践环节,采用操作演示法和案例分析法,让学生在实际操作中学会使用数据库管理系统进行学生考勤数据的建立、查询、更新和删除。
四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:教材《数据库原理与应用》、多媒体教学课件、数据库管理系统软件(如Microsoft Access)、学生考勤数据样本等。
这些教学资源将有助于丰富学生的学习体验,提高学生的学习效果。
五、教学评估本节课的教学评估将采用多元化的评估方式,全面客观地评价学生的学习成果。
评估方式包括:平时表现(30%),通过课堂参与、提问、回答问题等反映学生的学习态度和积极性;作业(30%),通过布置相关的练习题和项目任务,评估学生对数据库基本操作的掌握程度;考试(40%),通过期末考试,全面测试学生对数据库知识的理解和应用能力。
六、教学安排本节课的教学安排将分为10个课时,每课时45分钟。
教学地点安排在计算机实验室,以便学生能够直接进行数据库操作实践。
教学进度安排如下:第1-2课时,介绍数据库的基本概念和结构;第3-4课时,讲解数据库管理系统的基本操作;第5-6课时,学习学生考勤数据库的表结构设计;第7-8课时,练习学生考勤数据的录入和查询;第9-10课时,讲解学生考勤数据的更新和删除操作。
数据库课程设计之某单位考勤管理系统

图4 系统功能结构图3.1.3安全性完整性需求(1)安全性需求分析①需要输入用户名与密码才能登陆本系统;②输入的登陆密码需要以“*”显示;③禁止非法数据写入;④对于各种错误可以做到提醒或纠正;(2)完整性需求①数据库设计时要使关系的属性不可再分,满足原子性;②约束表格中部分属性的内容;③为数据的新增、修改或删除设定对应的触发器;④给表格外键设置级联删除,当对应外键被删除时,将其关联信息全部删除;⑤防止数据库查询发生SQL 注入的攻击;3.1.4数据流图(1)顶层数据流图,如图1示:图1顶层数据流图(2)零层数据流图,如图2示:图2 零层数据流图(3)一层数据流图,如图3示:图3 一层流图3.1.5 E-R图(1)局部E-R图(以考勤表、员工信息表为例)如图5、图6示:图5 考勤信息表E-R图图6 员工信息表E-R图(2)全局ER图,如图7示:图7 全局E-R图3.1.6数据字典(1)数据结构部门信息表(表一)列名说明字段类型约束控制部门名称不同员工有不同部门nchar(10)非空部门编号所属部门编号1~6级int可以为空级别信息表(表二)列名说明字段类型约束控制其中部门信息表对应部门基本关系,员工信息表对应员工基本关系,级别信息表对应级别基本关系,状态信息表对应员工考勤基本情况,技能信息表对应员工基本技能,员工技能信息表对应技能与员工之间的关系,考勤信息表对应员工与员工打卡状态之间的关系。
3.2.2功能图(1)系统功能结构图,如图8示:图8系统功能结构图3.3详细设计3.3.1数据库SQL Server 2014 数据库文件分为3种类型:主数据文件、次数据文件和日志文件。
数据库名(DBO):timebookDB文件位置(File):D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA连接数据库:String conStr="jdbc:sqlserver://127.0.0.1:1433;databaseName=timebookDB";CREATE DATABASE [timebookDB]CONTAINNMNT = NONEON PRIMARY(NAME = 'timebookDB',FILENAME = 'D:\Program Files\Microsoft SQLServer\MSSQL12.MSSQLSERVER\MSSQL\DATA\timebookDB.mdf'SIZE = 5120KB,MAXSIZE = UNLIMITED,FILEGROWTH = 1024KB)LOG ON(NAME = 'timebookDB_log',FILENAME = 'D:\Program Files\Microsoft SQLServer\MSSQL12.MSSQLSERVER\MSSQL\DATA\timebookDB_log.ldf'SIZE = 2560KB,MAXSIZE = UNLIMITED,FILEGROWTH = 2048KB,FILEGROWTH = 10%) GOASdeclare @begin int,@time int,@cq char(10)select @cq=员工编号from insertedselect @begin=上班时间from insertedselect @time=下班时间from 考勤记录表if(@begin-@time)<5 and (@begin-@time)>0update 考勤记录表set 状态编号='3' where 员工编号=@cq and 上班时间=@beginif(@begin-@time)<0update 考勤记录表set 状态编号='1' where 员工编号=@cq and 上班时间=@beginif(@begin-@time)>5update 考勤记录表set 状态编号='2' where 员工编号=@cq and 上班时间=@begin●创建存储过程统计各员工指定月份的缺席、旷工次数;use timebookDBgocreate procedure pro_10(@日期date)as beginselect 员工信息表.员工编号,员工信息表.姓名,count(员工信息表.员工编号)-count(考勤记录表.员工编号)缺席from 员工信息表,考勤记录表where 员工信息表.员工编号=考勤记录表.员工编号group by 员工信息表.员工编号,员工信息表.姓名endgo●创建check约束,限制员工的性别必须为‘男’或‘女’;alter table 员工信息表with checkadd constraint df_性别default '男' for 性别(9)执行完上述操作,得到如下界面,如图12示:图12 数据库详情(10)表与表之间关系模式图,如图13示:图13 关系模式图3.3.3主流程图(1)主系统流程图,如图9示:图9 主系统流程图主界面:图10 主界面(2)员工信息管理界面功能,员工查询功能如图11示:图11 员工查询功能流程图界面如图12示:图12 查询员工信息(3)员工信息管理界面功能,修改员工信息功能如图13示:图13修改员工信息界面如图14所示:图14 修改员工信息(4)员工信息管理界面功能,员工考勤功能如图15示:图15 员工考勤功能界面如图16所示:图16 员工考勤界面(5)管理员界面管理功能,查询员工考勤流程图如图17示:图17 管理员查询流程图界面如图18所示:图18 管理员查询界面(6)管理员界面管理功能,录入员工流程图如图19示:图19 管理员录入员工信息流程图界面如图20所示:图20 员工录入界面(7)管理员界面管理功能,修改员工考勤流程图如图21示:4.系统实现图21 修改员工信息流程图界面如图22所示:图22 修改员工信息界面JOptionPane.showMessageDialog(null, "新密码不一致。
数据库课设计考勤管理系统

课程设计课程名称数据库系统概论_____题目名称考勤管理系统学生学院计算机学院专业班级学号学生姓名 ________指导教师左亚尧2012年1月16日一、需求分析........................................................................ 错误!未定义书签。
数据需求........................................................................ 错误!未定义书签。
功能需求........................................................................ 错误!未定义书签。
二、概念结构设计................................................................ 错误!未定义书签。
1、局部E-R图 ............................................................. 错误!未定义书签。
2、整体E-R图 ............................................................. 错误!未定义书签。
三、逻辑结构设计................................................................ 错误!未定义书签。
1、关系模式.................................................................. 错误!未定义书签。
2、系统功能模块图...................................................... 错误!未定义书签。
数据库课程设计之某单位考勤管理系统

图4 系统功能结构图3.1.3安全性完整性需求(1)安全性需求分析①需要输入用户名与密码才能登陆本系统;②输入的登陆密码需要以“*”显示;③禁止非法数据写入;④对于各种错误可以做到提醒或纠正;(2)完整性需求①数据库设计时要使关系的属性不可再分,满足原子性;②约束表格中部分属性的内容;③为数据的新增、修改或删除设定对应的触发器;④给表格外键设置级联删除,当对应外键被删除时,将其关联信息全部删除;⑤防止数据库查询发生SQL 注入的攻击;3.1.4数据流图(1)顶层数据流图,如图1示:图1顶层数据流图(2)零层数据流图,如图2示:图2 零层数据流图(3)一层数据流图,如图3示:图3 一层流图3.1.5 E-R图(1)局部E-R图(以考勤表、员工信息表为例)如图5、图6示:图5 考勤信息表E-R图图6 员工信息表E-R图(2)全局ER图,如图7示:图7 全局E-R图3.1.6数据字典(1)数据结构部门信息表(表一)列名说明字段类型约束控制部门名称不同员工有不同部门nchar(10)非空部门编号所属部门编号1~6级int可以为空级别信息表(表二)列名说明字段类型约束控制其中部门信息表对应部门基本关系,员工信息表对应员工基本关系,级别信息表对应级别基本关系,状态信息表对应员工考勤基本情况,技能信息表对应员工基本技能,员工技能信息表对应技能与员工之间的关系,考勤信息表对应员工与员工打卡状态之间的关系。
3.2.2功能图(1)系统功能结构图,如图8示:图8系统功能结构图3.3详细设计3.3.1数据库SQL Server 2014 数据库文件分为3种类型:主数据文件、次数据文件和日志文件。
数据库名(DBO):timebookDB文件位置(File):D:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA连接数据库:String conStr="jdbc:sqlserver://127.0.0.1:1433;databaseName=timebookDB";CREATE DATABASE [timebookDB]CONTAINNMNT = NONEON PRIMARY(NAME = 'timebookDB',FILENAME = 'D:\Program Files\Microsoft SQLServer\MSSQL12.MSSQLSERVER\MSSQL\DATA\timebookDB.mdf'SIZE = 5120KB,MAXSIZE = UNLIMITED,FILEGROWTH = 1024KB)LOG ON(NAME = 'timebookDB_log',FILENAME = 'D:\Program Files\Microsoft SQLServer\MSSQL12.MSSQLSERVER\MSSQL\DATA\timebookDB_log.ldf'SIZE = 2560KB,MAXSIZE = UNLIMITED,FILEGROWTH = 2048KB,FILEGROWTH = 10%) GOASdeclare @begin int,@time int,@cq char(10)select @cq=员工编号from insertedselect @begin=上班时间from insertedselect @time=下班时间from 考勤记录表if(@begin-@time)<5 and (@begin-@time)>0update 考勤记录表set 状态编号='3' where 员工编号=@cq and 上班时间=@beginif(@begin-@time)<0update 考勤记录表set 状态编号='1' where 员工编号=@cq and 上班时间=@beginif(@begin-@time)>5update 考勤记录表set 状态编号='2' where 员工编号=@cq and 上班时间=@begin●创建存储过程统计各员工指定月份的缺席、旷工次数;use timebookDBgocreate procedure pro_10(@日期date)as beginselect 员工信息表.员工编号,员工信息表.姓名,count(员工信息表.员工编号)-count(考勤记录表.员工编号)缺席from 员工信息表,考勤记录表where 员工信息表.员工编号=考勤记录表.员工编号group by 员工信息表.员工编号,员工信息表.姓名endgo●创建check约束,限制员工的性别必须为‘男’或‘女’;alter table 员工信息表with checkadd constraint df_性别default '男' for 性别(9)执行完上述操作,得到如下界面,如图12示:图12 数据库详情(10)表与表之间关系模式图,如图13示:图13 关系模式图3.3.3主流程图(1)主系统流程图,如图9示:图9 主系统流程图主界面:图10 主界面(2)员工信息管理界面功能,员工查询功能如图11示:图11 员工查询功能流程图界面如图12示:图12 查询员工信息(3)员工信息管理界面功能,修改员工信息功能如图13示:图13修改员工信息界面如图14所示:图14 修改员工信息(4)员工信息管理界面功能,员工考勤功能如图15示:图15 员工考勤功能界面如图16所示:图16 员工考勤界面(5)管理员界面管理功能,查询员工考勤流程图如图17示:图17 管理员查询流程图界面如图18所示:图18 管理员查询界面(6)管理员界面管理功能,录入员工流程图如图19示:图19 管理员录入员工信息流程图界面如图20所示:图20 员工录入界面(7)管理员界面管理功能,修改员工考勤流程图如图21示:4.系统实现图21 修改员工信息流程图界面如图22所示:图22 修改员工信息界面JOptionPane.showMessageDialog(null, "新密码不一致。
考勤管理系统uml课程设计

考勤管理系统uml课程设计一、课程目标知识目标:1. 学生能理解UML的基本概念,掌握考勤管理系统UML图的绘制方法;2. 学生能运用所学知识,分析并设计出符合实际需求的考勤管理系统;3. 学生了解考勤管理系统的功能模块及其相互关系。
技能目标:1. 学生能够运用UML工具进行系统分析与设计,提高解决问题的能力;2. 学生通过小组合作,培养团队协作和沟通能力;3. 学生能够运用所学知识,独立完成考勤管理系统的UML课程设计。
情感态度价值观目标:1. 学生在课程学习中,培养对信息技术的兴趣,提高学习积极性;2. 学生通过实际案例分析,认识到信息技术在实际应用中的重要性;3. 学生在小组合作中,学会尊重他人意见,培养良好的团队合作精神。
课程性质:本课程为信息技术课程,以实践操作为主,注重培养学生的实际操作能力和团队协作能力。
学生特点:学生处于高年级阶段,具有一定的信息技术基础和UML知识,具备独立分析和解决问题的能力。
教学要求:教师应结合实际案例,引导学生运用所学知识进行考勤管理系统的UML课程设计,注重理论与实践相结合,提高学生的实际操作能力。
同时,关注学生的学习进度和情感态度,确保课程目标的达成。
在教学过程中,将课程目标分解为具体的学习成果,便于后续的教学设计和评估。
二、教学内容1. UML基本概念回顾:类、对象、关系、继承、多态等;2. 考勤管理系统的功能需求分析:学生出勤、请假、迟到、早退等业务流程;3. UML图绘制方法:用例图、类图、序列图、活动图等;4. 考勤管理系统UML课程设计:根据功能需求,绘制相应的UML图;a. 用例图:展示系统功能模块和用户交互;b. 类图:描述系统中的类及其属性和方法;c. 序列图:展示系统操作过程中对象之间的交互;d. 活动图:描述业务流程的具体操作步骤。
5. 教学大纲:a. 第一周:UML基本概念回顾,考勤管理系统功能需求分析;b. 第二周:UML图绘制方法学习,小组讨论确定考勤管理系统UML课程设计方向;c. 第三周:绘制考勤管理系统UML图,小组合作完成课程设计;d. 第四周:课程设计展示,总结与反馈。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
考勤管理系统
需求分析
1.员工功能包括:
(1)签到上班打卡。
(2)查询个人信息。
(3)修改个人信息。
(4)查询上下班时间及个人缺勤信息
2.管理者管理功能包括:(拥有所有权限)
(1)新员工基本信息录入工作。
(2)在线查询公司各部门员工的考勤信息。
(3)修改员工基本信息。
3.补充要求:
(1)该系统能够识别假期与工作时间。
数据字典
员工E-R图
缺勤记录E-R图
管理员E-R图
缺勤状态E-R图
缺勤次数E-R图
全局E-R图
员工(员工编号,部门编号,姓名,年龄,性别,电话,密码);
部门(部门编号,部门名,管理员编号,部门上午上班时间,部门上午下班时间,部门下午上班时间,部门下午下班时间);
缺勤记录(考勤记录号,员工编号,部门编号,缺勤月份,缺勤状态编号,签到时间);
管理员(管理员编号,管理员姓名,年龄,性别,密码);
缺勤状态(缺勤状态编号,缺勤状态名);
缺勤次数(员工编号,缺勤状态编号,次数);
管理员Admin表
部门Department表
数据存储
储的员工信息 储的部门信息
处理过程名:用户登录 输入数据:用户编号+密码 输出数据:登录是否成功的信息
处理逻辑:先检测用户编号是否存在,若不存在则提示“用户编号不存在”,若用户编号存在则核对其对应密码是否正确,正确则显示登录成功,跳转系统主页,否则提示登录失败
处理过程名:查询部门考勤人数 输入数据:部门编号 输出数据:打卡人数
处理逻辑:用户输入要查询员工打卡人数的部门编号,若输入的部门编号存在则调用存储过程,返回打卡的人数,之后以提示方式给出,否则提示输入有误并需要重新输入
数据流图
员工 员工信息 部门 管理员
部门信息
考勤信息
考登录 提供信息
记录考勤
显
示
考
勤
结
果
显示考勤结果 提供信息 登录
考考勤信息 核对考勤信息
提供
信息 查
改删增考勤汇总 考勤汇总 考勤汇总 考勤汇总
添加信息 删除信息 修改信息
查询信息
系统功能流程图
员工考勤功能图
管理员查询员工考勤流程图
管理员录入新员工流程图
管理员修改员工考勤流程图
创建过程:
建表:
Create table nstatus(
Nno varchar(5) primary key,
Nname varchar(15) not null);
①创建触发器
delimiter $$ //当加入员工信息时,创建属于该员工的考勤信息表create trigger insert_in after insert
on worker for each row
begin
insert into ncount
values(new.Sno,'N01','0');
insert into ncount
values(new.Sno,'N02','0');
insert into ncount
values(new.Sno,'N03','0');
end $$
delimiter ;
delimiter $$ //当删除员工信息时,删除属于该员工的考勤信息表create trigger insert_drop before delete
on worker for each row
begin
delete from ncount where ncount.sno=old.sno;
end $$
delimiter ;
create trigger Check_in_mor before insert //插入数据前,自动补充月份,时间,缺勤状态on wn for each row
begin
declare NNno varchar(5);
if current_time<=(select Ddown_on from department where department.Dno=new.dno)
Then
if(current_time-(select Don_on from department where department.Dno=new.dno)>500 and current_time<=(select Ddown_on from department where department.Dno=new.dno))
then
set NNno='N02';
elseif(current_time-(select Don_on from department where department.Dno=new.dno))<=0
then
set NNno='N03';
elseif(current_time-(select Don_on from department where department.Dno=new.dno)>0 and current_time-(select Don_on from department where department.Dno=new.dno)<=500)
then
set NNno='N01';
end if;
elseif current_time>(select Ddown_on from department where department.Dno=new.dno)
then
if(current_time-(select Don_down from department where department.Dno=new.dno))>500
then
set NNno='N02';
elseif(current_time-(select Don_down from department where department.Dno=new.dno))<=0 then
set NNno='N03';
elseif(current_time-(select Don_down from department where department.Dno=new.dno))>0 and (current_time-(select Don_down from department where department.Dno=new.dno))<=500
then
set NNno='N01';
end if;
end if;
set new.Nno=NNno;
set new.updatatime=current_time;
set new.Ntime=month(curdate());
update ncount set count = count+1 where ncount.Sno=new.Sno and ncount.Nno=NNno;
end $$
②创建存储过程统计各员工指定月份的缺席、旷工次数
create procedure countnum()
begin
select Sname as '员工姓名',c.Sno as '员工编号',Ntime as '缺勤时间(月份)',Nname as '缺勤状态',count(a.Sno) as '缺勤次数' from wn a,nstatus b,worker c
where a.Sno=c.Sno and a.Nno=b.Nno
group by Ntime,Nname;
end$$
③创建视图分组查询各部门的职工信息及职工人数
create view staff_1
as select a.Dno as '部门编号',Dname as '部门名',Sno as '员工编号',Sname as '员工名',Sage as '员工年龄',Ssex as '员工性别'
from worker a,department b
where a.Dno=b.Dno
order by a.Dno asc;
create view department_count
as select a.Dno as '部门编号',Dname as '部门名',count(*) as '员工人数' from worker a,department b
where a.Dno=b.Dno
group by a.Dno;。