# school_sys_attachment 表文档 ## 表概述 **表名**: school_sys_attachment **功能**: 系统附件管理表,负责管理教务系统中的各种文件附件,包括图片、视频、文档等多媒体资源的存储、分类、访问控制等功能 ## 字段说明 ``` Field Type Collation Null Key Default Extra Privileges Comment att_id int NULL NO PRI NULL auto_increment select,insert,update,references name varchar(100) utf8mb4_general_ci NO select,insert,update,references 附件名称 real_name varchar(255) utf8mb4_general_ci NO select,insert,update,references 原始文件名 path varchar(255) utf8mb4_general_ci NO select,insert,update,references 完整地址 dir varchar(200) utf8mb4_general_ci NO select,insert,update,references 附件路径 att_size char(30) utf8mb4_general_ci NO select,insert,update,references 附件大小 att_type char(30) utf8mb4_general_ci NO select,insert,update,references 附件类型image,video storage_type varchar(20) utf8mb4_general_ci NO select,insert,update,references 图片上传类型 local本地 aliyun 阿里云oss qiniu 七牛 .... cate_id int NULL NO 0 select,insert,update,references 相关分类 create_time int NULL NO 0 select,insert,update,references 上传时间 update_time int NULL NO 0 select,insert,update,references url varchar(255) utf8mb4_general_ci NO select,insert,update,references 网络地址 ``` ## 功能用途 ### 主要功能 - **文件附件管理**: 管理系统中的各种文件附件,包括图片、视频、文档等 - **多存储支持**: 支持本地存储、阿里云OSS、七牛云等多种存储方式 - **文件分类**: 通过分类ID对附件进行分类管理 - **文件信息记录**: 记录文件的原始名称、存储路径、大小、类型等详细信息 - **网络访问**: 提供文件的网络访问地址 - **文件类型识别**: 自动识别和分类文件类型(图片、视频等) - **存储路径管理**: 管理文件的存储目录和完整路径 - **文件大小统计**: 记录和统计文件大小信息 - **上传时间追踪**: 跟踪文件的上传和更新时间 ### 业务场景 - **课程资料**: 上传和管理课程相关的教学资料、课件 - **学员作业**: 学员提交的作业文件和附件 - **教师资源**: 教师上传的教学资源和素材 - **系统配置**: 系统logo、背景图等配置文件 - **用户头像**: 学员和教师的头像图片 - **合同文档**: 合同相关的文档和附件 - **证书文件**: 学员证书、资质证明等文件 - **宣传材料**: 学校宣传图片、视频等营销素材 - **备份存档**: 重要文件的备份和存档管理 ## 关联关系 ### 主要关联表 - `school_assignment`: 作业表 (作业附件) - `school_course`: 课程表 (课程资料) - `school_student`: 学员表 (头像文件) - `school_personnel`: 人员表 (头像文件) - `school_contract`: 合同表 (合同附件) - `school_sys_config`: 系统配置表 (配置文件) - `school_campus`: 校区表 (校区相关文件) - `school_certificate`: 证书表 (证书文件) ### 关联说明 - **作业关联**: 通过作业表的attachment_id字段关联作业附件 - **课程关联**: 课程资料和教学素材的文件存储 - **用户关联**: 用户头像和个人文件的存储 - **合同关联**: 合同相关文档和附件的管理 - **系统关联**: 系统配置文件和静态资源的存储 - **分类关联**: 通过cate_id进行文件分类管理 - **业务关联**: 各业务模块通过外键关联具体的附件文件 ## 索引建议 - **主键索引**: att_id (已存在) - **分类索引**: cate_id (文件分类查询) - **类型索引**: att_type (按文件类型查询) - **存储类型索引**: storage_type (按存储方式查询) - **时间索引**: - create_time (创建时间查询) - update_time (更新时间查询) - **复合索引**: - (cate_id, att_type) (分类类型查询) - (storage_type, create_time) (存储方式时间查询) - (att_type, create_time) (类型时间查询) - **路径索引**: path (文件路径查询) - **名称索引**: name (文件名称查询) ## 注意事项 - **文件路径**: path和dir字段需要保证路径的正确性和可访问性 - **文件大小**: att_size字段记录文件大小,需要合理的存储限制 - **文件类型**: att_type需要严格验证,防止恶意文件上传 - **存储安全**: 不同存储类型需要相应的安全配置和访问控制 - **文件命名**: name和real_name需要处理特殊字符和重名问题 - **网络地址**: url字段需要保证外网访问的有效性 - **分类管理**: cate_id需要与分类表保持一致性 - **存储空间**: 需要监控各存储方式的空间使用情况 - **文件清理**: 定期清理无关联的孤立文件 - **备份策略**: 重要文件需要制定备份和恢复策略 - **访问权限**: 敏感文件需要设置适当的访问权限 - **病毒扫描**: 上传文件需要进行安全扫描 - **格式验证**: 严格验证文件格式和内容的合法性 - **存储迁移**: 不同存储方式间的文件迁移策略 - **CDN加速**: 静态文件可考虑使用CDN加速访问 - **文件版本**: 考虑是否需要支持文件版本管理 - **删除策略**: 文件删除需要考虑关联数据的完整性