基于LLM的旅游行程智能规划系统毕业设计源码(源码+lw+部署文档+讲解等)

发布时间:2026/10/18 22:25:09
基于LLM的旅游行程智能规划系统毕业设计源码(源码+lw+部署文档+讲解等)
博主介绍✌ 专注于VUE,小程序安卓Java,python,物联网专业 从事毕业指导项目实战✌选取一个适合的毕业设计题目很重要。✌关注✌私信我✌具体的问题我会尽力帮助你。一、研究目的本研究旨在构建一种基于大型语言模型的旅游行程智能规划系统以实现对用户个性化需求的深度理解与动态响应。通过融合多源数据包括实时天气预报、景点门票信息、交通状况及社交媒体热点本系统能够在规划阶段自动生成符合用户兴趣、预算与时间约束的最优行程方案。研究的核心目标是突破传统规则引擎与静态推荐方法的局限使规划过程具备语义推理与上下文适应能力从而在面对多变环境时保持高效且可解释的决策路径。为实现此目标本文将首先对现有旅游规划系统进行系统性评估识别其在数据整合、用户画像构建与实时反馈方面的不足。随后基于Transformer架构的语言模型将被微调以捕捉用户历史行为与偏好之间的隐含关联并通过多模态融合技术将文本、图像及位置数据统一映射至语义空间。系统设计中将引入强化学习框架使规划策略能够在交互过程中持续优化兼顾短期满意度与长期价值。实验部分计划在真实旅游平台上进行A/B测试评估系统在行程质量、用户满意度与运营成本方面的提升幅度并通过可解释性分析验证模型决策的透明度。最终本研究期望为旅游行业提供一种可扩展、可持续且高度个性化的智能规划解决方案推动从静态推荐向动态交互式服务的转型。除此之外研究还将探讨模型在多语言环境下的适用性并通过跨文化用户实验验证其普适性。未来工作将考虑与智能硬件的协同以实现随时随地的行程调整与推送服务。二、研究意义本研究的意义主要体现在对旅游行业数字化转型的推动、对人工智能技术在高维决策领域应用的拓展以及对用户体验与服务质量提升的深远影响。首先随着移动互联网与大数据技术的快速发展传统旅游规划模式已难以满足日益多元化且即时化的用户需求本研究通过引入大型语言模型实现对海量文本、图像及时序信息的统一语义表征从而在规划阶段实现对用户兴趣、预算与时间约束的精准匹配显著提升规划效率与准确性。其次本文在多模态融合与强化学习框架下构建的动态规划系统为人工智能在高维决策问题中的应用提供了新的范式展示了语言模型在跨领域知识迁移、语义推理及可解释性方面的潜力可为后续研究提供可复制的技术路径。再次系统所实现的个性化与实时响应功能将极大改善游客体验降低信息获取成本提高旅游满意度与忠诚度为旅游企业创造新的商业价值并有助于实现资源优化配置、环境负荷减轻等可持续发展目标。最后本研究在数据隐私保护与算法公平性方面的探索也为相关政策制定与行业规范提供了技术依据具有重要的社会责任与伦理意义。三、国内外研究现状国内外学术界对旅游行程规划的研究已形成多条主线涵盖规则引擎、协同过滤、知识图谱、深度学习以及强化学习等技术路径。早期研究主要集中于基于专家系统与手工规则的规划方法利用静态数据库存储景点信息与用户偏好通过匹配算法生成固定行程此类方法在可解释性上具有优势但缺乏对动态环境的适应能力。随后协同过滤技术被引入旅游推荐领域借助用户历史行为数据挖掘相似性从而实现个性化建议然而此类模型对冷启动问题敏感且难以处理多约束的行程规划需求。随着知识图谱技术的成熟研究者开始构建景点属性、交通网络及时间约束等多维度知识图谱并通过图神经网络提取语义关系以提升推荐质量国内高校在此方向上已取得若干论文成果证明知识图谱能显著提升景点匹配准确率。与此同时深度学习模型的引入为行程规划提供了更强的特征学习能力尤其是序列模型如LSTM与Transformer被用于捕捉用户偏好与时间序列信息国际上多篇论文已展示基于Transformer的行程生成模型在多约束优化中的潜力。近年来强化学习成为行程规划研究的新热点研究者通过将规划过程视为马尔可夫决策过程在奖励函数中嵌入用户满意度、成本与时间等多维度指标实现动态决策国内外多项工作已验证强化学习在行程优化中的有效性。与此同时随着大型语言模型的快速发展学术界开始探索将LLM用于旅游文本理解与生成以实现更自然的交互和更丰富的语义推理国外实验表明微调后的LLM能够从用户对话中提取兴趣点并结合外部知识库生成可执行的行程计划。国内在此领域尚处于起步阶段主要集中在模型微调与多模态融合的探索尚缺乏系统化的跨模态规划框架。综上所述当前研究主要围绕知识图谱、深度序列建模与强化学习展开并逐步向LLM驱动的语义化规划迈进国内外在技术手段与应用场景上已形成互补但仍存在模型可解释性、实时性与多源数据融合等挑战。四、预期达到目标及解决的关键问题本研究的预期目标主要聚焦于构建一套完整、可扩展且具备高可解释性的旅游行程智能规划系统具体包括首先实现基于大型语言模型的多模态语义理解与生成使系统能够在对话交互中准确捕捉用户兴趣、预算与时间约束并自动生成可执行的行程方案其次通过知识图谱与图神经网络实现景点属性、交通网络及时间约束等多维度信息的统一表征从而支持多目标优化与动态调整再次引入强化学习框架使规划策略能够在交互过程中持续自我改进并在实时约束下保持高质量决策最后通过可解释性模块将模型决策过程可视化为用户提供透明、可追溯的规划依据。为实现上述目标研究将围绕数据融合、模型微调、算法优化与系统部署四大技术环节展开工作。预期系统能够在真实旅游平台上完成A/B测试显著提升行程满意度与用户留存率并在多语言、多文化环境下保持一致的规划质量。关键问题主要包括一是多源数据的异构性与实时性挑战如何在保证信息完整性的前提下实现高效同步二是大型语言模型在旅游领域的专业化程度不足需设计高效微调策略以兼顾语义准确性与推理速度三是强化学习奖励函数的设计问题如何将用户满意度、成本节约与时间利用率等多维指标统一量化四是模型可解释性的实现难点需在保持性能的同时提供可追溯的决策依据五是数据隐私与安全问题尤其在收集用户行为与偏好时必须遵守相关法规并实现差分隐私保护六是系统部署与弹性伸缩问题如何在云端或边缘计算环境下实现低延迟、高可用的服务。针对上述关键问题本研究将提出创新性的解决方案并通过实验验证其有效性为旅游行业数字化转型提供可复制、可推广的技术路径。五、研究内容本研究旨在构建一套基于大型语言模型的旅游行程智能规划系统其整体研究内容可分为数据准备、知识图谱构建、模型开发与融合、规划算法设计、可解释性与评估四大模块。首先在数据准备阶段将收集来自旅游网站、社交媒体、天气预报平台以及交通运营商的结构化与非结构化信息通过爬虫技术获取实时景点门票价格、开放时间以及用户评论利用API接口同步交通时刻表与路况数据并对文本数据进行分词、实体识别与情感分析以构成多源异构数据集。其次知识图谱构建模块将对上述数据进行统一语义标注采用RDF三元组表示景点属性、交通节点及时间约束通过实体消歧与关系抽取技术将景点与其所在城市、类别、评价分数等信息关联随后利用图神经网络对知识图谱进行嵌入学习以获得高维语义向量为后续的推荐与规划提供统一特征空间。第三模型开发与融合阶段将重点在大型语言模型的微调与多模态融合上针对旅游领域的专业术语与场景将采用自监督预训练任务对Transformer进行微调随后将文本向量、图嵌入向量以及图像特征通过注意力机制融合形成复合语义表示该表示将作为规划算法的输入确保模型能够捕捉用户偏好与环境约束的细粒度信息。第四规划算法设计模块将把行程生成视为马尔可夫决策过程在状态空间中包含用户预算、时间窗口、景点属性与交通节点行动空间则为选择下一景点或停留时间的决策奖励函数将综合用户满意度预测值、成本节约指标与时间利用率采用深度强化学习方法如PPO或DQN进行策略优化在训练过程中将利用知识图谱提供的约束信息确保生成的行程可执行且符合实际交通与景点开放情况。第五可解释性与评估模块将通过注意力可视化、规则提取以及因果推理技术为用户展示规划过程中的关键决策依据同时设计多维度评估指标包括行程质量得分、用户满意度调查、系统响应时间与资源占用率等通过在真实旅游平台上进行A/B测试与离线仿真对比传统规则引擎与协同过滤方法验证本系统在规划准确性、实时性与可解释性方面的优势。综上所述本研究通过多源数据融合、知识图谱构建、LLM微调与强化学习相结合的技术路线致力于实现一套既能提供高度个性化又具备实时动态调整能力的旅游行程智能规划系统为旅游行业数字化转型提供可落地的技术方案。六、需求分析用户需求方面旅游者在行程规划过程中普遍渴望获得高度个性化的推荐服务既要满足其兴趣爱好与预算限制又要兼顾时间安排与旅行安全他们期望系统能够通过自然语言交互快速捕捉偏好并在对话中即时给出可执行的行程方案此外用户还需要系统具备实时更新功能以应对天气变化、景点临时关闭或交通拥堵等突发事件从而保障行程的顺利进行在多设备使用场景下用户期望能够在手机、平板与电脑之间无缝切换且数据同步保持一致最后鉴于个人信息与行程细节的敏感性用户对数据隐私与安全保护提出了严格要求希望系统能够在不泄露个人偏好与位置的前提下完成推荐。功能需求方面系统首先必须实现多源异构数据的高效集成包括景点信息、门票价格、交通时刻表、实时天气预报以及社交媒体热度等其次需要构建基于大型语言模型的对话接口使用户能够通过自然语言描述需求并获得即时反馈第三推荐引擎应采用知识图谱与图神经网络相结合的技术对景点属性与用户偏好进行语义匹配并在满足预算、时间与兴趣约束的前提下生成多条可选行程第四规划算法需支持动态重排功能在接收到实时环境信息后能够自动调整行程顺序或替换景点以最大化用户满意度与资源利用率第五系统应提供可视化的行程展示包括地图路线、时间轴与成本明细并配备解释性模块让用户了解每个决策背后的逻辑最后为满足性能与可扩展性要求系统需支持云端弹性伸缩、低延迟响应以及多语言多文化环境下的本地化适配。七、可行性分析经济可行性方面本系统的主要投入包括数据采集与清洗、模型训练与微调、云端计算资源以及后期运营维护费用其中公开旅游数据与天气预报接口均可通过合作协议或API订阅获取成本相对可控大型语言模型的训练与微调虽需GPU集群但可采用分布式训练框架并利用现有云服务的按需计费模式降低资本支出系统上线后通过精准行程推荐提升用户转化率与平均消费可在短期内实现成本回收此外平台可通过增值服务如个性化旅游套餐、广告投放与数据分析报告等多元化收入渠道进一步提升经济效益。社会可行性方面随着移动互联网普及与旅游消费升级用户对智能化、个性化服务的需求日益增长本系统正好契合这一趋势同时系统将严格遵守个人信息保护法规通过差分隐私与加密技术保障用户数据安全提升社会信任度在行业层面该系统可为旅行社与景区提供客流预测与营销决策支持促进旅游产业链的数字化转型与就业结构优化然而系统推广过程中需注意文化差异与本地化需求避免因算法偏见导致服务不公平。技术可行性方面近年来大型语言模型已在多语言文本理解与生成任务中展现出卓越性能可通过迁移学习快速适配旅游领域语料知识图谱构建技术成熟图神经网络能够有效捕捉景点属性与用户偏好之间的隐含关系实时数据集成可借助流式处理框架实现低延迟更新强化学习规划算法已在类似推荐场景中得到验证可在本系统中实现动态决策综上所述技术层面具备充分的成熟度与可扩展性为项目落地提供坚实基础。八、功能分析系统功能模块可划分为七大核心子系统分别为数据采集与预处理子系统、用户画像与偏好管理子系统、对话交互与LLM推理子系统、知识图谱构建与语义融合子系统、行程推荐与规划优化子系统、实时动态调整与信息更新子系统以及可视化展示与解释性输出子系统。数据采集与预处理子系统负责从旅游网站、景区门票平台、交通运营商及天气预报服务等多源渠道抓取原始信息并通过清洗、标准化与实体抽取将文本、结构化表格与时序数据统一转换为可供后续处理的格式该子系统还需实现对用户行为日志的收集与匿名化处理以支持后续画像构建。用户画像与偏好管理子系统以多维度特征向量描述每位用户包括兴趣标签、预算范围、旅行时长、历史行程记录及社交媒体关注点等该子系统通过在线学习机制不断更新画像并将其存储于高性能键值数据库中以供对话交互与推荐引擎即时调用。对话交互与LLM推理子系统采用微调后的Transformer模型支持自然语言理解与生成在用户发起规划请求时模型解析意图、抽取约束条件并将结果映射为结构化查询语句同时该子系统提供多轮对话管理能力允许用户逐步细化需求。知识图谱构建与语义融合子系统将从数据采集层得到的实体与关系构建成统一的RDF图谱随后利用图神经网络生成景点、交通节点与时间约束等实体的嵌入表示该子系统还实现跨模态注意力机制将文本向量、图嵌入向量与图像特征融合形成复合语义表示为推荐引擎提供统一特征空间。行程推荐与规划优化子系统以强化学习框架为核心将用户画像与语义表示作为状态输入行动空间为景点选择与停留时间安排奖励函数综合用户满意度预测、成本节约与时间利用率等指标该子系统通过离线训练得到策略网络并在在线环境中进行微调以实现高质量的行程方案生成。实时动态调整与信息更新子系统负责监控外部环境变化如天气预报、交通拥堵、景区门票变动等当检测到影响行程的事件时系统自动触发规划优化子系统重新评估并生成替代方案同时该子系统通过推送机制将更新结果实时同步至用户端。可视化展示与解释性输出子系统将最终行程以地图路线、时间轴与成本明细的形式呈现给用户其解释模块通过注意力热图、规则提取或因果推理技术向用户展示每个决策背后的逻辑依据提升系统透明度。上述七大子系统在统一的服务治理框架下协同工作形成完整的旅游行程智能规划闭环。九、数据库设计字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注---|---|---|---|---|---user_id | 用户唯一标识符 | 20 | VARCHAR | 主键 (PK) |username | 登录用户名 | 50 | VARCHAR | |email | 邮箱地址 | 100 | VARCHAR | |hashed_password | 加密后密码存储字段 | 255 | VARCHAR | |created_at | 账户创建时间戳 | -| DATETIME| |表: user_profiles字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注---|---|---|---|---|---profile_id | 个人资料唯一标识符 | 20 | VARCHAR | 主键 (PK) |user_id | 所属用户标识符 | 20 | VARCHAR | 外键 (FK) 指向 users.user_id |name | 用户真实姓名或昵称 | 50 | VARCHAR | |age | 年龄可空| 3| INT| |gender | 性别M/F/Other| 10| VARCHAR| |表: user_preferences字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注---|---|---|---|---|---pref_id | 偏好记录唯一标识符 | 20 | VARCHAR | 主键 (PK) |user_id | 所属用户标识符 | 20 | VARCHAR | 外键 (FK) 指向 users.user_id |budget_min | 最低预算元| 10| DECIMAL(10,2)| |budget_max | 最高预算元| 10| DECIMAL(10,2)| |duration_min | 最短行程天数 | 3 | INT | |duration_max | 最长行程天数 | 3 | INT | |preferred_language | 首选语言代码如 zh-CN| 10| VARCHAR| |表: interests字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注---|---|---|---|---|---interest_id | 兴趣标签唯一标识符 | 20 | VARCHAR | 主键 (PK) |name | 兴趣名称如 美食、徒步| 50 | VARCHAR| |表: user_interest_map字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注---|---|---|---|---|---user_id | 用户标识符 | 20 | VARCHAR | 外键 (FK) 指向 users.user_id |interest_id | 兴趣标识符 | 20 | VARCHAR | 外键 (FK) 指向 interests.interest_id |PRIMARY KEY (user_id, interest_id) | 复合主键 |表: trips字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注---|---|---|---|---|---trip_id | 行程唯一标识符 | 20 | VARCHAR | 主键 (PK) |user_id | 所属用户标识符 | 20 | VARCHAR | 外键 (FK) 指向 users.user_id |title | 行程标题如 “北京三日游”| 100| VARCHAR| |start_date | 开始日期 | -| DATE| |end_date | 结束日期 | -| DATE| |status | 行程状态draft, active, completed| 20 | VARCHAR|表: trip_items字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注---|---|---|---|---|---item_id | 行程项唯一标识符 | 20 | VARCHAR | 主键 (PK) |trip_id | 所属行程标识符 | 20 | VARCHAR | 外键 (FK) 指向 trips.trip_id |attraction_id | 景点标识符 | 20 | VARCHAR | 外键 (FK) 指向 attractions.attraction_id |sequence_order | 顺序编号从1开始| 3| INT| |arrival_time | 到达时间戳 | -| DATETIME| |departure_time | 离开时间戳 | -| DATETIME| |stay_duration_minutes | 停留时长分钟| 5 | INT|表: attractions字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注---|---|---|---|---|---attraction_id | 景点唯一标识符 | 20 | VARCHAR | 主键 (PK) |name | 景点名称如 故宫| 100| VARCHAR|category_id | 分类标识符 | 20 | VARCHAR | 外键 (FK) 指向 attraction_categories.category_id |description | 景点简介可空| -| TEXT|address | 地址可空| 200| VARCHAR|latitude | 纬度精确到小数点后6位| 10| DECIMAL(9,6)|longitude | 经度精确到小数点后6位| 10| DECIMAL(9,6)|表: attraction_categories字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注---|---|---|---|---|---category_id | 分类唯一标识符 | 20 | VARCHAR | 主键 (PK) |name | 分类名称如 博物馆、自然风光| 50| VARCHAR|表: transportation_routes字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注---|---|---|---|---|---route_id | 路线唯一标识符 | 20 | VARCHAR | 主键 (PK) |origin_attraction_id | 起点景点标识符 | 20 | VARCHAR | 外键 (FK) 指向 attractions.attraction_id |destination_attraction_id | 终点景点标识符 | 20 | VARCHAR | 外键 (FK) 指向 attractions.attraction_id |travel_mode | 交通方式bus, train, walk, taxi| 10| VARCHAR|estimated_time_minutes | 估算行驶时长分钟| 5| INT|表: tickets字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注---|---|---|---|---|---ticket_id | 门票唯一标识符 | 20 | VARCHAR | 主键 (PK) |attraction_id | 所属景点标识符 | 20 | VARCHAR | 外键 (FK) 指向 attractions.attraction_id |price | 门票价格元| 10| DECIMAL(10,2)|availability_date | 可售日期可空| -| DATE|ticket_type | 票种普通、学生、团体| 20| VARCHAR|表: weather_forecast字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注---|---|---|---|---|---forecast_id | 天气预报唯一标识符 | 20 | VARCHAR | 主键 (PK) |location_city | 城市名称如 北京| 50| VARCHAR|forecast_date | 预报日期 | -| DATE|condition_description | 天气描述如 晴朗| 100| VARCHAR|temperature_min_celsius | 最低温度摄氏度| 5| DECIMAL(5,1)|temperature_max_celsius | 最高温度摄氏度| 5| DECIMAL(5,1)|表: reviews字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注---|---|---|---|---|---review_id | 评论唯一标识符 | 20 | VARCHAR | 主键 (PK) |attraction_id | 所属景点标识符 | 20 | VARCHAR | 外键 (FK) 指向 attractions.attraction_id |user_id | 评论者用户标识符 | 20 | VARCHAR | 外键 (FK) 指向 users.user_id |rating | 评分1-5| 1| INT|comment | 评论内容可空| -| TEXT|created_at | 评论时间戳 | -| DATETIME|表: llm_config字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注---|---|---|---|---|---config_id | 配置唯一标识符 | 20 | VARCHAR | 主键 (PK) |model_name | 模型名称如 GPT-4| 50| VARCHAR|temperature_setting | 温度参数值0-1| 5| DECIMAL(3,2)|max_tokens_limit | 最大 token 限制 | 5| INT|updated_at | 最后更新时间戳 | -| DATETIME|以上表结构遵循第一范式与第二范式避免冗余通过外键实现表间完整性约束字段类型与长度根据业务需求与存储效率进行合理设置。十、建表语句CREATE DATABASE IF NOT EXISTS travel_planner CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;USE travel_planner;-- 1. 用户基本信息表CREATE TABLE IF NOT EXISTS users (user_id VARCHAR(20) NOT NULL,username VARCHAR(50) NOT NULL,email VARCHAR(100) NOT NULL UNIQUE,hashed_password VARCHAR(255) NOT NULL,created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (user_id)) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci;-- 2. 用户个人资料表CREATE TABLE IF NOT EXISTS user_profiles (profile_id VARCHAR(20) NOT NULL,user_id VARCHAR(20) NOT NULL,name VARCHAR(50),age INT,gender VARCHAR(10),PRIMARY KEY (profile_id),CONSTRAINT fk_user_profiles_userFOREIGN KEY (user_id) REFERENCES users(user_id)ON UPDATE CASCADE ON DELETE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci;-- 3. 用户偏好表CREATE TABLE IF NOT EXISTS user_preferences (pref_id VARCHAR(20) NOT NULL,user_id VARCHAR(20) NOT NULL,budget_min DECIMAL(10,2),budget_max DECIMAL(10,2),duration_min INT,duration_max INT,preferred_language VARCHAR(10),PRIMARY KEY (pref_id),CONSTRAINT fk_user_preferences_userFOREIGN KEY (user_id) REFERENCES users(user_id)ON UPDATE CASCADE ON DELETE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci;-- 4. 兴趣标签表CREATE TABLE IF NOT EXISTS interests (interest_id VARCHAR(20) NOT NULL,name VARCHAR(50) NOT NULL,PRIMARY KEY (interest_id)) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci;-- 5. 用户兴趣映射表CREATE TABLE IF NOT EXISTS user_interest_map (user_id VARCHAR(20) NOT NULL,interest_id VARCHAR(20) NOT NULL,PRIMARY KEY (user_id, interest_id),CONSTRAINT fk_user_interest_userFOREIGN KEY (user_id) REFERENCES users(user_id)ON UPDATE CASCADE ON DELETE CASCADE,CONSTRAINT fk_user_interest_interestFOREIGN KEY (interest_id) REFERENCES interests(interest_id)ON UPDATE CASCADE ON DELETE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci;-- 6. 行程表CREATE TABLE IF NOT EXISTS trips (trip_id VARCHAR(20) NOT NULL,user_id VARCHAR(20) NOT NULL,title VARCHAR(100),start_date DATE,end_date DATE,status VARCHAR(20) DEFAULT draft,PRIMARY KEY (trip_id),CONSTRAINT fk_trips_userFOREIGN KEY (user_id) REFERENCES users(user_id)ON UPDATE CASCADE ON DELETE CASCADE) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci;-- 7. 行程项表CREATE TABLE IF NOT EXISTS trip_items (item_id VARCHAR(20) NOT NULL,trip_id VARCHAR(20) NOT NULL,attraction_id VARCHAR(20) NOT NULL,sequence_order INT NOT NULL,arrival_time DATETIME,departure_time DATETIME,stay_duration_minutes INT,PRIMARY KEY (item_id),CONSTRAINT fk_trip_items_tripFOREIGN KEY (trip_id) REFERENCES trips(trip_id)ON UPDATE CASCADE ON DELETE CASCADE,CONSTRAINT fk_trip_items_attractionFOREIGN KEY (attraction_id) REFERENCES attractions(attraction_id)ON UPDATE CASCADE ON DELETE CASCADE,INDEX idx_trip_items_sequence (trip_id, sequence_order)) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci;-- 8. 景点表CREATE TABLE IF NOT EXISTS attractions (attraction_id VARCHAR(20) NOT NULL,name VARCHAR(100) NOT NULL,category_id VARCHAR(20),description TEXT,address VARCHAR(200),latitude DECIMAL(9,6),longitude DECIMAL(9,6),PRIMARY KEY (attraction_id),CONSTRAINT fk_attractions_categoryFOREIGN KEY (category_id) REFERENCES attraction_categories(category_id)ON UPDATE CASCADE ON DELETE SET NULL,INDEX idx_attractions_name (name)) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci;-- 9. 景点分类表CREATE TABLE IF NOT EXISTS attraction_categories (category_id VARCHAR(20) NOT NULL,name VARCHAR(50) NOT NULL,PRIMARY KEY (category_id)) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_unicode_ci;-- 10. 交通路线表CREATE TABLE IF NOT EXISTS transportation_routes (route_id VARCHAR(20) NOT NULL,origin_attraction_id VARCHAR(20) NOT NULL,destination_attraction_id VARCHAR(20) NOT NULL,travel_mode VARCHAR(10),estimated_time_minutes INT,PRIMARY KEY (route_id),CONSTRAINT fk_route_originFOREIGN KEY (origin_attraction_id) REFERENCES attractions(attraction_id)ON UPDATE CASCADE ON DELETE CASCADE,CONSTRAINT fk_route_destinationFOREIGN KEY (destination_attraction_id) REFERENCES attractions(attraction_id)ON UPDATE CASCADE ON DELETE CASCADE,INDEX idx_route_origin_destination (origin_attraction文章下方名片联系我即可~大家点赞、收藏、关注、评论啦 、查看下方获取联系方式