ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

基于SpringBoot的员工考勤与请假系统毕业设计源码(源码+lw+部署文档+讲解等)

基于SpringBoot的员工考勤与请假系统毕业设计源码(源码+lw+部署文档+讲解等) 博主介绍✌ 专注于VUE,小程序安卓Java,python,物联网专业有18年开发经验长年从事毕业指导项目实战✌选取一个适合的毕业设计题目很重要。✌关注✌私信我✌具体的问题我会尽力帮助你。一、研究目的在当前企业管理信息化不断深化的背景下员工考勤与请假管理已成为人力资源部门核心工作之一。传统的纸质记录方式或分散的电子表格不仅易出现数据冲突和误差而且缺乏统一的数据标准和实时监控能力导致考勤异常难以及时发现给企业运营带来潜在风险。随着云计算与微服务架构的普及基于SpringBoot的轻量级后端框架凭借其模块化、易扩展和高性能特性为构建统一、可靠的考勤与请假系统提供了技术基础。通过对现有考勤流程进行系统化重构本研究旨在实现从数据采集、处理到报表生成的全链路自动化并兼顾用户体验与安全合规要求。本研究的主要目标包括首先设计并实现一套基于SpringBoot的后端服务体系支持多种考勤数据源如门禁卡、移动定位、人工录入的统一接入并通过RESTful API向前端提供标准化接口其次构建灵活的请假审批流程引擎支持多级审批、自动化提醒和异常处理机制以降低人工干预成本再次集成实时监控与异常检测模块利用规则引擎和机器学习技术对考勤数据进行异常识别并及时生成可视化报表为管理层决策提供依据最后在系统设计中充分考虑数据安全与隐私保护采用加密存储、访问控制和日志审计等措施确保符合国家劳动法及相关法规的合规性。通过上述目标的实现本研究期望在技术层面提供一套可复制、可扩展的考勤与请假管理解决方案在业务层面实现考勤数据的准确性提升、流程效率优化以及决策支持能力增强在学术层面为基于SpringBoot的企业级应用架构设计与微服务治理提供实证研究案例为后续相关研究奠定理论与实践基础。二、研究意义在全球化与数字化浪潮推动下企业人力资源管理面临前所未有的挑战与机遇。传统考勤与请假系统多采用分散、手工或半自动化方式导致数据冗余、错误率高、审批周期长并且缺乏统一的数据治理与实时监控能力。通过引入基于SpringBoot的微服务架构本研究不仅能够显著提升系统的可维护性与可扩展性还能在技术层面实现高并发请求处理、容错机制与横向扩展从而满足大规模企业用户对稳定性与性能的严格要求。与此同时系统通过统一的数据接口实现多源数据采集包括门禁卡、移动定位、人工录入等多种方式保证了考勤数据的完整性与一致性为后续的数据分析与决策提供了可靠基础。从业务角度看本研究所构建的请假审批流程引擎支持多级审批、自动化提醒与异常处理显著缩短了请假处理周期降低了人力成本并通过可视化报表实现对请假趋势与异常情况的实时监控为管理层提供精准的数据支持。系统在设计中充分考虑数据安全与隐私保护采用加密存储、细粒度访问控制与审计日志等措施确保符合国家劳动法及相关法规的合规性从而提升企业对员工个人信息的信任度与满意度。在学术层面本研究为基于SpringBoot的企业级应用提供了完整的系统架构设计、模块化实现与性能优化方案填补了现有文献中对微服务治理与考勤数据统一管理缺乏系统性研究的空白。通过实验验证与案例分析本文展示了微服务架构在考勤与请假系统中的可行性与优势为后续相关领域的技术创新提供了可借鉴的经验。综上所述本研究不仅具有显著的经济效益与社会价值还在理论与实践层面推动了企业信息化管理水平的提升具有重要的研究意义。三、国内外研究现状国内外学术界对员工考勤与请假管理系统的研究已形成若干主流方向涵盖数据采集与融合、流程自动化、实时监控与异常检测以及隐私安全等方面。首先在数据采集与融合方面国外研究者普遍采用基于物联网技术的多源数据接入模型将门禁卡、指纹识别、移动定位及人工录入等多种传感器信息统一汇聚并通过标准化接口实现与后端系统的无缝对接国内学者则侧重于将传统纸质记录与电子表格迁移至云端利用RESTful API实现数据同步并在此基础上构建统一的数据仓库以支持跨部门的数据共享。其次在流程自动化方面国外研究多聚焦于基于BPMN业务流程建模与标注标准的请假审批引擎设计通过工作流引擎实现多级审批、条件分支与自动化提醒显著缩短了审批周期国内学者则在此基础上进一步加入角色权限管理与移动端推送功能使得员工能够随时随地提交请假申请并获得实时反馈。再次在实时监控与异常检测方面国外学术界已将机器学习算法引入考勤异常识别利用聚类分析、支持向量机等方法对缺勤、迟到、早退等行为进行自动标注并通过可视化仪表盘呈现异常趋势国内研究则以规则引擎为核心结合业务规则库实现对考勤数据的实时校验并在发现异常时触发报警机制。最后在隐私安全与合规性方面国外研究普遍采用基于区块链技术的不可篡改记录方案并通过加密存储与访问控制保障个人信息安全国内学者则侧重于符合《个人信息保护法》与《劳动法》要求的权限细粒度管理、数据脱敏与审计日志记录确保系统在合规框架内运行。综上所述国内外在员工考勤与请假系统研究中均已取得显著成果但仍存在技术集成深度不足、跨平台互操作性差以及人工智能算法在业务场景中的可解释性不足等挑战为后续研究提供了丰富的改进空间。四、预期达到目标及解决的关键问题预期目标主要聚焦于构建一套基于SpringBoot的企业级员工考勤与请假管理系统系统需实现多源数据采集、统一存储、流程自动化与实时监控并兼顾安全合规与可扩展性。首先在技术层面目标是通过微服务架构将门禁卡、指纹识别、移动定位及人工录入等多种考勤数据源进行统一接入采用RESTful API实现前后端解耦并在后端使用SpringBoot的自动配置与依赖注入特性降低开发复杂度其次系统需支持灵活的请假审批流程引擎能够动态配置多级审批路径、条件分支与自动化提醒提升审批效率并减少人工干预再次实时监控模块将通过规则引擎与机器学习算法对考勤数据进行异常检测并以可视化仪表盘形式呈现缺勤、迟到、早退等异常趋势为管理层提供决策支持最后在安全合规方面系统需实现加密存储、细粒度访问控制与审计日志确保符合《个人信息保护法》与《劳动法》相关条款。关键问题主要包括数据一致性与完整性、流程灵活性、性能与可扩展性以及隐私安全四大方面。数据一致性问题源于多源异构数据的实时采集如何在保持低延迟的同时实现事务一致与冲突解决是系统设计的核心挑战流程灵活性问题则体现在不同企业对请假审批路径与规则差异化需求系统需提供可视化配置与动态更新机制以适应业务变更性能与可扩展性问题涉及高并发请求下的服务响应时间、数据库读写分离以及水平扩容策略需要通过缓存、消息队列与分布式事务等技术手段加以解决隐私安全问题则聚焦于个人信息的脱敏处理、访问权限细粒度控制与日志审计完整性尤其在跨地域部署时需兼顾不同地区法律法规的合规要求。通过解决上述关键问题本研究旨在实现一套既满足企业日常考勤与请假管理需求又具备高可用、高性能与强安全保障的系统为企业信息化管理提供可复制、可扩展的技术范式。五、研究内容本研究围绕构建一套基于SpringBoot的企业级员工考勤与请假管理系统展开系统旨在实现多源数据采集、统一存储、流程自动化与实时监控并兼顾安全合规与可扩展性。为此本研究首先进行需求分析梳理企业在考勤记录、请假审批、异常检测以及报表统计等方面的业务痛点与功能需求并依据ISO/IEC 25010标准制定系统质量目标。随后基于微服务架构设计总体框架将系统拆分为数据采集服务、业务处理服务、工作流引擎、监控与分析服务以及安全与合规服务每个子系统采用SpringBoot的自动配置与依赖注入特性便于快速迭代与横向扩展。在数据采集层面研究设计多种接入方式包括门禁卡读卡器、指纹识别终端、移动定位SDK以及人工录入接口并通过统一的RESTful API网关进行协议转换与消息队列缓冲实现高并发下的数据实时推送。为保证数据一致性与完整性采用分布式事务管理与幂等性校验机制并将采集到的原始数据存入分区表中以支持后续的批处理与离线分析。业务处理层聚焦于考勤规则引擎与请假审批流程。考勤规则引擎基于Drools规则库支持多维度迟到、早退、缺勤等判定并提供可视化配置界面允许管理员动态调整规则阈值。请假审批流程则采用BPMN标准的工作流引擎支持多级审批路径、条件分支与自动化提醒并通过消息推送与移动端通知实现实时反馈。监控与分析层通过Spark Streaming对实时考勤数据进行流式处理利用聚类分析与异常检测算法识别异常模式并将结果推送至Grafana仪表盘实现缺勤率、迟到率等关键指标的可视化展示。与此同时系统提供历史数据查询与报表生成接口支持自定义时间范围与部门维度的统计分析。安全与合规层面研究采用TLS加密传输、AES-256加密存储以及基于RBAC的细粒度访问控制确保个人信息在存储与传输过程中的机密性。日志审计模块记录所有关键操作并支持可追溯性分析以满足《个人信息保护法》与《劳动法》对数据安全与合规性的要求。在研究方法方面首先通过原型实现验证核心技术方案的可行性随后采用敏捷开发模式迭代交付结合单元测试、集成测试与性能测试确保系统质量最后通过真实企业环境部署与用户体验评估收集反馈并进行系统优化。整个研究过程遵循科学方法论确保研究结果具备可复现性与实用价值。六、需求分析用户需求方面本系统的主要使用者包括人力资源管理人员、部门主管以及普通员工。人力资源管理人员需要能够实时掌握全公司员工的考勤与请假情况快速生成缺勤率、迟到率等关键指标报表以便进行绩效评估与用工决策他们还需对考勤规则进行灵活配置支持多维度的迟到、早退、加班以及请假类型并能够在出现异常时自动触发报警与人工干预部门主管则需要在部门层面查看员工考勤统计及时了解团队缺勤情况并对请假申请进行审批或驳回同时能够通过移动端随时接收审批提醒普通员工则期望系统操作简便、界面友好能够在手机或电脑上快速提交请假申请、查询个人考勤记录并在需要时获取实时的考勤状态反馈。综上所述用户需求强调系统的实时性、灵活性与易用性并要求数据安全与隐私保护得到充分保障。功能需求方面系统需实现多源数据采集模块包括门禁卡、指纹识别终端、移动定位SDK以及人工录入接口并通过统一的RESTful API网关完成协议转换与消息队列缓冲考勤规则引擎基于Drools规则库支持多维度迟到、早退、缺勤等判定并提供可视化配置界面请假流程引擎需支持多级审批路径、条件分支与自动化提醒兼容移动端推送与桌面通知实时监控模块采用Spark Streaming对考勤数据进行流式处理利用聚类分析与异常检测算法识别异常模式并将结果推送至Grafana仪表盘报表生成模块需支持自定义时间范围、部门维度的统计分析并能够导出PDF或Excel格式安全与合规模块需实现TLS加密传输、AES-256加密存储、基于RBAC的细粒度访问控制以及完整的日志审计功能以满足《个人信息保护法》与《劳动法》对数据安全与合规性的要求。七、可行性分析经济可行性方面本系统的实施成本主要由软件开发、服务器部署、数据迁移与培训三部分构成预计初期投入约为人民币五十万元其中软件开发费用占比四十个百分点服务器与网络设施占比二十个百分点培训与迁移费用占比二十个百分点。相较于传统纸质记录或分散电子表格系统的人工成本与错误纠正费用本系统能够显著降低人力资源部门的日常运营支出预计每年可节省约八万元的人工成本并通过减少缺勤误报与审批延迟提升员工满意度进而降低因旷工导致的生产损失。若将系统运行周期设定为三年则总投资回收期约为一年半投资回报率高于行业平均水平显示出显著的经济效益。社会可行性方面该系统以用户友好的界面与移动端支持为核心能够降低员工对新技术的抵触情绪并通过即时反馈机制提升请假与考勤的透明度。系统设计充分考虑数据隐私与合规性采用加密存储、访问控制与日志审计等措施符合《个人信息保护法》与《劳动法》的相关规定能够获得员工对个人信息安全的信任。与此同时系统的实施将为企业提供更精准的人力资源分析与决策支持提升组织治理水平从而在社会层面促进企业内部公平与效率。技术可行性方面本系统基于SpringBoot微服务架构能够实现高内聚低耦合的模块化设计并通过RESTful API实现前后端解耦便于后期功能扩展与维护。数据采集层采用消息队列如Kafka缓冲高并发请求确保在峰值时段仍能保持稳定的吞吐量考勤规则引擎采用Drools规则库支持动态规则调整无需停机即可更新业务逻辑。请假审批流程通过BPMN工作流引擎实现多级审批与条件分支兼容移动端推送与桌面通知提升用户体验。系统的安全层面集成TLS加密传输、AES-256加密存储与RBAC细粒度权限控制并通过日志审计实现完整的可追溯性满足行业安全合规要求。综上所述从技术实现角度看本系统具备成熟的技术基础与可靠的架构设计能够满足企业对高并发、实时监控与安全合规的综合需求。八、功能分析系统功能模块划分为数据采集模块、考勤规则引擎模块、请假管理工作流模块、实时监控与分析模块、报表与统计模块、安全与合规模块以及用户与权限管理模块。数据采集模块负责接收来自门禁卡读卡器、指纹识别终端、移动定位SDK以及人工录入接口的原始考勤信息并通过统一的RESTful API网关完成协议转换随后将数据写入消息队列进行缓冲以保证高并发场景下的数据吞吐与可靠性考勤规则引擎模块基于Drools规则库实现迟到、早退、缺勤等多维度判定并提供可视化配置界面使管理员能够在无需停机的情况下动态调整阈值与规则逻辑请假管理工作流模块采用BPMN标准的工作流引擎支持多级审批路径、条件分支与自动化提醒兼容移动端推送与桌面通知确保请假申请在规定时间内得到及时处理实时监控与分析模块利用Spark Streaming对考勤数据进行流式处理结合聚类分析与异常检测算法识别缺勤率、迟到率等关键指标的异常波动并将结果实时推送至Grafana仪表盘实现可视化展示报表与统计模块提供自定义时间范围、部门维度的统计分析功能支持PDF与Excel导出以满足管理层对人力资源数据的决策需求安全与合规模块实现TLS加密传输、AES-256加密存储、基于RBAC的细粒度访问控制以及完整的日志审计机制确保系统符合《个人信息保护法》与《劳动法》相关规定用户与权限管理模块负责用户注册、角色分配与权限授予并提供多因素身份验证保障系统操作的安全性与可追溯性。通过上述模块的协同工作系统能够实现从数据采集到决策支持的全链路自动化并兼顾高性能、易扩展与合规安全。九、数据库设计字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注User表user_id | 用户唯一标识采用UUID保证全局唯一性。 | 36 | VARCHAR(36) | 主键 | 用于关联权限与角色。username | 登录用户名区分大小写。 | 50 | VARCHAR(50) | - | 必填字段。password_hash | 加密后的密码哈希值。 | 64 | CHAR(64) | - | 使用PBKDF2算法存储。email | 用户邮箱地址用于密码重置与通知。 | 100 | VARCHAR(100) | - | 必填字段。created_at | 账户创建时间戳。 | - | DATETIME | - | 自动生成。updated_at | 最后更新时间戳。 | - | DATETIME | - |Role表role_id | 角色唯一标识采用UUID。 | 36 | VARCHAR(36) | 主键 | 用于权限分配。role_name | 角色名称如管理员、主管、员工等。 | 50 | VARCHAR(50) | - | 必填字段。description | 对角色的简短描述。 | 200 | VARCHAR(200) | - |Permission表permission_id | 权限唯一标识采用UUID。 | 36 | VARCHAR(36) | 主键 | 用于细粒度访问控制。permission_name | 权限名称如查看考勤、审批请假等。 | 50 | VARCHAR(50) | - |description | 对权限的简短描述。 | 200 | VARCHAR(200) |UserRole表user_id | 与User表关联的用户ID。 | 36 | VARCHAR(36) | 外键关联User.user_id |role_id | 与Role表关联的角色ID。 | 36 | VARCHAR(36) | 外键关联Role.role_id |created_at | 关联创建时间戳。 | - | DATETIME |RolePermission表role_id | 与Role表关联的角色ID。 | 36 | VARCHAR(36) | 外键关联Role.role_id |permission_id | 与Permission表关联的权限ID。 | 36 | VARCHAR(36) | 外键关联Permission.permission_id |created_at | 关联创建时间戳。 | - | DATETIME |Employee表employee_id | 员工唯一标识采用UUID。 | 36 | VARCHAR(36) | 主键 |user_id | 与User表关联的用户ID用于登录。 | 36 | VARCHAR(36) | 外键关联User.user_id |name | 员工姓名。 | 100 | VARCHAR(100) |department_id | 所属部门ID后期可扩展至Department表。 | 36 | VARCHAR(36) |position | 职位名称。 | 100 | VARCHAR(100) |hire_date | 入职日期。 | - | DATE |created_at | 记录创建时间戳。 | - | DATETIME |AttendanceRecord表record_id | 考勤记录唯一标识采用UUID。 | 36 | VARCHAR(36) | 主键 |employee_id | 与Employee表关联的员工ID。 | 36 | VARCHAR(36) | 外键关联Employee.employee_id |clock_in_time | 打卡时间。 | - | DATETIME |clock_out_time | 下班时间。 | - | DATETIME |status | 考勤状态如正常、迟到、早退、缺勤等。 | 20 | VARCHAR(20) |created_at | 记录创建时间戳。 | - | DATETIME |LeaveRequest表leave_id | 请假申请唯一标识采用UUID。 | 36 | VARCHAR(36) | 主键 |employee_id | 与Employee表关联的员工ID。 | 36 | VARCHAR(36) | 外键关联Employee.employee_id |leave_type | 请假类型如事假、病假、年假等。 | 20 | VARCHAR(20) |start_time | 请假开始时间。 | - | DATETIME |end_time | 请假结束时间。 | - | DATETIME |reason | 请假原因说明。 | 500 | TEXT |status | 当前审批状态如待审批、已批准、已驳回等。 | 20 | VARCHAR(20) |created_at | 申请提交时间戳。 | - | DATETIME |LeaveApprovalLog表log_id | 审批日志唯一标识采用UUID。 | 36 | VARCHAR(36) | 主键 |leave_id | 与LeaveRequest表关联的请假ID。 | 36 | VARCHAR(36) | 外键关联LeaveRequest.leave_id |approver_user_id | 审批人用户ID。 | 36 | VARCHAR(36) |action | 审批动作如批准、驳回。 | 20 | VARCHAR(20) |comment | 审批意见或备注。 | 500 | TEXT |action_time | 操作时间戳。 | - | DATETIME |SystemConfig表config_key | 配置键名唯一标识。 | 50 | VARCHAR(50) | 主键 |config_value | 配置值支持字符串、JSON等格式。 | - | TEXT |description | 对配置项的说明。 | 200 | VARCHAR(200) |created_at | 创建时间戳。 | - | DATETIME |AuditLog表audit_id | 审计日志唯一标识采用UUID。 | 36 | VARCHAR(36) | 主键 |user_id | 操作人用户ID。 | 36 | VARCHAR(36) |operation_type | 操作类型如登录、数据查询、数据修改等。 | 50 | VARCHAR(50) |entity_name | 受影响的实体名称如User、AttendanceRecord等。 | 50 | VARCHAR(50) |entity_id | 受影响的实体ID。 | 36 | VARCHAR(36) |operation_time | 操作时间戳。 | - | DATETIME |details | 操作详情存储JSON或文本描述。 | - | TEXT |以上表结构遵循第一范式至第三范式消除重复数据与更新异常保证数据完整性与一致性。十、建表语句CREATE DATABASE IF NOT EXISTS attendance_system CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;USE attendance_system;-- 用户表CREATE TABLE User (user_id VARCHAR(36) NOT NULL,username VARCHAR(50) NOT NULL,password_hash CHAR(64) NOT NULL,email VARCHAR(100) NOT NULL,created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (user_id),UNIQUE KEY idx_username (username),UNIQUE KEY idx_email (email)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 角色表CREATE TABLE Role (role_id VARCHAR(36) NOT NULL,role_name VARCHAR(50) NOT NULL,description VARCHAR(200),PRIMARY KEY (role_id),UNIQUE KEY idx_role_name (role_name)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 权限表CREATE TABLE Permission (permission_id VARCHAR(36) NOT NULL,permission_name VARCHAR(50) NOT NULL,description VARCHAR(200),PRIMARY KEY (permission_id),UNIQUE KEY idx_permission_name (permission_name)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 用户角色关联表CREATE TABLE UserRole (user_id VARCHAR(36) NOT NULL,role_id VARCHAR(36) NOT NULL,created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (user_id, role_id),CONSTRAINT fk_userrole_user FOREIGN KEY (user_id) REFERENCES User(user_id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_userrole_role FOREIGN KEY (role_id) REFERENCES Role(role_id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 角色权限关联表CREATE TABLE RolePermission (role_id VARCHAR(36) NOT NULL,permission_id VARCHAR(36) NOT NULL,created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (role_id, permission_id),CONSTRAINT fk_roleperm_role FOREIGN KEY (role_id) REFERENCES Role(role_id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_roleperm_permission FOREIGN KEY (permission_id) REFERENCES Permission(permission_id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 员工表CREATE TABLE Employee (employee_id VARCHAR(36) NOT NULL,user_id VARCHAR(36) NOT NULL,name VARCHAR(100) NOT NULL,department_id VARCHAR(36),position VARCHAR(100),hire_date DATE,created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (employee_id),CONSTRAINT fk_employee_user FOREIGN KEY (user_id) REFERENCES User(user_id) ON DELETE CASCADE ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 考勤记录表CREATE TABLE AttendanceRecord (record_id VARCHAR(36) NOT NULL,employee_id VARCHAR(36) NOT NULL,clock_in_time DATETIME,clock_out_time DATETIME,status VARCHAR(20),created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (record_id),CONSTRAINT fk_attendance_employee FOREIGN KEY (employee_id) REFERENCES Employee(employee_id) ON DELETE CASCADE ON UPDATE CASCADE,INDEX idx_attendance_status (status)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 请假申请表CREATE TABLE LeaveRequest (leave_id VARCHAR(36) NOT NULL,employee_id VARCHAR(36) NOT NULL,leave_type VARCHAR(20),start_time DATETIME NOT NULL,end_time DATETIME NOT NULL,reason TEXT,status VARCHAR(20) NOT NULL DEFAULT 待审批,created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (leave_id),CONSTRAINT fk_leave_employee FOREIGN KEY (employee_id) REFERENCES Employee(employee_id) ON DELETE CASCADE ON UPDATE CASCADE,INDEX idx_leave_status (status)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 请假审批日志表CREATE TABLE LeaveApprovalLog (log_id VARCHAR(36) NOT NULL,leave_id VARCHAR(36) NOT NULL,approver_user_id VARCHAR(36) NOT NULL,action VARCHAR(20) NOT NULL,comment TEXT,action_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (log_id),CONSTRAINT fk_leave_log_leave FOREIGN KEY (leave_id) REFERENCES LeaveRequest(leave_id) ON DELETE CASCADE ON UPDATE CASCADE,CONSTRAINT fk_leave_log_user FOREIGN KEY (approver_user_id) REFERENCES User(user_id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 系统配置表CREATE TABLE SystemConfig (config_key VARCHAR(50) NOT NULL,config_value TEXT,description VARCHAR(200),created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (config_key)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 审计日志表CREATE TABLE AuditLog (audit_id VARCHAR(36) NOT NULL,user_id VARCHAR(36),operation_type VARCHAR(50) NOT NULL,entity_name VARCHAR(50),entity_id VARCHAR(36),operation_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,details TEXT,PRIMARY KEY (audit_id),CONSTRAINT fk_audit_user FOREIGN KEY (user_id) REFERENCES User(user_id) ON DELETE SET NULL ON UPDATE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 索引优化CREATE INDEX idx_employee_name ON Employee(name);CREATE INDEX idx_leave_type ON LeaveRequest(leave_type);CREATE INDEX idx_leave_start_end ON LeaveRequest(start_time, end_time);CREATE INDEX idx_attendance_employee_time ON AttendanceRecord(employee_id, clock_in_time);CREATE INDEX idx_audit_operation ON AuditLog(operation_type, operation_time);-- 结束语-- 以上DDL已满足第一至第三范式所有外键均已声明必要字段设为 NOT NULL且为常用查询字段创建了索引。文章下方名片联系我即可~大家点赞、收藏、关注、评论啦 、查看下方获取联系方式
返回列表