You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.7 KiB
4.7 KiB
school_course 表文档
表概述
表名: school_course
功能: 课程信息管理表,存储教务系统中所有课程的基本信息、价格体系、课时配置、提醒设置等核心数据
字段说明
Field Type Collation Null Key Default Extra Privileges Comment
id int NULL NO PRI NULL auto_increment select,insert,update,references 课程编号
course_name varchar(255) utf8mb4_general_ci NO NULL select,insert,update,references 课程名称
course_type varchar(255) utf8mb4_general_ci NO NULL select,insert,update,references 课程类型
duration int NULL NO NULL select,insert,update,references 课程时长
session_count int NULL NO NULL select,insert,update,references 课时数量
single_session_count int NULL NO 0 select,insert,update,references 单次消课数量
gift_session_count int NULL NO 0 select,insert,update,references 赠送课时数量
price decimal(10,2) NULL NO NULL select,insert,update,references 课程价格
internal_reminder int NULL YES NULL select,insert,update,references 内部提醒课时
customer_reminder int NULL YES NULL select,insert,update,references 客户提醒课时
remarks text utf8mb4_general_ci YES NULL select,insert,update,references 课程备注
created_at int NULL YES 0 select,insert,update,references 创建时间
updated_at int NULL YES 0 select,insert,update,references 更新时间
deleted_at int NULL YES 0 select,insert,update,references 逻辑删除时间
contract_id int NULL YES NULL select,insert,update,references 合同 id
status tinyint NULL YES 1 select,insert,update,references 课程状态 1 有效 0 无效
is_regular_course tinyint NULL YES 1 select,insert,update,references 是否为正式课 1 是 0 否
功能用途
主要功能
- 课程基础管理: 存储课程名称、类型、时长等基本信息
- 课时体系管理: 管理总课时数、单次消课数、赠送课时等
- 价格体系管理: 设置课程价格,支持灵活定价策略
- 提醒机制管理: 内部提醒和客户提醒的课时阈值设置
- 课程状态管理: 控制课程的有效性和可用性
- 正式课程标识: 区分正式课程和体验课程
- 合同关联管理: 与合同模板进行关联绑定
业务场景
- 课程创建: 新课程录入,设置基本信息和价格体系
- 课程销售: 销售人员根据课程信息进行推广销售
- 课时消耗: 学员上课时按照单次消课数扣减课时
- 库存预警: 根据提醒阈值进行课时不足预警
- 财务结算: 基于课程价格进行收费和分成计算
- 合同生成: 选择课程后自动关联对应的合同模板
- 数据分析: 课程销售情况、受欢迎程度等数据统计
关联关系
主要关联表
- school_contract: 合同表(contract_id字段关联)
- school_order: 订单表(课程购买记录)
- school_course_member: 会员课程关联表
- school_class_course: 班级课程关联表
- school_schedule: 排课表(课程安排)
- school_course_category: 课程分类表
- school_teacher_course: 教师课程关联表
- school_campus_course: 校区课程关联表
关联说明
- 合同关联: 通过contract_id与合同模板关联,支持自动合同生成
- 销售关联: 与订单表关联,记录课程销售情况
- 教学关联: 与班级、排课表关联,实现课程教学安排
- 人员关联: 与会员、教师表关联,管理课程参与者
- 校区关联: 支持多校区课程管理和独立定价
- 分类关联: 通过课程分类实现课程体系化管理
索引建议
- 主键索引: id(已存在)
- 外键索引:
- contract_id(合同关联查询)
- 普通索引:
- course_type(课程类型筛选)
- status(状态筛选)
- is_regular_course(正式课程筛选)
- created_at(创建时间排序)
- price(价格范围查询)
- 复合索引:
- (status, course_type)(状态+类型查询)
- (is_regular_course, status)(正式课程+状态查询)
- 全文索引:
- course_name(课程名称搜索)
注意事项
- 课时逻辑: session_count必须大于0,single_session_count不能超过总课时
- 价格精度: price字段使用decimal(10,2)确保财务精度
- 软删除: 使用deleted_at字段实现软删除,保护历史数据
- 状态管理: status字段变更需要同步更新相关业务数据
- 提醒阈值: 提醒课时数应小于总课时数,避免逻辑错误
- 合同关联: contract_id变更需要验证合同模板的有效性
- 赠送课时: gift_session_count需要在业务逻辑中正确处理
- 正式课标识: is_regular_course影响计费和统计逻辑