智慧教务系统
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

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 否

功能用途

主要功能

  1. 课程基础管理: 存储课程名称、类型、时长等基本信息
  2. 课时体系管理: 管理总课时数、单次消课数、赠送课时等
  3. 价格体系管理: 设置课程价格,支持灵活定价策略
  4. 提醒机制管理: 内部提醒和客户提醒的课时阈值设置
  5. 课程状态管理: 控制课程的有效性和可用性
  6. 正式课程标识: 区分正式课程和体验课程
  7. 合同关联管理: 与合同模板进行关联绑定

业务场景

  1. 课程创建: 新课程录入,设置基本信息和价格体系
  2. 课程销售: 销售人员根据课程信息进行推广销售
  3. 课时消耗: 学员上课时按照单次消课数扣减课时
  4. 库存预警: 根据提醒阈值进行课时不足预警
  5. 财务结算: 基于课程价格进行收费和分成计算
  6. 合同生成: 选择课程后自动关联对应的合同模板
  7. 数据分析: 课程销售情况、受欢迎程度等数据统计

关联关系

主要关联表

  1. school_contract: 合同表(contract_id字段关联)
  2. school_order: 订单表(课程购买记录)
  3. school_course_member: 会员课程关联表
  4. school_class_course: 班级课程关联表
  5. school_schedule: 排课表(课程安排)
  6. school_course_category: 课程分类表
  7. school_teacher_course: 教师课程关联表
  8. school_campus_course: 校区课程关联表

关联说明

  1. 合同关联: 通过contract_id与合同模板关联,支持自动合同生成
  2. 销售关联: 与订单表关联,记录课程销售情况
  3. 教学关联: 与班级、排课表关联,实现课程教学安排
  4. 人员关联: 与会员、教师表关联,管理课程参与者
  5. 校区关联: 支持多校区课程管理和独立定价
  6. 分类关联: 通过课程分类实现课程体系化管理

索引建议

  1. 主键索引: id(已存在)
  2. 外键索引:
    • contract_id(合同关联查询)
  3. 普通索引:
    • course_type(课程类型筛选)
    • status(状态筛选)
    • is_regular_course(正式课程筛选)
    • created_at(创建时间排序)
    • price(价格范围查询)
  4. 复合索引:
    • (status, course_type)(状态+类型查询)
    • (is_regular_course, status)(正式课程+状态查询)
  5. 全文索引:
    • course_name(课程名称搜索)

注意事项

  1. 课时逻辑: session_count必须大于0,single_session_count不能超过总课时
  2. 价格精度: price字段使用decimal(10,2)确保财务精度
  3. 软删除: 使用deleted_at字段实现软删除,保护历史数据
  4. 状态管理: status字段变更需要同步更新相关业务数据
  5. 提醒阈值: 提醒课时数应小于总课时数,避免逻辑错误
  6. 合同关联: contract_id变更需要验证合同模板的有效性
  7. 赠送课时: gift_session_count需要在业务逻辑中正确处理
  8. 正式课标识: is_regular_course影响计费和统计逻辑