博主介绍:✌ 专注于VUE,小程序,安卓,Java,python,物联网专业, 从事毕业指导,项目实战✌选取一个适合的毕业设计题目很重要。✌关注✌私信我✌具体的问题,我会尽力帮助你。
一、研究目的
在当代城市化进程加速的背景下,火灾事故频发已成为公共安全领域亟待解决的突出问题,其中烟雾作为火灾早期预警的重要标志,对及时疏散与救援具有决定性意义。传统基于光学传感器或温度阈值的方法虽在实验室环境中表现出一定的检测能力,但其对光照变化、遮挡物干扰及多源噪声的鲁棒性不足,难以满足复杂场景下的实时监测需求。近年来,深度卷积神经网络在目标检测领域取得突破性进展,其中YOLO系列模型凭借端到端训练、单阶段预测以及高帧率推理优势,被广泛视为实现实时视觉感知的理想框架。针对上述挑战,本研究旨在构建一套基于YOLO的火灾烟雾检测系统,力求在保持高检测精度的同时,实现毫秒级响应速度,以满足工业园区、商业综合体及公共建筑等多种场景下的安全监控需求。
本项目的研究目标主要包括:首先,收集并标注覆盖多种光照条件、烟雾浓度与背景纹理的高质量烟雾图像数据集,为模型训练提供充分的数据支撑;其次,针对YOLOv5及其变体进行模型结构微调与参数优化,使其在低功耗嵌入式平台上保持稳定推理性能;再次,设计多尺度特征融合机制,以提升对小尺寸烟雾斑点的检测率,并通过自适应阈值策略降低误报率;最后,构建完整的实验评估体系,包括平均精度均值(mAP)、召回率、误检率及推理延迟等指标,对系统在真实环境中的表现进行全面验证。
通过上述研究,本工作期望实现以下创新贡献:一方面,在数据层面提供国内首个针对火灾烟雾的公开标注数据集,为后续研究提供共享资源;另一方面,在算法层面提出一种轻量化YOLO变体,兼顾检测精度与推理速度,适配工业级嵌入式硬件;此外,系统化的评估框架将为后续基于视觉的安全监控系统提供可复制、可验证的性能基准。综上所述,本研究不仅在技术层面推动了火灾烟雾检测的实时化与精准化,也为公共安全管理体系提供了可落地、可扩展的技术支撑。
二、研究意义
在全球范围内,火灾事故每年造成的人员伤亡与财产损失均呈上升趋势,尤其在高密度城市与工业园区等易燃易爆场所,烟雾作为火灾早期的重要视觉信号,其及时、准确的检测直接决定了救援行动的时效性与安全性。传统基于光学传感器或温度阈值的方法虽具备一定的实时性,但在复杂照明、遮挡物干扰以及多源噪声环境下,误报率高、漏报率大,难以满足现代公共安全体系对可靠性与精确性的双重要求。随着深度学习技术的快速发展,卷积神经网络已成为目标检测领域的主流工具,而YOLO系列模型凭借单阶段预测、端到端训练以及高帧率推理的优势,在实时视觉感知任务中表现尤为突出。基于此,本研究通过构建一套基于YOLO的火灾烟雾检测系统,旨在实现高精度与毫秒级响应速度的双重目标,从而为工业安全、公共建筑及城市消防等多种场景提供可落地、可扩展的技术方案。
本研究具有多层次的理论与实践意义。首先,在数据层面,通过收集并标注覆盖多种光照条件、烟雾浓度与背景纹理的高质量图像数据集,为国内外学术界提供首个公开、标准化的火灾烟雾视觉数据资源,填补了该领域在数据获取与共享方面的空白。其次,在算法层面,通过对YOLOv5及其变体进行结构微调与参数优化,并引入多尺度特征融合机制与自适应阈值策略,显著提升了对小尺寸烟雾斑点的检测率,同时降低误报率,为目标检测技术在安全监控领域的应用提供了新的思路。再次,在系统实现层面,通过在低功耗嵌入式平台上实现高效推理,验证了该技术在实际硬件环境中的可行性与稳定性,为工业级安全监控系统的快速部署奠定了基础。
从社会与经济角度看,火灾事故的及时预警不仅能减少人员伤亡,还能显著降低财产损失与后续救援成本。通过实现高精度、低延迟的烟雾检测,本研究有望在消防安全管理体系中发挥关键作用,提升城市防灾减灾能力。与此同时,所提出的轻量化YOLO变体及其优化策略可推广至其他视觉感知任务,如烟雾识别、火焰检测与危险气体监测,为智能安全系统的发展提供技术支撑。综上所述,本研究在推动计算机视觉技术向公共安全领域深度融合的同时,也为提升社会整体防灾减灾水平、保障人民生命财产安全作出了重要贡献。
三、国内外研究现状
在火灾安全领域的研究中,传统的烟雾检测方法主要依赖光学传感器、温度阈值及化学传感器等硬件手段,这些方法在实验室环境下能够实现一定程度的烟雾识别,但其对光照变化、遮挡物干扰以及多源噪声的鲁棒性不足,难以满足复杂场景下的实时监测需求。随着计算机视觉技术的发展,基于机器学习的烟雾检测方法逐渐兴起,通过提取图像中的纹理特征、颜色分布以及灰度直方图等信息,并利用支持向量机、随机森林等分类器实现烟雾与非烟雾的区分。然而,这类方法对训练数据的质量与数量高度敏感,且在不同光照、背景以及烟雾浓度条件下易出现误检与漏检。
进入深度学习时代后,卷积神经网络在目标检测任务中表现出显著优势。早期的基于区域提议的方法如R-CNN、Fast R-CNN以及Faster R-CNN,在烟雾检测任务中取得了一定的实验效果,但其双阶段结构导致推理速度受限,难以满足实时监控的需求。随后,单阶段目标检测模型如YOLO系列、SSD以及RetinaNet等因其高帧率推理而被广泛关注。国内外研究者在烟雾检测领域已将YOLOv3、YOLOv4及YOLOv5等模型应用于烟雾图像的训练与推理,并通过多尺度特征融合、注意力机制以及自适应阈值策略等技术手段提升检测精度。部分工作还针对低光照环境下的烟雾检测,采用图像增强技术或多模态融合方法以提高鲁棒性。
在数据资源方面,国外已有公开的火灾烟雾图像数据集,如Fire-100、SmokeNet以及FireNet等,这些数据集涵盖了不同光照、烟雾浓度与背景场景,能够为模型训练与评估提供一定基础。然而,这些数据集在规模、标注精度以及多样性方面仍存在不足。国内研究者近年来也开始构建本土化的数据集,例如通过无人机拍摄、工业园区监控视频等方式收集烟雾图像,并结合人工标注与半自动标注技术,形成了多种规模的数据集。值得注意的是,国内外在数据集的标准化、公开共享以及跨域迁移学习方面仍面临挑战。
从算法创新角度看,国外研究者主要聚焦于提升检测精度与鲁棒性,例如通过改进YOLO的骨干网络、引入多尺度特征金字塔、采用轻量化网络结构以适配嵌入式平台等。国内学者则更侧重于系统实现与实际应用场景的融合,尝试将烟雾检测模型部署到工业控制系统、智慧城市监控平台以及移动终端设备中,并通过实验验证其在不同硬件环境下的推理速度与功耗表现。此外,一些研究还关注多模态融合,例如将视觉信息与红外热像、声学信号等结合,以提升火灾早期预警的准确性。
总体而言,国内外在火灾烟雾检测领域已取得了显著进展,主要研究方向包括:①基于深度学习的目标检测模型改进与轻量化设计;②多尺度特征融合与注意力机制以提升小目标检测性能;③多模态数据融合与跨域迁移学习以增强模型鲁棒性;④系统实现与嵌入式部署以满足实时监控需求。尽管如此,仍存在数据集规模有限、标注质量不均、算法在极端环境下的鲁棒性不足以及模型部署成本高等问题,亟需进一步研究与突破。
四、预期达到目标及解决的关键问题
本研究的总体目标在于构建一套基于YOLO目标检测框架的火灾烟雾实时监测系统,既要保证高检测精度,又要实现毫秒级响应速度,从而满足工业园区、商业综合体及公共建筑等多种场景下的安全防护需求。为实现这一目标,预期将完成以下关键任务:首先,收集覆盖不同光照条件、烟雾浓度与背景纹理的高质量图像数据,并采用人工与半自动标注技术构建标准化烟雾标注数据集;其次,对YOLOv5及其轻量化变体进行网络结构微调与参数优化,探索多尺度特征融合、注意力机制以及自适应阈值策略,以提升对小尺寸烟雾斑点的检测率并降低误报率;再次,将训练好的模型部署至低功耗嵌入式平台,并通过硬件加速技术实现实时推理,最终构建完整的系统原型;最后,制定统一的评估指标体系,包括平均精度均值(mAP)、召回率、误检率以及推理延迟等,对系统在真实环境中的性能进行全面验证。
在实现上述目标的过程中,研究将面临若干关键问题。首先,数据集的多样性与标注质量直接决定模型泛化能力,如何在有限资源下高效获取覆盖极端光照、遮挡以及烟雾浓度变化的数据,并保证标注一致性,是一大挑战;其次,小尺寸烟雾斑点在复杂背景中的可辨识度低,传统YOLO模型对细粒度目标的检测精度有限,需要通过多尺度特征金字塔或轻量化注意力模块进行改进;再次,光照变化、遮挡物干扰以及多源噪声会导致烟雾与背景纹理相似度升高,误检率易上升,如何在保持高召回率的同时抑制误报,是算法设计的核心难点;此外,在嵌入式平台上部署深度网络时,计算资源、功耗以及推理延迟等硬件约束会限制模型复杂度,需要在网络压缩、量化以及硬件加速之间寻找平衡点;最后,系统在实际应用中需兼顾多场景适应性与可维护性,如何实现模型的在线更新与迁移学习,以适应不断变化的环境,也是未来研究的重要方向。
针对上述关键问题,本研究将采取多管齐下的策略。数据层面将引入合成烟雾图像、域自适应技术以及主动学习框架,以扩充样本空间并提升标注效率;算法层面将探索轻量化YOLO变体与特征金字塔网络的结合,利用注意力机制增强对细粒度目标的感知能力,并通过自适应阈值与后处理规则降低误报率;系统层面将采用模型压缩、量化以及FPGA/ASIC加速方案,实现低功耗高帧率推理,并设计可插拔的在线学习模块,支持模型在现场环境中持续优化。通过上述措施,预期能够实现一套兼具高精度与实时性的火灾烟雾检测系统,为公共安全防护提供有力技术支撑。
五、研究内容
本研究围绕基于YOLO的火灾烟雾检测系统展开,整体研究内容可划分为数据准备、模型设计与优化、系统实现与部署以及实验评估四大模块。首先,在数据准备阶段,将通过多源采集方式获取覆盖不同光照条件、烟雾浓度与背景纹理的图像样本,包括工业园区监控视频、无人机航拍图像以及室内实验室拍摄的烟雾序列;随后采用人工标注与半自动标注相结合的方法,对每帧图像中的烟雾区域进行精确框选,并对数据集进行划分、归一化与增强处理,以提升模型的泛化能力。其次,在模型设计与优化阶段,将以YOLOv5为基础,构建轻量化网络结构,并引入多尺度特征金字塔、注意力机制以及自适应阈值策略,以提升对小尺寸烟雾斑点的检测率并降低误报率;同时,针对低光照与高噪声环境,将设计图像预处理模块与后处理规则,以增强模型鲁棒性。第三,在系统实现与部署阶段,将把训练好的模型迁移至低功耗嵌入式平台,采用模型压缩、量化以及硬件加速技术,实现毫秒级推理;同时,构建完整的软件框架,包括实时图像采集、前向推理、结果可视化与报警触发模块,并提供可插拔的在线学习接口,以支持模型在现场环境中的持续优化。最后,在实验评估阶段,将制定统一的评估指标体系,包括平均精度均值(mAP)、召回率、误检率以及推理延迟等,对系统在公开数据集与真实场景中的性能进行全面验证,并与现有基线方法进行对比分析,以客观评估所提出方案的优越性。通过上述系统化研究,本工作旨在实现一套兼具高精度与实时性的火灾烟雾检测系统,为公共安全防护提供可靠技术支持。
六、需求分析
用户需求方面,本系统的主要使用者为工业园区安全管理人员、公共建筑设施维护工程师以及城市消防指挥中心的决策者,他们对火灾预警系统的核心诉求集中在实时性、准确性与可靠性之上。首先,鉴于火灾事件的突发性与高危性质,用户期望系统能够在烟雾出现的瞬间即刻完成检测并发出报警,从而为人员疏散与消防救援争取宝贵时间;其次,误报与漏报均会导致资源浪费与安全信任度下降,用户要求系统在多种光照、遮挡以及背景纹理条件下保持高召回率的同时,将误检率控制在可接受范围内;再次,系统需兼容现有监控网络与建筑物联网平台,能够通过标准化接口将检测结果推送至集中管理平台或移动终端,实现信息共享与联动响应;此外,用户对设备成本与维护成本亦持关注态度,期望采用低功耗嵌入式硬件,并提供简易的在线升级与故障诊断功能,以降低运维负担;最后,在灾害应急管理体系中,系统需要具备一定的可扩展性与容错性,能够在多点部署后实现数据聚合与统一监控,以满足大规模工业园区或城市消防网络的需求。
功能需求方面,为满足上述用户诉求,系统需实现一系列核心功能模块。首先,图像采集与预处理模块应支持多源视频流输入,并通过自适应曝光、去噪与色彩校正等技术提升烟雾特征的可辨识度;其次,目标检测模块基于轻量化YOLO变体,在保持高帧率推理的同时,采用多尺度特征融合与注意力机制,以提高对细小烟雾斑点的检测精度;随后,后处理与阈值自适应模块需根据环境光照与背景纹理动态调整置信度阈值,从而降低误报率;接着,报警与通知模块应支持多级触发机制,包括本地声音警报、短信推送以及对接建筑物消防指挥中心的API接口,以实现即时联动;此外,系统日志与数据存储模块需记录检测结果、系统状态与异常事件,并提供可视化仪表盘供运维人员监控与分析;最后,硬件兼容性与软件可扩展性模块应支持多种嵌入式平台与GPU加速方案,并通过插件化架构实现模型在线更新与功能扩展,以适应不同场景下的部署需求。
七、可行性分析
经济可行性方面,项目初期主要投入集中在数据采集与标注、模型训练与验证以及嵌入式硬件采购与系统集成。数据采集可通过租赁工业园区监控设备或利用无人机拍摄实现,成本相对可控;人工标注则可采用众包平台或内部专业团队完成,预计每千张图像的标注费用在数百元左右,整体数据集构建成本约为数十万元。模型训练与验证阶段需要高性能GPU服务器,若利用云计算资源按需计费,可将硬件投资压缩至几万元;嵌入式硬件方面,选择低功耗的ARM+NPU组合板卡,每台设备成本在千元级别,能够满足大规模部署需求。系统集成与维护成本主要体现在软件开发、接口对接与运维监控,可通过模块化设计降低后期维护费用。综合来看,项目总体投入在数十万元至百万元之间,且由于火灾预警系统在工业园区、商业综合体及公共建筑中的广泛需求,预计在三至五年内即可实现成本回收并产生利润空间。
社会可行性方面,火灾烟雾检测系统直接关系到人民生命财产安全与社会公共安全。其高精度与实时性能够显著降低火灾事故的发生率与损失,为政府部门提供可靠的防灾减灾手段,符合国家安全生产和消防法规的要求。公众对智能化安全监测技术的接受度正在提升,尤其在工业园区与商业设施中已形成一定需求基础;系统部署后可通过培训与演练提升员工对火灾预警信息的响应能力,从而进一步增强社会整体防灾意识。与此同时,系统涉及的视频采集与数据处理需遵守隐私保护法规,采用匿名化处理与访问控制机制,可在技术层面降低个人信息泄露风险,提升公众信任度。综上所述,该项目在社会层面具备较高的可接受性与正面影响。
技术可行性方面,目标检测算法已在YOLO系列中取得成熟应用,且针对小目标检测的多尺度特征融合与注意力机制已在相关研究中得到验证,可通过迁移学习快速适配烟雾检测任务。数据集方面,国内外已有多种火灾烟雾图像数据集,可与本项目采集的数据进行混合训练,提升模型泛化能力;若需进一步扩充样本,可利用生成对抗网络(GAN)合成烟雾图像以补齐稀缺场景。硬件层面,低功耗嵌入式平台如ARM+NPU已支持YOLOv5的推理,且通过模型量化与剪枝可在保持精度的前提下降低计算量,满足实时性要求。系统集成方面,采用标准化接口(如RESTful API、MQTT)可实现与现有监控系统、建筑物联网平台及消防指挥中心的无缝对接。鉴于上述技术路径已在相关领域得到验证,且缺乏重大技术瓶颈,可确认项目具备高度技术可行性。
八、功能分析
系统功能模块可划分为七大核心子系统,分别为图像采集与预处理子系统、烟雾检测子系统、后处理与阈值自适应子系统、报警与通知子系统、数据存储与日志管理子系统、用户交互与可视化子系统以及维护升级与接口集成子系统。图像采集与预处理子系统负责从工业园区监控摄像头、无人机航拍设备或建筑物联网摄像头等多源视频流中实时获取原始图像,并通过自适应曝光控制、去噪滤波与色彩校正等技术提升烟雾特征的可辨识度;烟雾检测子系统基于轻量化YOLOv5变体,在保持高帧率推理的前提下,利用多尺度特征金字塔与注意力机制对预处理后的图像进行目标检测,输出候选烟雾框及置信度;后处理与阈值自适应子系统根据环境光照、背景纹理以及历史误报率动态调整置信度阈值,对检测结果进行非极大抑制与聚类,以降低误报并提升召回率;报警与通知子系统在检测到烟雾后,根据预设的报警级别触发本地声音警报、短信推送、电子邮件以及对接消防指挥中心的API接口,实现多渠道即时联动;数据存储与日志管理子系统负责将检测结果、系统状态、异常事件及性能指标等信息持久化存储至数据库,并提供日志查询与审计功能,支持运维人员追溯与分析;用户交互与可视化子系统通过Web或移动端仪表盘展示实时检测画面、报警历史、系统健康状态以及统计报表,支持权限管理与自定义视图;维护升级与接口集成子系统提供模型在线更新、插件化功能扩展以及标准化RESTful/MQTT接口,以实现与现有监控平台、建筑物联网系统及消防指挥中心的无缝对接。上述七大模块相互协同,形成完整的火灾烟雾检测与预警闭环,满足用户对实时性、准确性与可靠性的综合需求。
九、数据库设计
Users
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
user_id | 用户编号 | 10 | INT UNSIGNED NOT NULL AUTO_INCREMENT | PK | 主键,自增
username | 用户名 | 50 | VARCHAR(50) NOT NULL UNIQUE | | 唯一索引
password_hash | 密码哈希值 | 64 | CHAR(64) NOT NULL | |
role | 用户角色(管理员/操作员)| 20 | VARCHAR(20) NOT NULL | |
created_at | 创建时间 | 19 | DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP | |
Cameras
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
camera_id | 摄像头编号 | 10 | INT UNSIGNED NOT NULL AUTO_INCREMENT | PK | 主键,自增
location | 摄像头位置描述(如楼层、区域)| 100 | VARCHAR(100) NOT NULL | |
ip_address | 摄像头IP地址| 15 | VARCHAR(15) NOT NULL | |
stream_url | 视频流访问URL| 255 | VARCHAR(255) NOT NULL | |
Detections
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
detection_id | 检测编号 | 10 | INT UNSIGNED NOT NULL AUTO_INCREMENT | PK |
camera_id | 摄像头编号| 10 | INT UNSIGNED NOT NULL | FK (Cameras.camera_id) |
frame_number | 帧序号| 10 | INT UNSIGNED NOT NULL |
timestamp | 检测时间戳| 19 | DATETIME NOT NULL |
bbox_x | 边框左上角X坐标| 10 | INT UNSIGNED NOT NULL |
bbox_y | 边框左上角Y坐标| 10 | INT UNSIGNED NOT NULL |
bbox_width | 边框宽度| 10 | INT UNSIGNED NOT NULL |
bbox_height | 边框高度| 10 | INT UNSIGNED NOT NULL |
confidence | 检测置信度| 5 | DECIMAL(4,2) NOT NULL |
Alarms
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
alarm_id | 报警编号 | 10 | INT UNSIGNED NOT NULL AUTO_INCREMENT | PK |
detection_id | 检测编号| 10 | INT UNSIGNED NOT NULL | FK (Detections.detection_id) |
level | 报警级别(低/中/高)| 5 | VARCHAR(5) NOT NULL |
triggered_at | 报警触发时间| 19 | DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP |
Logs
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
log_id | 日志编号 | 10 | INT UNSIGNED NOT NULL AUTO_INCREMENT | PK |
user_id | 用户编号| 10 | INT UNSIGNED NOT NULL | FK (Users.user_id) |
action | 操作描述(登录/注销/修改配置等)| 50 | VARCHAR(50) NOT NULL |
details | 详细信息| 255 | VARCHAR(255) |
log_time | 日志时间戳| 19 | DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP |
System_Config
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
config_key | 配置键| 50 | VARCHAR(50) NOT NULL UNIQUE |
config_value | 配置值| 255 | VARCHAR(255) NOT NULL |
updated_at | 最后更新时间| 19 | DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP |
以上表结构遵循第一范式(每个字段仅存储原子值)并通过外键关联实现第二范式(消除重复数据),同时将业务实体拆分为独立表以满足第三范式(每个非主属性完全函数依赖于主键)。
十、建表语句
下面给出完整的 MySQL 建表语句,已包含所有字段、主键、外键约束以及必要的索引。每个表均采用 InnoDB 存储引擎,以支持事务与外键约束,并使用 UTF‑8 编码以兼容中文字符。
-- 1. 用户表
CREATE TABLE Users (
user_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE,
password_hash CHAR(64) NOT NULL,
role VARCHAR(20) NOT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 2. 摄像头表
CREATE TABLE Cameras (
camera_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
location VARCHAR(100) NOT NULL,
ip_address VARCHAR(15) NOT NULL,
stream_url VARCHAR(255) NOT NULL,
PRIMARY KEY (camera_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 3. 检测结果表
CREATE TABLE Detections (
detection_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
camera_id INT UNSIGNED NOT NULL,
frame_number INT UNSIGNED NOT NULL,
timestamp DATETIME NOT NULL,
bbox_x INT UNSIGNED NOT NULL,
bbox_y INT UNSIGNED NOT NULL,
bbox_width INT UNSIGNED NOT NULL,
bbox_height INT UNSIGNED NOT NULL,
confidence DECIMAL(4,2) NOT NULL,
PRIMARY KEY (detection_id),
INDEX idx_camera_timestamp (camera_id, timestamp),
CONSTRAINT fk_detections_camera
FOREIGN KEY (camera_id) REFERENCES Cameras(camera_id)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 4. 报警表
CREATE TABLE Alarms (
alarm_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
detection_id INT UNSIGNED NOT NULL,
level VARCHAR(5) NOT NULL,
triggered_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (alarm_id),
INDEX idx_detection (detection_id),
CONSTRAINT fk_alarms_detection
FOREIGN KEY (detection_id) REFERENCES Detections(detection_id)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 5. 日志表
CREATE TABLE Logs (
log_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id INT UNSIGNED NOT NULL,
action VARCHAR(50) NOT NULL,
details VARCHAR(255),
log_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (log_id),
INDEX idx_user_logtime (user_id, log_time),
CONSTRAINT fk_logs_user
FOREIGN KEY (user_id) REFERENCES Users(user_id)
ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 6. 系统配置表
CREATE TABLE System_Config (
config_key VARCHAR(50) NOT NULL,
config_value VARCHAR(255) NOT NULL,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (config_key)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
上述语句已满足第一、第二、第三范式的要求:
- 第一范式:每个字段仅存储原子值;
- 第二范式:非
文章下方名片联系我即可~大家点赞、收藏、关注、评论啦 、查看下方👇🏻获取联系方式👇🏻