Files
schoolNews/schoolNewsServ/.bin/mysql/sql
2025-11-25 17:49:10 +08:00
..
2025-11-24 16:53:17 +08:00
2025-11-24 17:41:28 +08:00
2025-11-07 14:38:51 +08:00
2025-11-19 15:11:30 +08:00
2025-11-19 15:11:30 +08:00
2025-11-13 19:00:27 +08:00
2025-11-04 18:49:37 +08:00
2025-11-18 18:46:14 +08:00
2025-10-15 10:39:51 +08:00
2025-10-15 10:39:51 +08:00
2025-11-21 18:56:14 +08:00
2025-11-25 17:49:10 +08:00
2025-11-25 16:00:09 +08:00
2025-10-15 10:39:51 +08:00
2025-11-24 11:50:15 +08:00
2025-10-15 10:39:51 +08:00
2025-10-15 10:39:51 +08:00

校园思政新闻平台数据库表结构说明

数据库初始化顺序

按照以下顺序执行SQL文件

  1. createDB.sql - 创建数据库
  2. createTableUser.sql - 创建用户相关表
  3. createTablePermission.sql - 创建权限相关表
  4. createTablePermissionControl.sql - 创建统一资源权限控制表
  5. createTableResource.sql - 创建资源管理相关表
  6. createTableCourse.sql - 创建课程管理相关表
  7. createTableLearning.sql - 创建学习管理相关表
  8. createTableUserCenter.sql - 创建个人中心相关表
  9. createTableAI.sql - 创建智能体相关表
  10. createTableSystem.sql - 创建系统配置和日志相关表

表结构概览

1. 用户管理模块 (createTableUser.sql)

  • tb_sys_user - 用户表
  • tb_sys_user_info - 用户信息表
  • tb_sys_login_log - 登录日志表

2. 权限管理模块 (createTablePermission.sql)

  • 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 - 菜单-权限关联表

3. 资源管理模块 (createTableResource.sql)

  • tb_resource - 资源/新闻表
  • tb_resource_category - 资源分类表
    • 默认分类:党史学习、领导讲话、政策解读、红色经典、专题报告、思政案例
  • tb_banner - Banner轮播图表
  • tb_resource_recommend - 资源推荐表TOP资源
  • tb_tag - 标签表
  • tb_resource_tag - 资源-标签关联表
  • tb_data_collection_config - 数据采集配置表
  • tb_data_collection_log - 数据采集记录表

4. 课程管理模块 (createTableCourse.sql)

  • tb_course - 课程表
  • tb_course_chapter - 课程章节表
  • tb_course_tag - 课程-标签关联表
  • tb_course_dept - 课程-部门权限表

5. 学习管理模块 (createTableLearning.sql)

  • tb_learning_task - 学习计划/任务表
  • tb_task_resource - 任务-资源关联表
  • tb_task_course - 任务-课程关联表
  • tb_task_user - 任务-用户关联表(任务接收人员)
  • tb_learning_record - 学习记录表
  • tb_learning_statistics - 学习统计表(按天统计)

6. 个人中心模块 (createTableUserCenter.sql)

  • tb_user_collection - 用户收藏表
  • tb_achievement - 成就表
  • tb_user_achievement - 用户-成就关联表
  • tb_user_points - 用户积分表
  • tb_points_record - 积分记录表
  • tb_user_browse_record - 用户浏览记录表

7. 智能体模块 (createTableAI.sql)

  • tb_ai_agent_config - 智能体配置表
  • tb_ai_knowledge - 知识库表
  • tb_ai_conversation - 对话会话表
  • tb_ai_message - 对话消息表
  • tb_ai_upload_file - 上传文件表
  • tb_ai_usage_statistics - AI使用统计表

8. 系统配置和日志模块 (createTableSystem.sql)

  • 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 - 数据字典详情表

表关系说明

核心关系

  1. 用户体系

    • 用户 → 用户信息1对1
    • 用户 → 部门-角色(多对多)
    • 角色 → 权限(多对多)
    • 菜单 → 权限(多对多)
  2. 资源体系

    • 资源 → 分类多对1
    • 资源 → 标签(多对多)
    • 资源 → 推荐1对1
    • 资源 → Banner1对1
  3. 课程体系

    • 课程 → 章节1对多
    • 课程 → 标签(多对多)
    • 课程 → 部门权限(多对多)
  4. 学习体系

    • 任务 → 资源/课程(多对多)
    • 任务 → 用户(多对多)
    • 用户 → 学习记录1对多
    • 用户 → 学习统计1对多
  5. 个人中心

    • 用户 → 收藏1对多
    • 用户 → 成就(多对多)
    • 用户 → 积分1对1
    • 用户 → 浏览记录1对多
  6. 智能体

    • 用户 → 对话会话1对多
    • 会话 → 消息1对多
    • 用户 → 上传文件1对多
    • 知识库(独立)

