Files
schoolNews/schoolNewsServ/.bin/mysql/sql/表结构汇总.md
2025-10-15 10:39:51 +08:00

158 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 校园思政新闻平台 - 数据库表结构汇总
## 一、用户管理模块3张表
| 表名 | 中文名 | 说明 | 主要字段 |
|------|--------|------|----------|
| tb_sys_user | 用户表 | 存储用户账号信息 | id, username, password, email, phone, status |
| tb_sys_user_info | 用户信息表 | 存储用户详细信息 | id, user_id, avatar, full_name, gender, address |
| tb_sys_login_log | 登录日志表 | 记录用户登录历史 | id, user_id, ip_address, login_time, status |
## 二、权限管理模块8张表
| 表名 | 中文名 | 说明 | 主要字段 |
|------|--------|------|----------|
| tb_sys_dept | 部门表 | 组织架构 | id, dept_id, name, parent_id, description |
| tb_sys_role | 角色表 | 系统角色 | id, role_id, name, description |
| tb_sys_dept_role | 部门-角色关联表 | 部门与角色关系 | id, dept_id, role_id |
| tb_sys_user_dept_role | 用户-部门-角色关联表 | 用户在部门中的角色 | id, user_id, dept_id, role_id |
| tb_sys_permission | 权限表 | 系统权限定义 | id, permission_id, name, code, description |
| tb_sys_role_permission | 角色-权限关联表 | 角色拥有的权限 | id, role_id, permission_id |
| tb_sys_menu | 菜单表 | 系统菜单 | id, menu_id, name, parent_id, url, type |
| tb_sys_menu_permission | 菜单-权限关联表 | 菜单访问权限 | id, menu_id, permission_id |
## 三、资源管理模块8张表
| 表名 | 中文名 | 说明 | 主要字段 |
|------|--------|------|----------|
| tb_resource | 资源表 | 新闻/文章资源 | id, title, content, category_id, view_count, status |
| tb_resource_category | 资源分类表 | 资源分类党史学习等6类 | id, category_id, name, parent_id, order_num |
| tb_banner | Banner表 | 轮播图管理 | id, title, image_url, link_type, link_id, order_num |
| tb_resource_recommend | 资源推荐表 | TOP资源推荐 | id, resource_id, order_num, reason |
| tb_tag | 标签表 | 数据标签 | id, tag_id, name, color, description |
| tb_resource_tag | 资源-标签关联表 | 资源标签关系 | id, resource_id, tag_id |
| tb_data_collection_config | 数据采集配置表 | 数据采集源配置 | id, name, source_url, frequency, status |
| tb_data_collection_log | 数据采集记录表 | 采集日志 | id, config_id, collect_count, status, collect_time |
## 四、课程管理模块4张表
| 表名 | 中文名 | 说明 | 主要字段 |
|------|--------|------|----------|
| tb_course | 课程表 | 课程信息 | id, course_id, name, description, teacher, status |
| tb_course_chapter | 课程章节表 | 课程章节内容 | id, course_id, name, content, video_url, order_num |
| tb_course_tag | 课程-标签关联表 | 课程标签关系 | id, course_id, tag_id |
| tb_course_dept | 课程-部门权限表 | 课程访问权限 | id, course_id, dept_id |
## 五、学习管理模块6张表
| 表名 | 中文名 | 说明 | 主要字段 |
|------|--------|------|----------|
| tb_learning_task | 学习任务表 | 学习计划/任务 | id, task_id, name, description, start_time, end_time |
| tb_task_resource | 任务-资源关联表 | 任务关联的资源 | id, task_id, resource_id, required |
| tb_task_course | 任务-课程关联表 | 任务关联的课程 | id, task_id, course_id, required |
| tb_task_user | 任务-用户表 | 任务接收人员及完成情况 | id, task_id, user_id, status, progress |
| tb_learning_record | 学习记录表 | 详细学习记录 | id, user_id, resource_type, resource_id, duration |
| tb_learning_statistics | 学习统计表 | 按天统计学习数据 | id, user_id, stat_date, total_duration, resource_count |
## 六、个人中心模块6张表
| 表名 | 中文名 | 说明 | 主要字段 |
|------|--------|------|----------|
| tb_user_collection | 用户收藏表 | 收藏的资源/课程 | id, user_id, collection_type, collection_id |
| tb_achievement | 成就表 | 勋章/等级定义 | id, achievement_id, name, type, condition_type |
| tb_user_achievement | 用户-成就关联表 | 用户获得的成就 | id, user_id, achievement_id, obtain_time |
| tb_user_points | 用户积分表 | 用户积分和等级 | id, user_id, total_points, current_points, level |
| tb_points_record | 积分记录表 | 积分变动记录 | id, user_id, points, type, source_type |
| tb_user_browse_record | 用户浏览记录表 | 浏览历史 | id, user_id, browse_type, browse_id, browse_time |
## 七、智能体模块6张表
| 表名 | 中文名 | 说明 | 主要字段 |
|------|--------|------|----------|
| tb_ai_agent_config | 智能体配置表 | AI助手配置 | id, name, system_prompt, model_name, temperature |
| tb_ai_knowledge | 知识库表 | AI知识库内容 | id, title, content, source_type, category |
| tb_ai_conversation | 对话会话表 | 对话会话 | id, user_id, title, status, message_count |
| tb_ai_message | 对话消息表 | 对话消息记录 | id, conversation_id, role, content, token_count |
| tb_ai_upload_file | 上传文件表 | 用户上传的文件 | id, user_id, file_name, file_path, extracted_text |
| tb_ai_usage_statistics | AI使用统计表 | AI使用数据统计 | id, user_id, stat_date, conversation_count, total_tokens |
## 八、系统管理模块8张表
| 表名 | 中文名 | 说明 | 主要字段 |
|------|--------|------|----------|
| tb_sys_operation_log | 操作日志表 | 用户操作记录 | id, user_id, module, operation, status, create_time |
| tb_sys_config | 系统配置表 | 系统参数配置 | id, config_key, config_value, config_type, config_group |
| tb_sys_visit_statistics | 访问统计表 | 系统访问数据 | id, stat_date, total_visits, active_users |
| tb_sys_notification | 系统通知表 | 用户通知消息 | id, user_id, type, title, content, is_read |
| tb_sys_file | 文件上传记录表 | 文件管理 | id, file_name, file_path, file_size, module |
| tb_sys_dict_type | 数据字典类型表 | 字典类型定义 | id, dict_type, dict_name, description |
| tb_sys_dict_data | 数据字典详情表 | 字典数据项 | id, dict_type, dict_label, dict_value, dict_sort |
## 数据库统计
- **总表数**: 49张表
- **用户管理**: 3张表
- **权限管理**: 8张表
- **资源管理**: 8张表
- **课程管理**: 4张表
- **学习管理**: 6张表
- **个人中心**: 6张表
- **智能体**: 6张表
- **系统管理**: 8张表
## 表命名规范
- 系统表前缀: `tb_sys_`
- 资源相关: `tb_resource_`
- 课程相关: `tb_course_`
- 学习相关: `tb_learning_``tb_task_`
- 用户相关: `tb_user_`
- AI相关: `tb_ai_`
- 其他业务表: `tb_` + 业务名
## 关联关系类型
- **1对1**: 用户↔用户信息、用户↔积分
- **1对多**: 部门↔子部门、课程↔章节、会话↔消息
- **多对多**: 用户↔角色、资源↔标签、任务↔资源/课程
## 数据存储容量评估
| 表类型 | 预估数据量 | 存储策略 |
|--------|-----------|----------|
| 用户表 | 1万-10万 | 长期保存 |
| 资源表 | 1万-100万 | 长期保存 |
| 课程表 | 100-10000 | 长期保存 |
| 学习记录 | 10万-1000万 | 按年归档 |
| 日志表 | 100万-1亿 | 按月归档 |
| 浏览记录 | 100万-1亿 | 按季度归档 |
| 对话消息 | 10万-1000万 | 按年归档 |
## 性能优化建议
1. **索引优化**:
- 所有外键字段建立索引
- 常用查询条件字段建立索引
- 时间范围查询建立时间索引
2. **分表策略**:
- 日志表按月分表
- 记录表按年分表
- 统计表按天/月预聚合
3. **缓存策略**:
- 系统配置使用Redis缓存
- 热门资源使用缓存
- 用户权限信息缓存
4. **查询优化**:
- 避免全表扫描
- 使用分页查询
- 适当使用冗余字段减少JOIN
5. **数据归档**:
- 定期归档历史日志
- 清理过期的浏览记录
- 备份重要业务数据