158 lines
7.7 KiB
Markdown
158 lines
7.7 KiB
Markdown
# 校园思政新闻平台 - 数据库表结构汇总
|
||
|
||
## 一、用户管理模块(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. **数据归档**:
|
||
- 定期归档历史日志
|
||
- 清理过期的浏览记录
|
||
- 备份重要业务数据
|
||
|