# 旅游内容创作系统数据库

本文档介绍了旅游内容创作系统的数据库结构和使用方法。

## 数据库概述

旅游内容创作系统数据库包含以下主要表：

- **用户表(user)**: 存储系统用户信息
- **素材文件夹表(material_folder)**: 管理素材文件夹结构
- **素材表(material)**: 存储各类素材信息
- **景区表(scenicSpot)**: 存储景区相关信息
- **产品表(product)**: 存储旅游产品信息
- **内容风格表(contentStyle)**: 定义内容创作风格
- **目标人群表(targetAudience)**: 定义目标受众群体
- **选题信息表(topics)**: 存储选题信息
- **关联表**: 包括选题-景区、选题-产品、选题-风格、选题-目标受众等关联表

## 初始化数据库

使用以下命令初始化数据库并插入模拟数据：

```bash
# 添加执行权限
chmod +x db/init_db.sh

# 执行初始化脚本
./db/init_db.sh
```

脚本将创建名为`travel_content`的数据库，创建所有必要的表，并插入模拟数据。

## 查询数据库

### 查看数据库信息

使用以下命令查看数据库的详细信息：

```bash
# 添加执行权限
chmod +x db/show_db_info.sh

# 执行查询脚本
./db/show_db_info.sh
```

此脚本将显示数据库中的所有表和主要数据。

## 数据库模拟数据

初始化脚本已插入以下模拟数据：

- **用户**: 3个用户（管理员、张三、李四）
- **景区**: 4个景区（黄山风景区、张家界国家森林公园、九寨沟风景区、丽江古城）
- **产品**: 4个产品（黄山亲子三日游、张家界避暑五日游、九寨沟摄影六日游、云南民族文化七日游）
- **内容风格**: 6种风格（攻略风、清新文艺风、幽默诙谐风、专业严谨风、情感共鸣风、极力推荐风）
- **目标受众**: 6种受众（年轻情侣、家庭亲子、中老年群体、商务人士、学生群体、高净值人群）
- **选题**: 4个选题（五一黄山亲子游攻略、张家界夏季避暑游、九寨沟秋色摄影指南、云南民族文化探秘之旅）
- **素材文件夹**: 5个文件夹
- **素材**: 5个素材（图片、视频、文档）

## 数据库结构

数据库表之间的关系如下：

1. 用户(user) 1:N 素材文件夹(material_folder)
2. 用户(user) 1:N 素材(material)
3. 素材文件夹(material_folder) 1:N 素材(material)
4. 用户(user) 1:N 景区(scenicSpot)
5. 用户(user) 1:N 产品(product)
6. 用户(user) 1:N 选题(topics)
7. 选题(topics) N:M 景区(scenicSpot) 通过 topicScenic 关联
8. 选题(topics) N:M 产品(product) 通过 topicProduct 关联
9. 选题(topics) N:M 内容风格(contentStyle) 通过 topicStyle 关联
10. 选题(topics) N:M 目标受众(targetAudience) 通过 topicAudience 关联

## 模拟数据特点

根据resource/prompt目录中的信息，模拟数据具有以下特点：

1. **内容风格**：包含攻略风、清新文艺风等多种风格，参考了resource/prompt/Style目录中的风格提示词
2. **目标受众**：根据resource/prompt/Demand目录中的用户画像，细化了各类受众群体的特征
3. **选题标题**：添加了emoji表情，使标题更有网感和吸引力
4. **产品描述**：更加详细，突出产品特色和目标受众需求
5. **时间节点**：参考了resource/prompt/Refer/2025各月节日宣传节点时间表.md，使用2025年的时间节点

## 密码信息

所有模拟用户的密码均为: `123456`（MD5加密后存储） 