# 数据库文件索引

## 📋 文件清单

### SQL脚本文件

| 文件名 | 说明 | 表数量 | 执行顺序 |
|--------|------|--------|----------|
| `sql/createDB.sql` | 创建数据库 | 0 | 1 |
| `sql/createTableUser.sql` | 用户管理模块 | 3 | 2 |
| `sql/createTablePermission.sql` | 权限管理模块 | 8 | 3 |
| `sql/createTableResource.sql` | 资源管理模块 | 8 | 4 |
| `sql/createTableCourse.sql` | 课程管理模块 | 4 | 5 |
| `sql/createTableLearning.sql` | 学习管理模块 | 6 | 6 |
| `sql/createTableUserCenter.sql` | 个人中心模块 | 6 | 7 |
| `sql/createTableAI.sql` | 智能体模块 | 6 | 8 |
| `sql/createTableSystem.sql` | 系统管理模块 | 8 | 9 |
| `sql/initAll.sql` | 一键执行所有SQL | - | - |

**总计**: 49张表

### 执行脚本

| 文件名 | 平台 | 说明 |
|--------|------|------|
| `init-database.bat` | Windows | Windows批处理脚本 |
| `init-database.sh` | Linux/Mac | Shell脚本 |

### 文档文件

| 文件名 | 说明 | 推荐阅读 |
|--------|------|----------|
| `INDEX.md` | 本文件，文件索引 | ⭐⭐⭐ |
| `使用说明.md` | 详细使用说明 | ⭐⭐⭐⭐⭐ |
| `sql/README.md` | 表结构详细说明 | ⭐⭐⭐⭐⭐ |
| `sql/表结构汇总.md` | 表结构汇总列表 | ⭐⭐⭐⭐ |
| `sql/ER关系图.md` | 表关系图 | ⭐⭐⭐⭐ |

## 📁 完整目录结构

```
.bin/mysql/
│
├── init-database.bat              # Windows初始化脚本
├── init-database.sh               # Linux/Mac初始化脚本
├── INDEX.md                       # 本文件
├── 使用说明.md                    # 使用指南
│
└── sql/                           # SQL脚本目录
    ├── createDB.sql               # [1] 创建数据库
    │
    ├── createTableUser.sql        # [2] 用户管理模块
    │   ├── tb_sys_user            #     用户表
    │   ├── tb_sys_user_info       #     用户信息表
    │   └── tb_sys_login_log       #     登录日志表
    │
    ├── createTablePermission.sql  # [3] 权限管理模块
    │   ├── tb_sys_dept            #     部门表
    │   ├── tb_sys_role            #     角色表
    │   ├── tb_sys_dept_role       #     部门-角色关联表
    │   ├── tb_sys_user_dept_role  #     用户-部门-角色关联表
    │   ├── tb_sys_permission      #     权限表
    │   ├── tb_sys_role_permission #     角色-权限关联表
    │   ├── tb_sys_menu            #     菜单表
    │   └── tb_sys_menu_permission #     菜单-权限关联表
    │
    ├── createTableResource.sql    # [4] 资源管理模块
    │   ├── tb_resource            #     资源表
    │   ├── tb_resource_category   #     资源分类表
    │   ├── tb_banner              #     Banner表
    │   ├── tb_resource_recommend  #     资源推荐表
    │   ├── tb_tag                 #     标签表
    │   ├── tb_resource_tag        #     资源-标签关联表
    │   ├── tb_data_collection_config #  数据采集配置表
    │   └── tb_data_collection_log #     数据采集记录表
    │
    ├── createTableCourse.sql      # [5] 课程管理模块
    │   ├── tb_course              #     课程表
    │   ├── tb_course_chapter      #     课程章节表
    │   ├── tb_course_tag          #     课程-标签关联表
    │   └── tb_course_dept         #     课程-部门权限表
    │
    ├── createTableLearning.sql    # [6] 学习管理模块
    │   ├── tb_learning_task       #     学习任务表
    │   ├── tb_task_resource       #     任务-资源关联表
    │   ├── tb_task_course         #     任务-课程关联表
    │   ├── tb_task_user           #     任务-用户表
    │   ├── tb_learning_record     #     学习记录表
    │   └── tb_learning_statistics #     学习统计表
    │
    ├── createTableUserCenter.sql  # [7] 个人中心模块
    │   ├── tb_user_collection     #     用户收藏表
    │   ├── tb_achievement         #     成就表
    │   ├── tb_user_achievement    #     用户-成就关联表
    │   ├── tb_user_points         #     用户积分表
    │   ├── tb_points_record       #     积分记录表
    │   └── tb_user_browse_record  #     用户浏览记录表
    │
    ├── createTableAI.sql          # [8] 智能体模块
    │   ├── tb_ai_agent_config     #     智能体配置表
    │   ├── tb_ai_knowledge        #     知识库表
    │   ├── tb_ai_conversation     #     对话会话表
    │   ├── tb_ai_message          #     对话消息表
    │   ├── tb_ai_upload_file      #     上传文件表
    │   └── tb_ai_usage_statistics #     AI使用统计表
    │
    ├── createTableSystem.sql      # [9] 系统管理模块
    │   ├── tb_sys_operation_log   #     操作日志表
    │   ├── tb_sys_config          #     系统配置表
    │   ├── tb_sys_visit_statistics #    访问统计表
    │   ├── tb_sys_notification    #     系统通知表
    │   ├── tb_sys_file            #     文件上传记录表
    │   ├── tb_sys_dict_type       #     数据字典类型表
    │   └── tb_sys_dict_data       #     数据字典详情表
    │
    ├── initAll.sql                # 一键执行所有SQL
    ├── README.md                  # 表结构详细说明
    ├── 表结构汇总.md              # 表结构汇总
    └── ER关系图.md                # 表关系图
```

