# school_diy_form 表文档 ## 表概述 **表名**: school_diy_form **功能**: 自定义表单管理表,负责管理教务系统中的动态表单创建、表单配置、数据收集、表单模板等自定义表单功能 ## 字段说明 ``` Field Type Collation Null Key Default Extra Privileges Comment form_id int NULL NO PRI NULL auto_increment select,insert,update,references 表单id page_title varchar(255) utf8mb4_general_ci NO select,insert,update,references 表单名称(用于后台展示) title varchar(255) utf8mb4_general_ci NO select,insert,update,references 表单名称(用于前台展示) type varchar(255) utf8mb4_general_ci NO select,insert,update,references 表单类型 status tinyint NULL NO 0 select,insert,update,references 状态(0,关闭,1:开启) template varchar(255) utf8mb4_general_ci NO select,insert,update,references 模板名称 value longtext utf8mb4_general_ci YES NULL select,insert,update,references 表单数据,json格式,包含展示组件 addon varchar(255) utf8mb4_general_ci NO select,insert,update,references 所属插件标识 share varchar(1000) utf8mb4_general_ci NO select,insert,update,references 分享内容 write_num int NULL NO 0 select,insert,update,references 表单填写总数量 remark varchar(255) utf8mb4_general_ci NO select,insert,update,references 备注说明 create_time int NULL NO 0 select,insert,update,references 创建时间 update_time int NULL NO 0 select,insert,update,references 更新时间 ``` ## 功能用途 ### 主要功能 - **动态表单创建**: 支持用户自定义创建各种类型的表单 - **表单模板管理**: 管理和维护表单模板,支持模板复用 - **表单配置**: 配置表单的字段、验证规则、显示样式等 - **数据收集**: 收集和统计表单填写数据 - **表单状态控制**: 管理表单的启用、禁用状态 - **表单分享**: 支持表单的分享和传播功能 - **填写统计**: 统计表单的填写次数和数据 - **插件集成**: 支持与各种插件的集成使用 - **JSON数据存储**: 灵活存储表单的结构和配置数据 ### 业务场景 - **信息收集**: 收集学生、教师、家长的各种信息 - **报名登记**: 课程报名、活动报名等登记表单 - **问卷调查**: 满意度调查、需求调研等问卷 - **申请审批**: 各种申请表单的在线填写 - **数据录入**: 批量数据录入和信息采集 - **反馈收集**: 意见反馈、建议收集等 - **考试报名**: 考试报名表单和信息收集 - **活动报名**: 学校活动、比赛报名表单 - **资料提交**: 各种资料和文档的在线提交 ## 关联关系 ### 主要关联表 - `school_student`: 学生信息表 (学生填写表单) - `school_personnel`: 人员信息表 (教师创建和管理表单) - `school_course`: 课程信息表 (课程相关表单) - `school_campus`: 校区信息表 (校区相关表单) - `school_addon`: 插件表 (表单所属插件) - `school_sys_attachment`: 附件表 (表单附件关联) - `sys_log`: 系统日志表 (表单操作日志) ### 关联说明 - **用户关联**: 学生和教师可以填写和创建表单 - **业务关联**: 表单可能关联具体的课程、校区等业务对象 - **插件关联**: addon字段关联表单所属的插件模块 - **附件关联**: 表单可能包含文件上传等附件功能 - **模板关联**: template字段关联表单使用的模板 - **数据关联**: value字段存储表单的结构和配置数据 - **统计关联**: write_num字段统计表单的填写次数 ## 索引建议 - **主键索引**: form_id (已存在) - **业务索引**: - type (表单类型查询) - status (状态查询) - template (模板查询) - addon (插件查询) - **复合索引**: - (status, type) (有效表单类型查询) - (addon, status) (插件有效表单查询) - (template, status) (模板有效表单查询) - **时间索引**: - create_time (创建时间查询) - update_time (更新时间查询) - **全文索引**: - title (表单标题搜索) - page_title (后台标题搜索) ## 注意事项 - **JSON格式验证**: value字段存储JSON数据,需要验证格式正确性 - **表单状态一致性**: status字段变更需要同步更新相关业务逻辑 - **模板有效性**: template字段需要确保模板文件存在且有效 - **插件依赖**: addon字段确定表单归属,删除插件时需要处理相关表单 - **数据完整性**: 表单配置数据需要保证完整性和一致性 - **填写统计**: write_num字段需要实时更新,确保统计准确性 - **权限控制**: 表单的创建、编辑、删除需要严格的权限控制 - **数据备份**: 重要表单数据需要定期备份 - **性能优化**: 大量表单数据查询时需要考虑性能优化 - **表单验证**: 表单提交时需要验证数据的有效性 - **分享安全**: 表单分享功能需要考虑安全性和隐私保护 - **模板管理**: 表单模板的版本管理和兼容性 - **数据导出**: 支持表单数据的导出和分析功能 - **移动端适配**: 表单需要支持移动端的显示和填写 - **缓存策略**: 频繁访问的表单可以使用缓存提高性能 - **监控告警**: 表单异常情况需要监控和告警机制