数据字典

通用状态码

  • deleted: 0-未删除, 1-已删除
  • status: 根据业务模块有不同含义,具体见各表注释

资源相关

  • resource.status: 0-草稿, 1-已发布, 2-下架
  • link_type: 1-资源, 2-课程, 3-外部链接

课程相关

  • course.status: 0-未上线, 1-已上线, 2-已下架
  • permission_type: 0-公开, 1-指定部门

学习相关

  • task.status: 0-草稿, 1-进行中, 2-已结束
  • task_user.status: 0-未完成, 1-已完成
  • resource_type: 1-资源, 2-课程, 3-章节

个人中心相关

  • collection_type: 1-资源, 2-课程
  • achievement.type: 1-勋章, 2-等级
  • condition_type: 1-学习时长, 2-资源数量, 3-课程数量, 4-连续学习天数
  • points_record.type: 1-获得, 2-消费
  • points_record.source_type: 1-学习资源, 2-学习课程, 3-完成任务, 4-获得成就

智能体相关

  • ai_knowledge.source_type: 1-手动添加, 2-文件导入, 3-资源同步
  • ai_message.role: user-用户, assistant-助手, system-系统
  • ai_upload_file.status: 0-处理中, 1-已完成, 2-失败

系统相关

  • menu.type: 0-目录, 1-菜单, 2-按钮
  • notification.type: 1-系统通知, 2-任务通知, 3-成就通知
  • config_type: string-字符串, number-数字, boolean-布尔, json-JSON对象

索引说明

所有表都包含以下基本索引:

  • 主键索引id
  • 唯一键索引如user_id、role_id等业务唯一标识
  • 外键关联索引
  • 时间字段索引create_time、update_time等
  • 状态字段索引status、deleted等
  • 常用查询字段索引

字段说明

通用字段

所有表都包含以下通用字段:

  • id: 主键IDVARCHAR(50)
  • creator: 创建者ID
  • updater: 更新者ID
  • create_time: 创建时间
  • update_time: 更新时间
  • delete_time: 删除时间(软删除)
  • deleted: 是否删除0-否, 1-是)

特殊字段

  • 所有表的字符编码为 utf8mb4,支持存储表情符号
  • LONGTEXT 用于存储富文本内容
  • TEXT 用于存储较长的文本描述
  • VARCHAR 用于存储固定长度的字符串
  • DECIMAL 用于存储精确的数值(如百分比、金额等)
  • TIMESTAMP 用于存储时间(支持时区)
  • INT/BIGINT 用于存储整数

注意事项

  1. 软删除所有业务表都使用软删除机制deleted字段删除操作不会真正删除数据
  2. 时间戳:所有时间字段使用 TIMESTAMP 类型,自动记录创建和更新时间
  3. 字符集:数据库和所有表都使用 utf8mb4 字符集支持存储所有Unicode字符
  4. 外键:建议在应用层维护外键关系,不使用数据库外键约束,以提高性能
  5. 索引优化:根据实际查询情况可以添加组合索引
  6. 数据量:对于大数据量表(如日志表、记录表),建议定期归档历史数据
  7. ID生成建议使用雪花算法或UUID生成ID确保分布式环境下的唯一性

默认数据

系统初始化后会包含以下默认数据:

  1. 用户admin密码已加密
  2. 部门:超级部门、默认部门
  3. 角色:管理员、自由角色
  4. 权限:系统管理相关权限
  5. 菜单:系统管理菜单
  6. 资源分类6个默认分类
  7. 系统配置13项默认配置
  8. 智能体配置:思政小帮手

扩展建议

根据实际业务需求,可以扩展以下功能:

  1. 评论系统:添加资源/课程评论表
  2. 问答系统:添加问答相关表
  3. 考试系统:添加试题库、试卷、考试记录等表
  4. 消息系统:扩展站内信功能
  5. 工作流:添加审批流程相关表
  6. 数据分析:添加更详细的统计分析表
  7. 多租户:添加租户相关表和字段