葫芦生 - 数据库设计文档 v3.0《赵籁》版
《赵籁》专属设计理念 + v3.0景区架构改造
基于《赵籁-完整体验架构》全面重构的数据库设计,专门支撑赵国七百年兴衰史的沉浸式历史文化体验。v3.0版本新增景区-景点-活动解耦架构,支持多景区部署,实现"一个活动在多个景区的七个点位进行,且互不干涉"的强大功能。
1. 设计概述
1.1 《赵籁》专属设计理念
1.2 核心架构
1.3 核心改进
新增表结构
- chapters(篇章表):管理7个历史篇章的完整信息
- historical_periods(历史时期表):详细的历史分期管理
- npc_relationships(人物关系表):历史人物之间的关系网络
- chapter_experiences(篇章体验表):用户的篇章完整体验记录
v3.0 景区架构改造【新增】
- scenic_areas(景区管理表):支持多景区管理和部署
- activity_scenic_area_mapping(活动景区映射表):活动与景区多对多关系
- chapter_scenic_point_mapping(篇章景点映射表):篇章与景点精确映射
- interaction_points表扩展:升级为景点管理功能
2. 篇章管理表
2.1 chapters(篇章表)
| 字段名 | 类型 | 长度 | 说明 | 约束 | 索引 |
|---|---|---|---|---|---|
| id | BIGINT | - | 主键 | PK, AUTO_INCREMENT | PK |
| name | VARCHAR | 64 | 篇章名称 | NOT NULL | - |
| subtitle | VARCHAR | 128 | 篇章副标题 | NOT NULL | - |
| story_phase | VARCHAR | 32 | 故事阶段 | NOT NULL | INDEX |
| theme | VARCHAR | 128 | 篇章主题 | NOT NULL | - |
| story_context | TEXT | - | 故事脉络描述 | NOT NULL | - |
| prologue_text | TEXT | - | 篇章报幕文本 | NOT NULL | - |
| prologue_video_url | VARCHAR | 512 | 篇章报幕视频 | NULL | - |
| epilogue_text | TEXT | - | 篇章总结文本 | NOT NULL | - |
| historical_period_start | INT | - | 历史时期开始年份 | NOT NULL | INDEX |
| historical_period_end | INT | - | 历史时期结束年份 | NOT NULL | INDEX |
| npc_count | INT | - | 该篇章NPC数量 | NOT NULL | - |
| display_order | INT | - | 显示顺序(1-7) | NOT NULL | UK |
| status | TINYINT | - | 状态(0:禁用,1:启用) | DEFAULT 1 | INDEX |
篇章设计说明
每个篇章对应赵国兴衰史的一个重要时期,包含完整的报幕、交互、总结流程。通过历史时期的明确划分,用户可以清晰地了解赵国七百年的发展脉络。
3. 历史人物表
3.1 npcs(历史人物表 - 优化版)
| 字段名 | 类型 | 说明 | 约束 | 索引 |
|---|---|---|---|---|
| id | BIGINT | 主键 | PK, AUTO_INCREMENT | PK |
| chapter_id | BIGINT | 所属篇章 | NOT NULL | FK, INDEX |
| historical_period_id | BIGINT | 历史时期 | NOT NULL | FK, INDEX |
| name | VARCHAR(64) | 人物姓名 | NOT NULL | INDEX |
| courtesy_name | VARCHAR(64) | 字号 | NULL | - |
| title | VARCHAR(64) | 官职/爵位 | NULL | - |
| serve_lord | VARCHAR(64) | 侍奉君主 | NULL | INDEX |
| historical_contribution | TEXT | 历史贡献 | NOT NULL | - |
| impact_on_zhao | TEXT | 对赵国兴衰的影响 | NOT NULL | - |
| character_traits | VARCHAR(256) | 人物性格特点 | NULL | - |
| famous_quotes | TEXT | 名言警句 | NULL | - |
| trigger_weight | INT | 触发权重 | DEFAULT 100 | INDEX |
| status | TINYINT | 状态(0:禁用,1:启用) | DEFAULT 1 | INDEX |
篇章设计说明
每个篇章对应赵国兴衰史的一个重要时期,包含完整的报幕、交互、总结流程。通过历史时期的明确划分,用户可以清晰地了解赵国七百年的发展脉络。
4. 历史时期表
4.1 historical_periods(历史时期表)
| 字段名 | 类型 | 长度 | 说明 | 约束 | 索引 |
|---|---|---|---|---|---|
| id | BIGINT | - | 主键 | PK, AUTO_INCREMENT | PK |
| period_name | VARCHAR | 64 | 时期名称 | NOT NULL | - |
| dynasty | VARCHAR | 32 | 朝代 | NOT NULL | INDEX |
| start_year | INT | - | 开始年份 | NOT NULL | INDEX |
| end_year | INT | - | 结束年份 | NOT NULL | INDEX |
| major_events | TEXT | - | 主要历史事件 | NULL | - |
| political_situation | TEXT | - | 政治形势 | NULL | - |
| zhao_status | VARCHAR | 128 | 赵氏/赵国状态 | NOT NULL | - |
| created_at | TIMESTAMP | - | 创建时间 | DEFAULT CURRENT_TIMESTAMP | - |
4.2 历史时期数据示例
历史时期设计说明
历史时期表为整个《赵籁》体验提供了清晰的时间脉络,每个时期都对应特定的政治环境和赵国发展状态,为用户理解历史背景提供重要支撑。
5. 人物关系表
5.1 npc_relationships(人物关系表)
| 字段名 | 类型 | 长度 | 说明 | 约束 | 索引 |
|---|---|---|---|---|---|
| id | BIGINT | - | 主键 | PK, AUTO_INCREMENT | PK |
| npc_id_1 | BIGINT | - | 人物1 ID | NOT NULL | FK, INDEX |
| npc_id_2 | BIGINT | - | 人物2 ID | NOT NULL | FK, INDEX |
| relationship_type | VARCHAR | 32 | 关系类型 | NOT NULL | INDEX |
| relationship_desc | VARCHAR | 256 | 关系描述 | NOT NULL | - |
| time_period | VARCHAR | 64 | 关系存在时期 | NULL | - |
| historical_significance | TEXT | - | 历史意义 | NULL | - |
| created_at | TIMESTAMP | - | 创建时间 | DEFAULT CURRENT_TIMESTAMP | - |
5.2 关系类型定义
5.3 核心人物关系数据示例
人物关系网络价值
通过构建完整的人物关系网络,用户可以更深入地理解历史人物之间的复杂关系,感受历史的连续性和人物命运的交织,增强历史体验的真实感和教育价值。
6. 用户体验表
6.1 chapter_experiences(篇章体验表)
| 字段名 | 类型 | 说明 | 约束 | 索引 |
|---|---|---|---|---|
| id | BIGINT | 主键 | PK, AUTO_INCREMENT | PK |
| user_id | BIGINT | 用户ID | NOT NULL | FK, INDEX |
| chapter_id | BIGINT | 篇章ID | NOT NULL | FK, INDEX |
| status | TINYINT | 状态(0:未开始,1:进行中,2:已完成) | DEFAULT 0 | INDEX |
| prologue_watched | BOOLEAN | 是否观看了报幕 | DEFAULT FALSE | - |
| epilogue_watched | BOOLEAN | 是否观看了总结 | DEFAULT FALSE | - |
| completion_percentage | DECIMAL(5,2) | 完成百分比 | DEFAULT 0.00 | INDEX |
| historical_insights_gained | TEXT | 获得的历史感悟 | NULL | - |
| started_at | TIMESTAMP | 开始时间 | NULL | INDEX |
| completed_at | TIMESTAMP | 完成时间 | NULL | INDEX |
7. 数据完整性
7.1 外键约束
7.2 数据初始化脚本
7.3 性能优化索引
8. 数据迁移方案
8.1 从v2.0到v3.0的迁移步骤
迁移流程
- 创建新表结构:chapters, historical_periods, npc_relationships
- 修改现有表结构:为npcs表增加历史背景字段
- 数据迁移:将现有NPC数据按历史时期分组
- 关联关系建立:建立篇章与交互点位的关联
- 数据完整性检查:确保所有外键关系正确
8.2 迁移脚本示例
9. 监控和维护
9.1 数据质量监控
完整覆盖赵国兴衰史
涵盖各个历史时期
从西周到战国末期
构建完整关系网络
9.2 性能监控指标
9.3 数据备份策略
备份方案
- 全量备份:每日凌晨2点进行全库备份
- 增量备份:每4小时进行增量备份
- 关键表备份:用户数据表每小时备份一次
- 异地备份:备份文件同步到异地存储
11. 产品支撑度评估【v3.0升级】
11.1 《赵籁》专版功能支撑度
历史篇章管理
7个历史篇章,完整的赵国兴衰史
历史人物系统
30个历史人物,完整的人物关系网络
深度交互体验
两难抉择、人生遗憾、哲思领悟三大模块
用户成长体系
五维属性、经验积累、成就解锁
多景区部署【新增】
支持活动在多个景区独立部署运营
景区管理系统【新增】
景区-景点-活动完整管理架构
11.2 v3.0 景区架构新增功能
v2.0 单景区架构
- 固定单一景区运营
- 活动与点位直接绑定
- 扩展需要重复开发
- 数据模型局限性强
v3.0 多景区架构
- 多景区部署:同一活动可在多个景区运营
- 数据隔离:各景区数据独立,保护商业机密
- 灵活映射:M:N关系,支持个性化配置
- 全国推广:标准化部署,快速扩张能力
11.3 技术架构评分
11.4 商业价值评估【v3.0新增】
📈 市场扩张
支持全国景区快速部署,降低技术门槛,加速市场占有率提升
💰 收入模式
支持授权部署、技术支持、品牌输出等多元化商业模式
🔒 数据安全
各景区数据完全隔离,保护商业机密,增强客户信任
11. 设计总结
11.1 设计理念
🎭 历史脉络驱动
以赵国七百年兴衰史为主线,通过7个篇章的完整设计,让用户在历史的长河中感受兴衰成败的深层原因。
🤝 沉浸式交互
从篇章报幕到NPC深度交互的完整流程设计,让用户与历史人物产生真实的情感连接和思想碰撞。
📚 教育价值突出
每个数据表、每个字段都承载着历史教育功能,通过数据结构的设计传递文化价值和人生智慧。
🌱 个性化成长
基于用户选择的五维属性成长系统,让每个用户都能在历史体验中获得独特的品格塑造。
11.2 技术创新点
- 历史关系网络:通过人物关系表构建完整的历史人物关系网络
- 智能内容分发:基于用户属性和历史的个性化NPC选择算法
- 渐进式解锁:基于历史时序的内容解锁和体验引导机制
- 多维度成长:五维属性系统结合历史感悟的综合成长评估
11.3 文化价值
传承中华优秀传统文化
通过《赵籁》的数据库设计,我们不仅仅是在构建一个产品的技术架构,更是在为中华优秀传统文化的传承和弘扬搭建数字化的桥梁。每一个历史人物、每一段历史故事、每一次用户选择,都承载着深厚的文化内涵和教育价值。
11.4 更新记录
| 日期 | 版本 | 更新内容 | 更新人 |
|---|---|---|---|
| 2024-12-28 | v3.0 | 基于《赵籁》完整体验架构全面重构数据库设计,新增篇章管理、历史时期、人物关系等核心表结构 | Claude |
| 2024-12-28 | v3.1 | 补充历史时期表和人物关系表的完整数据内容,添加产品设计逻辑支撑度评估 | Claude |
7. 景区管理系统【v3.0新增】
7.1 scenic_areas(景区管理表)
| 字段名 | 类型 | 长度 | 说明 | 约束 | 索引 |
|---|---|---|---|---|---|
| id | BIGINT | - | 主键 | PK, AUTO_INCREMENT | PK |
| name | VARCHAR | 128 | 景区名称 | NOT NULL | - |
| description | TEXT | - | 景区描述 | NULL | - |
| address | VARCHAR | 256 | 景区地址 | NULL | - |
| center_lat | DECIMAL | 10,7 | 景区中心纬度 | NOT NULL | INDEX |
| center_lng | DECIMAL | 10,7 | 景区中心经度 | NOT NULL | INDEX |
| cultural_significance | TEXT | - | 文化意义 | NULL | - |
| historical_background | TEXT | - | 历史背景 | NULL | - |
| status | ENUM | - | 状态(active/inactive/maintenance) | DEFAULT 'active' | INDEX |
7.2 activity_scenic_area_mapping(活动景区映射表)
| 字段名 | 类型 | 说明 | 约束 | 索引 |
|---|---|---|---|---|
| id | BIGINT | 主键 | PK, AUTO_INCREMENT | PK |
| activity_id | BIGINT | 活动ID | NOT NULL | FK, INDEX |
| scenic_area_id | BIGINT UNSIGNED | 景区ID | NOT NULL | FK, INDEX |
| is_primary | BOOLEAN | 是否为该景区的主要活动 | DEFAULT FALSE | INDEX |
| deployment_config | JSON | 部署配置信息 | NULL | - |
| status | ENUM | 状态(active/inactive/planning) | DEFAULT 'active' | INDEX |
7.3 chapter_scenic_point_mapping(篇章景点映射表)
| 字段名 | 类型 | 说明 | 约束 | 索引 |
|---|---|---|---|---|
| chapter_id | BIGINT UNSIGNED | 篇章ID | NOT NULL | FK, INDEX |
| scenic_point_id | BIGINT | 景点ID(对应interaction_points.id) | NOT NULL | FK, INDEX |
| scenic_area_id | BIGINT UNSIGNED | 景区ID | NOT NULL | FK, INDEX |
| activity_id | BIGINT | 活动ID | NOT NULL | FK, INDEX |
| sequence_order | INT | 在该活动该景区内的顺序(1-7) | NOT NULL | INDEX |
| completion_weight | DECIMAL(5,2) | 完成权重百分比 | DEFAULT 100.00 | - |
7.4 多景区部署验证
v3.0架构优势
- 全国推广能力:支持活动在多个景区独立部署
- 独立运营管理:各景区数据隔离,管理权限分散
- 用户体验一致性:同一活动在不同景区保持体验一致
- 商业模式创新:授权部署、技术支持、品牌输出