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