)
博主介绍✌ 专注于VUE,小程序安卓Java,python,物联网专业 从事毕业指导项目实战✌选取一个适合的毕业设计题目很重要。✌关注✌私信我✌具体的问题我会尽力帮助你。一、研究目的二、研究意义本研究的意义主要体现在理论层面与实践层面两个维度。首先在理论层面本文通过构建基于SpringBoot与Vue的在线问卷调查与数据分析平台探讨了前后端分离架构在大规模数据采集与实时分析中的适用性为信息系统设计提供了新的案例研究其次在实践层面该平台能够实现高并发请求处理、动态数据可视化以及多维度统计分析为科研机构、企业市场调研以及公共政策制定提供了高效、低成本的数据采集与分析工具。与此同时本研究还揭示了在保证数据安全与隐私保护的前提下如何通过OAuth2.0认证、JWT令牌以及数据库加密技术实现用户身份验证与权限控制为后续类似系统的安全设计提供了可借鉴的技术路径。再者平台采用微服务化部署模式支持容器化与弹性伸缩体现了云原生技术在传统问卷系统升级改造中的价值为学术界与工业界在系统架构迁移方面提供了实证参考。最后本研究的成果不仅丰富了在线问卷系统的功能模块也为数据驱动决策提供了更为精准、实时的数据支持具有重要的社会经济效益和推广价值。通过对比实验与传统问卷系统在响应时间、数据完整性与用户体验等方面的性能差异本研究进一步验证了所提出平台在大规模并发环境下的可扩展性与稳定性为后续大数据分析平台的性能优化提供了量化依据。除此之外平台集成了机器学习模型对收集到的数据进行情感分析与趋势预测展示了从原始问卷数据到决策支持信息的闭环过程进一步提升了数据价值的挖掘效率。三、国内外研究现状在信息技术与数据科学交叉领域在线问卷系统的研究已由早期的单体式应用逐步演进为分布式、可扩展的服务架构。国内外学者普遍关注平台的功能完整性、用户体验以及数据安全与隐私保护等方面。首先功能完整性方面国外研究多聚焦于多模态问卷设计与动态逻辑实现例如利用JavaScript框架实现条件跳转、分支判断与实时预览国内则在此基础上进一步引入可视化编辑器使非技术人员亦能快速构建复杂问卷。其次用户体验方面国外学者通过大规模A/B测试验证移动端适配、交互动画与响应式布局对填写率的影响国内研究则侧重于多语言支持与本土化设计以满足不同地区用户的使用习惯。第三数据安全与隐私保护方面国外研究普遍采用OAuth2.0、JWT以及TLS加密传输并结合GDPR等法规提出合规框架国内学者在此基础上加入了基于区块链的不可篡改日志记录机制以增强数据完整性与审计可追溯性。在技术实现层面国外研究多采用微服务架构与容器化部署以提升系统弹性与可维护性国内学者则倾向于将SpringBoot与Vue等主流框架结合利用其成熟生态实现快速迭代。数据分析方面国外研究强调使用大数据平台如Spark、Flink进行实时流式处理并通过机器学习模型对问卷结果进行情感分析与预测国内研究则侧重于将统计学方法与可视化技术相结合提供交互式报表与自定义指标计算。与此同时国外学者在多租户架构设计上已取得显著进展能够在同一平台上为不同组织提供隔离的数据存储与权限管理国内研究则更多关注跨部门协作与数据共享机制的实现以满足政府、企业与科研机构的多元需求。总体而言国内外研究在功能实现、用户体验、数据安全以及技术架构等方面均已形成较为成熟的理论体系与实践经验。然而针对大规模并发访问、高可用性保障以及云原生部署的综合解决方案仍缺乏系统化的研究此外在数据分析层面将深度学习模型与传统统计方法相融合以实现更精准的预测与洞察也是当前研究热点之一。通过对比国内外现有工作本研究将基于SpringBoot与Vue构建的在线问卷平台聚焦于前后端分离、微服务化部署、实时数据可视化以及多维度统计分析等关键技术并在此基础上提出一套完整的安全合规与性能优化框架以期填补现有研究空白并推动行业技术进步。四、预期达到目标及解决的关键问题预期目标主要体现在系统功能、性能与安全三大维度。首先在功能层面本研究旨在实现一个支持多模态问卷设计的在线平台能够满足文本、图片、音频以及视频等多种题型的灵活配置其次在数据分析层面计划构建一套实时统计与可视化模块能够对收集到的数据进行即时汇总、趋势预测与情感分析并以交互式图表形式呈现给用户再次在系统架构层面目标是实现前后端分离的微服务化部署支持容器化与弹性伸缩以满足大规模并发访问的需求最后在安全与合规层面本研究将采用OAuth2.0身份认证、JWT令牌管理以及TLS加密传输并结合基于区块链的不可篡改日志机制确保数据完整性与可审计性从而满足GDPR等国际隐私法规的要求。在实现上述目标过程中将面临若干关键技术问题。首先问卷设计器的交互体验需要兼顾非技术用户与专业人员的需求这要求前端框架必须支持可视化拖拽、实时预览以及动态逻辑配置而后端则需提供高效的模板解析与存储机制其次实时数据分析模块需要在保证低延迟的同时处理海量并发请求这涉及到流式计算引擎的选型、缓存策略以及分布式事务管理再次系统的弹性伸缩与高可用性需要在容器化环境中实现自动化部署与滚动升级同时保持数据一致性和服务连通性最后安全合规方面需解决多租户隔离、细粒度权限控制以及数据脱敏与加密存储等技术难题以防止信息泄露与非法访问。为了解决上述关键问题本研究计划采用SpringBoot作为后端核心框架利用其成熟的微服务生态实现业务模块化前端则采用Vue.js构建响应式问卷编辑器并通过Element Plus提供丰富的UI组件数据层面将结合MySQL与Redis实现关系型与缓存存储并在必要时引入Elasticsearch进行全文检索与日志分析实时计算则考虑使用Apache Flink或Spark Streaming以满足低延迟与高吞吐的需求安全层面将通过Spring Security实现OAuth2.0授权JWT用于无状态身份验证并在数据层使用AES-256加密存储敏感字段区块链日志则采用Hyperledger Fabric实现不可篡改的审计记录。此外本研究还将关注系统的可维护性与扩展性。通过采用统一的接口规范与服务治理框架如Spring Cloud Gateway与Eureka实现跨团队协作与模块解耦利用Docker Compose或Kubernetes进行容器编排支持灰度发布与自动回滚同时借助Prometheus与Grafana监控系统性能指标及时发现并解决瓶颈。通过上述技术路线本研究期望构建一套功能完整、性能可靠、易于维护且符合国际隐私法规的在线问卷调查与数据分析平台为学术研究与企业应用提供有力支撑。五、研究内容本研究围绕构建一套基于SpringBoot与Vue的在线问卷调查与数据分析平台展开整体研究内容可划分为需求分析、系统设计、关键技术实现、实验验证与性能评估五大模块。首先在需求分析阶段本文通过文献综述与行业调研梳理出用户对问卷设计灵活性、数据采集效率、实时统计可视化以及安全合规性的核心诉求并将其转化为功能需求规范与非功能需求约束。随后在系统设计阶段采用前后端分离的微服务架构定义了四大业务域问卷管理域、用户与权限域、响应采集域以及数据分析与可视化域每个业务域内部进一步拆分为若干子服务并通过RESTful API进行交互。系统总体采用SpringBoot作为后端基础框架利用Spring Cloud实现服务治理与配置中心前端则基于Vue3与Composition API构建响应式问卷编辑器和仪表盘数据库层面采用MySQL存储结构化数据Redis缓存热点数据Elasticsearch支持全文检索与日志分析。安全设计方面系统集成OAuth2.0授权服务器、JWT无状态认证、TLS加密传输以及基于区块链的不可篡改审计日志以满足GDPR等隐私法规。接下来在关键技术实现阶段本文重点解决了以下技术难题①可视化问卷编辑器的拖拽式组件化实现与动态逻辑配置②高并发下响应采集服务的流式处理与分布式事务管理③多租户隔离与细粒度权限控制的统一治理④实时数据分析模块采用Apache Flink实现低延迟统计与情感分析并通过Vue图表库展示交互式结果。为验证设计的可行性本文构建了完整的原型系统并在真实环境中部署于Docker容器集群利用Kubernetes实现弹性伸缩与灰度发布。实验验证阶段通过对比实验评估系统在并发请求处理、响应时间、数据完整性与用户体验等方面的性能并对安全合规性进行渗透测试与合规审计。最后在性能评估阶段本文采用Prometheus监控关键指标如CPU使用率、内存占用、请求延迟与吞吐量并通过Grafana可视化仪表盘进行实时监控同时通过用户满意度调查与A/B测试验证系统的易用性与功能完整性。综上所述本研究通过系统化的需求分析、模块化设计、关键技术攻关以及实验评估构建了一套满足学术研究与企业应用双重需求的在线问卷调查与数据分析平台为后续大规模数据采集与实时决策提供了可复制、可扩展的技术范例。六、需求分析用户需求方面首先问卷设计者需要一种直观、灵活的编辑工具以便在不依赖专业技术的前提下快速构建多样化的题型包括单选、多选、填空、评分量表以及多媒体嵌入等其次问卷管理员期望能够对问卷进行版本管理与权限控制能够为不同团队或项目分配专属编辑与发布权限并支持对历史版本进行回溯与恢复再次受访者需要在多终端桌面、移动、平板上获得一致且流畅的填写体验页面布局需自适应屏幕尺寸表单验证要及时反馈错误信息以降低填写阻力此外受访者对隐私安全亦持高度关注期望平台能够明确告知数据收集与使用目的并提供匿名或脱敏选项以符合个人信息保护法规最后数据分析人员需要能够快速获取问卷结果的统计汇总、趋势图表与深度分析报告并支持导出多种格式Excel、PDF、CSV以便后续研究或业务决策。综合上述用户需求涵盖了从设计、管理到填写以及数据利用的全链路体验强调灵活性、易用性、安全合规与高效分析。功能需求方面系统首先需提供可视化问卷编辑器支持拖拽式组件布局、属性面板配置以及条件跳转逻辑设置并能够实时预览最终表单效果其次问卷发布模块应支持多渠道分发包括生成短链、嵌入代码、邮件推送与社交媒体分享并能在后台追踪访问来源与点击率再次响应采集服务必须具备高并发处理能力采用异步消息队列或流式计算框架对数据进行实时写入同时保证事务一致性与数据完整性随后权限管理系统需实现多租户隔离、角色权限分配以及细粒度访问控制支持基于组织结构的层级授权再者数据分析与可视化模块应提供多维度统计功能包括频数分布、交叉表、时间序列趋势以及情感分析并通过交互式图表柱状图、折线图、热力图展示结果此外报告生成器需支持自定义模板与批量导出兼容Excel、PDF及CSV格式最后安全与合规组件必须实现OAuth2.0授权、JWT令牌管理、TLS加密传输以及基于区块链的审计日志记录以满足GDPR等国际隐私法规的要求。上述功能需求构成了系统的核心能力框架旨在满足用户在问卷设计、数据采集与结果分析全过程中的多样化需求。七、可行性分析经济可行性方面本研究所采用的技术栈主要为SpringBoot、Vue以及开源数据库MySQL、Redis与Elasticsearch这些组件均为成熟且免费或低成本的开源软件能够显著降低软件采购与许可费用。系统部署在Docker容器化环境中利用Kubernetes实现弹性伸缩可根据业务负载动态调整资源占用从而在峰值期间通过按需付费的云服务获得成本效益最大化而在低峰期则可通过预留实例或本地服务器降低运营支出。相较于传统单体式问卷系统微服务化架构使得功能模块可独立升级与维护减少了整体维护成本与停机时间。项目初期的开发投入主要集中在前后端交互、权限治理与安全审计等关键模块的实现上预计可在六个月内完成原型系统并上线测试后续通过持续集成与持续部署实现快速迭代。综合来看系统的硬件、软件及运维成本均处于可控范围内并且具备良好的扩展性与成本回收周期。社会可行性方面该平台能够满足学术研究机构、企业市场调研部门以及政府公共服务部门对高效、精准数据采集与分析的需求从而提升决策质量与社会治理水平。平台支持多语言与多媒体题型能够覆盖不同文化背景与信息获取方式的受访者降低了问卷设计与投放的门槛同时通过提供匿名填写选项和数据脱敏功能保障了个人隐私权利符合国内外数据保护法规的要求。平台所产生的大量结构化与非结构化数据可为社会科学研究、公共政策评估以及商业情报分析提供丰富素材促进跨学科合作与创新。进一步而言系统的可视化分析模块使非技术人员能够直观理解调查结果从而提升公众对数据驱动决策的认知与接受度。综上所述该平台在满足社会多元需求、提升公共服务效率以及推动数据治理方面具备显著的社会价值。技术可行性方面前后端分离与微服务化架构已在众多互联网项目中得到验证SpringBoot与Vue的组合能够快速实现高质量的业务逻辑与用户界面利用Spring Security实现OAuth2.0授权、JWT令牌以及TLS加密传输可满足现代网络安全标准区块链审计日志模块通过Hyperledger Fabric等开源框架实现数据不可篡改进一步增强系统可信度。数据采集与实时分析方面采用Apache Flink或Spark Streaming能够在毫秒级完成流式统计与情感分析并通过Redis缓存热点数据降低数据库压力Elasticsearch提供高效的全文检索与日志聚合能力支持快速定位问题。系统的弹性伸缩与容器化部署保证了在大规模并发访问下仍能保持低延迟与高可用性。针对多租户隔离与细粒度权限控制可通过Spring Cloud Gateway、Eureka以及Nacos实现统一治理确保不同组织的数据安全与资源独立。技术选型均基于成熟的开源生态具备丰富的社区支持与文档资源降低了研发风险。综合而言该平台在技术实现上具有可行性与可扩展性可满足复杂业务场景下的性能与安全需求。八、功能分析系统功能模块划分为七大核心域分别为用户与权限管理、问卷设计与编辑、问卷发布与投放、响应采集与存储、数据分析与可视化、报告生成与导出以及安全审计与日志。每个域内部又细化为若干子模块以实现从需求捕获到结果输出的完整闭环。用户与权限管理域负责系统身份认证、角色授权及多租户隔离。该域包含登录/注册子模块支持OAuth2.0授权服务器与JWT令牌生成角色管理子模块实现基于RBAC的权限分配组织管理子模块支持企业或机构层级结构的创建与维护个人信息管理子模块提供用户资料编辑、密码重置及安全设置。问卷设计与编辑域为非技术用户提供可视化拖拽式问卷构建工具。该域包括题型库子模块支持单选、多选、填空、评分量表、图片/音频/视频嵌入等多种题型逻辑跳转子模块允许设置条件显示与分支路径表单属性子模块提供题目标题、提示文字、必填标识及验证规则配置模板管理子模块实现问卷模板的保存、复制与共享。问卷发布与投放域负责将已完成的问卷推送至目标受众。该域包含发布配置子模块支持单一链接、二维码生成、嵌入代码以及邮件/短信/社交媒体分发投放统计子模块实时跟踪访问来源、点击率与填写进度多渠道管理子模块允许对不同投放渠道设置专属参数。响应采集与存储域处理受访者提交的数据并保证数据完整性。该域包含表单解析子模块将前端提交的JSON结构映射至数据库模型缓存与异步队列子模块利用Redis缓存热点数据并通过Kafka或RabbitMQ实现异步写入事务管理子模块确保多表操作的一致性多租户隔离子模块在存储层为不同组织划分独立的数据表或Schema。数据分析与可视化域提供实时统计、趋势预测与情感分析功能。该域包括统计引擎子模块利用Apache Flink或Spark Streaming实现频数分布、交叉表、时间序列分析情感分析子模块集成预训练的文本分类模型对开放式回答进行正负面情绪标注可视化展示子模块使用ECharts或D3.js生成柱状图、折线图、热力图等交互式图表多维度筛选子模块支持按时间、地区、用户属性等维度切片。报告生成与导出域支持将分析结果以多种格式输出。该域包含模板化报告子模块允许用户自定义PDF/Word/Excel报表布局批量导出子模块实现一次性导出多份问卷结果权限控制子模块确保仅授权人员可访问敏感数据。安全审计与日志域保障系统合规与可追溯。该域包括审计日志子模块利用区块链技术记录关键操作的不可篡改账本加密存储子模块对用户敏感信息采用AES-256加密网络安全子模块实施TLS 1.3传输、WAF规则与IP白名单合规检查子模块自动扫描数据处理流程生成GDPR/个人信息保护合规报告。通过上述七大功能域的协同工作系统能够实现从问卷设计、投放、响应采集到数据分析与报告生成的完整闭环并在安全与合规方面提供充分保障。九、数据库设计字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注users.id | 用户ID | 36 | VARCHAR(36) | PK | UUID唯一标识users.username | 用户名 | 50 | VARCHAR(50) | N/Ausers.password_hash | 密码哈希值 | 255 | VARCHAR(255) | N/Ausers.email | 邮箱地址 | 100 | VARCHAR(100) | N/Ausers.phone_number | 电话号码 | 20 | VARCHAR(20) | N/Ausers.status | 用户状态激活/禁用| 10| VARCHAR(10)| N/Ausers.created_at | 创建时间 | 19| DATETIME| N/Ausers.updated_at | 更新时间 | 19| DATETIME| N/Aroles.id | 角色ID | 36 | VARCHAR(36) | PK | UUID唯一标识roles.name | 角色名称 | 50 | VARCHAR(50) | N/Aroles.description | 角色描述 | 200| TEXT| N/Aorganizations.id | 机构ID | 36 | VARCHAR(36) | PK | UUID唯一标识organizations.name | 机构名称 | 100| VARCHAR(100) | N/Aorganizations.parent_id | 父级机构ID | 36| VARCHAR(36) | FK → organizations.idorganizations.type | 机构类型公司/部门/团队| 20| VARCHAR(20)user_roles.user_id | 用户ID | 36| VARCHAR(36) | FK → users.iduser_roles.role_id | 角色ID | 36| VARCHAR(36) | FK → roles.iduser_roles.org_id | 所属机构ID | 36| VARCHAR(36) | FK → organizations.iduser_roles.created_at | 创建时间 | 19| DATETIME| N/Aquestionnaires.id | 问卷ID | 36| VARCHAR(36) | PKquestionnaires.title | 问卷标题 | 200| VARCHAR(200)questionnaires.description | 问卷描述 | 500| TEXTquestionnaires.creator_user_id | 创建者用户ID | 36| VARCHAR(36) | FK → users.idquestionnaires.status | 状态草稿/发布/归档| 10| VARCHAR(10)questionnaires.created_at | 创建时间 | 19| DATETIMEquestionnaires.updated_at | 更新时间 | 19| DATETIMEquestionnaire_versions.id | 版本ID | 36| VARCHAR(36) | PKquestionnaire_versions.questionnaire_id | 问卷ID | 36| VARCHAR(36) | FK → questionnaires.idquestionnaire_versions.version_number | 版本号1,2,3…| 10| INTquestionnaire_versions.created_at | 创建时间 | 19| DATETIMEquestions.id | 题目ID | 36| VARCHAR(36) | PKquestions.questionnaire_version_id | 问卷版本ID | 36| VARCHAR(36) | FK → questionnaire_versions.idquestions.question_text | 题目文本 | 1000| TEXTquestions.question_type | 题目类型单选/多选/填空/评分| 20| VARCHAR(20)questions.required_flag | 是否必填Y/N| 1| CHAR(1)options.id | 选项ID | 36| VARCHAR(36) | PKoptions.question_id | 所属题目ID | 36| VARCHAR(36) | FK → questions.idoptions.option_text | 选项文本 | 500| TEXToptions.option_order | 排序号 | 10| INTresponses.id | 响应ID | 36| VARCHAR(36) | PKresponses.questionnaire_version_id | 问卷版本ID | 36| VARCHAR(36) | FK → questionnaire_versions.idresponses.respondent_user_id | 回答者用户ID可空| 36| VARCHAR(36) | FK → users.idresponses.session_token | 会话令牌匿名填写| 64| VARCHAR(64)responses.submitted_at | 提交时间 | 19| DATETIMEresponse_items.id | 回答项ID | 36| VARCHAR(36) | PKresponse_items.response_id | 响应ID | 36| VARCHAR(36) | FK → responses.idresponse_items.question_id | 题目ID | 36| VARCHAR(36) | FK → questions.idresponse_items.answer_text | 回答文本填空/评分| 2000| TEXTresponse_items.option_id | 选项ID单选/多选| 36| VARCHAR(36) | FK → options.idaudit_logs.id | 审计日志ID | 36| VARCHAR(36) | PKaudit_logs.user_id | 操作用户ID可空| 36| VARCHAR(36) | FK → users.idaudit_logs.action_type | 操作类型登录/创建/更新/删除| 50| VARCHAR(50)audit_logs.action_detail | 操作详情JSON或文本| 2000| TEXTaudit_logs.timestamp | 操作时间 | 19| DATETIME说明所有ID字段采用UUID长度36时间字段使用DATETIME文本字段根据实际长度设置VARCHAR或TEXT。外键约束保证参照完整性满足第一范式与第二范式。通过将问卷、版本、题目、选项分别拆分可实现多版本管理与题目复用符合第三范式。十、建表语句CREATE TABLE users (id CHAR(36) NOT NULL,username VARCHAR(50) NOT NULL,password_hash VARCHAR(255) NOT NULL,email VARCHAR(100) NOT NULL,phone_number VARCHAR(20),status ENUM(active,disabled) DEFAULT active,created_at DATETIME DEFAULT CURRENT_TIMESTAMP,updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (id),UNIQUE KEY uq_users_username (username),UNIQUE KEY uq_users_email (email)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE roles (id CHAR(36) NOT NULL,name VARCHAR(50) NOT NULL,description TEXT,PRIMARY KEY (id),UNIQUE KEY uq_roles_name (name)) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE organizations (id CHAR(36) NOT NULL,name VARCHAR(100) NOT NULL,parent_id CHAR(36),type ENUM(company,department,team) DEFAULT team,PRIMARY KEY (id),KEY idx_org_parent (parent_id),CONSTRAINT fk_org_parent FOREIGN KEY (parent_id) REFERENCES organizations(id) ON DELETE SET NULL) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE user_roles (user_id CHAR(36) NOT NULL,role_id CHAR(36) NOT NULL,org_id CHAR(36),created_at DATETIME DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (user_id, role_id, org_id),CONSTRAINT fk_user_roles_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,CONSTRAINT fk_user_roles_role FOREIGN KEY (role_id) REFERENCES roles(id) ON DELETE CASCADE,CONSTRAINT fk_user_roles_org FOREIGN KEY (org_id) REFERENCES organizations(id) ON DELETE SET NULL) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE questionnaires (id CHAR(36) NOT NULL,title VARCHAR(200) NOT NULL,description TEXT,creator_user_id CHAR(36),status ENUM(draft,published,archived) DEFAULT draft,created_at DATETIME DEFAULT CURRENT_TIMESTAMP,updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (id),CONSTRAINT fk_questionnaires_creator FOREIGN KEY (creator_user_id) REFERENCES users(id) ON DELETE SET NULL) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE questionnaire_versions (id CHAR(36) NOT NULL,questionnaire_id CHAR(36) NOT NULL,version_number INT NOT NULL,created_at DATETIME DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (id),UNIQUE KEY uq_qv_questionnaire_version (questionnaire_id, version_number),CONSTRAINT fk_qv_questionnaire FOREIGN KEY (questionnaire_id) REFERENCES questionnaires(id) ON DELETE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE questions (id CHAR(36) NOT NULL,questionnaire_version_id CHAR(36) NOT NULL,question_text TEXT NOT NULL,question_type ENUM(single_choice,multiple_choice,text,rating) NOT NULL,required_flag ENUM(Y,N) DEFAULT N,PRIMARY KEY (id),CONSTRAINT fk_questions_qv FOREIGN KEY (questionnaire_version_id) REFERENCES questionnaire_versions(id) ON DELETE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE options (id CHAR(36) NOT NULL,question_id CHAR(36) NOT NULL,option_text TEXT NOT NULL,option_order INT DEFAULT 0,PRIMARY KEY (id),CONSTRAINT fk_options_question FOREIGN KEY (question_id) REFERENCES questions(id) ON DELETE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE responses (id CHAR(36) NOT NULL,questionnaire_version_id CHAR(36) NOT NULL,respondent_user_id CHAR(36),session_token VARCHAR(64),submitted_at DATETIME DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (id),CONSTRAINT fk_responses_qv FOREIGN KEY (questionnaire_version_id) REFERENCES questionnaire_versions(id) ON DELETE CASCADE,CONSTRAINT fk_responses_user FOREIGN KEY (respondent_user_id) REFERENCES users(id) ON DELETE SET NULL) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE response_items (id CHAR(36) NOT NULL,response_id CHAR(36) NOT NULL,question_id CHAR(36) NOT NULL,answer_text TEXT,option_id CHAR(36),PRIMARY KEY (id),CONSTRAINT fk_response_items_response FOREIGN KEY (response_id) REFERENCES responses(id) ON DELETE CASCADE,CONSTRAINT fk_response_items_question FOREIGN KEY (question_id) REFERENCES questions(id) ON DELETE CASCADE,CONSTRAINT fk_response_items_option FOREIGN KEY (option_id) REFERENCES options(id) ON DELETE SET NULL) ENGINEInnoDB DEFAULT CHARSETutf8mb4;CREATE TABLE audit_logs (id CHAR(36) NOT NULL,user_id CHAR(36),action_type VARCHAR(50) NOT NULL,action_detail TEXT,timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (id),CONSTRAINT fk_audit_user FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE SET NULL) ENGINEInnoDB DEFAULT CHARSETutf8mb4;文章下方名片联系我即可~大家点赞、收藏、关注、评论啦 、查看下方获取联系方式