## 🚀 快速开始

### 第一次使用

1. **阅读使用说明**
   ```
   打开 使用说明.md
   ```

2. **执行初始化脚本**
   
   **Windows:**
   ```cmd
   双击 init-database.bat
   ```
   
   **Linux/Mac:**
   ```bash
   chmod +x init-database.sh
   ./init-database.sh
   ```

3. **验证安装**
   ```sql
   USE school_news;
   SHOW TABLES;
   ```

### 了解表结构

1. **快速查看**：阅读 `sql/表结构汇总.md`
2. **详细了解**：阅读 `sql/README.md`
3. **理解关系**：阅读 `sql/ER关系图.md`

## 📊 模块说明

### 1️⃣ 用户管理模块
负责用户账号、用户信息和登录日志管理。

**核心表**: 
- tb_sys_user (用户表)
- tb_sys_user_info (用户信息表)

### 2️⃣ 权限管理模块
实现RBAC权限控制，支持部门、角色、权限、菜单管理。

**核心表**: 
- tb_sys_dept (部门表)
- tb_sys_role (角色表)
- tb_sys_permission (权限表)

### 3️⃣ 资源管理模块
管理新闻资源、分类、标签、推荐和数据采集。

**核心表**: 
- tb_resource (资源表)
- tb_resource_category (资源分类表)
- tb_banner (Banner表)

### 4️⃣ 课程管理模块
管理在线课程、章节、标签和权限。

**核心表**: 
- tb_course (课程表)
- tb_course_chapter (章节表)

### 5️⃣ 学习管理模块
管理学习任务、学习记录和统计数据。

**核心表**: 
- tb_learning_task (学习任务表)
- tb_learning_record (学习记录表)
- tb_learning_statistics (学习统计表)

### 6️⃣ 个人中心模块
管理用户收藏、成就、积分和浏览记录。

**核心表**: 
- tb_user_collection (收藏表)
- tb_achievement (成就表)
- tb_user_points (积分表)

### 7️⃣ 智能体模块
提供AI对话、知识库和文件问答功能。

**核心表**: 
- tb_ai_agent_config (AI配置表)
- tb_ai_knowledge (知识库表)
- tb_ai_conversation (对话会话表)

### 8️⃣ 系统管理模块
管理系统配置、日志、通知和文件。

**核心表**: 
- tb_sys_config (系统配置表)
- tb_sys_operation_log (操作日志表)
- tb_sys_notification (通知表)

## 📈 数据量预估

| 模块 | 预估数据量 | 增长速度 |
|------|-----------|----------|
| 用户管理 | 1万-10万 | 缓慢 |
| 权限管理 | 100-1000 | 缓慢 |
| 资源管理 | 1万-100万 | 中等 |
| 课程管理 | 100-10000 | 缓慢 |
| 学习管理 | 10万-1000万 | 快速 |
| 个人中心 | 10万-1000万 | 中等 |
| 智能体 | 10万-1000万 | 快速 |
| 系统管理 | 100万-1亿 | 快速 |

## 🔧 维护建议

### 日常维护
- 每天备份数据库
- 每周清理过期日志
- 每月统计表分析

### 性能优化
- 定期执行 ANALYZE TABLE
- 监控慢查询日志
- 适时添加索引

### 数据归档
- 登录日志：保留3个月
- 操作日志：保留6个月
- 学习记录：永久保存
- 浏览记录：保留1年

## 📝 版本信息

- **版本**: v1.0.0
- **发布日期**: 2025-10-15
- **数据库**: MySQL 5.7+
- **字符集**: utf8mb4
- **引擎**: InnoDB

## 🔗 相关链接

- [MySQL官方文档](https://dev.mysql.com/doc/)
- [数据库设计规范](https://www.cnblogs.com/huchong/p/10219318.html)
- [SQL优化指南](https://developer.aliyun.com/article/72501)

## 📞 技术支持

如有问题，请检查：
1. MySQL版本 >= 5.7
2. 字符集为 utf8mb4
3. 存储引擎为 InnoDB
4. 是否有足够的磁盘空间

## ⚠️ 注意事项

1. **首次运行**前，请备份现有数据库
2. **生产环境**使用前，请修改默认密码
3. **定期备份**数据，防止数据丢失
4. **性能监控**，及时发现并解决问题
5. **安全加固**，限制数据库访问权限

## 📅 更新计划

- [ ] 添加数据字典详细说明
- [ ] 补充性能测试报告
- [ ] 增加示例数据脚本
- [ ] 提供Docker部署方案
- [ ] 添加自动化测试用例

