2026/2/21 7:31:40
网站建设
项目流程
网站建设专业介绍,建站经验,百度开放云制作网站,wordpress网络验证码✅ 适配「项目管理配置」完整业务的数据库表设计#xff08;生产级、可直接落地#xff09;
设计说明
✅ 完全匹配图片中项目、工作项、产品、权限/全局配置4大核心模块所有字段#xff1b;
✅ 遵循「主表关联子表」设计范式#xff0c;表关系清晰、数据冗余低#xff0c;…✅ 适配「项目管理配置」完整业务的数据库表设计生产级、可直接落地设计说明✅ 完全匹配图片中项目、工作项、产品、权限/全局配置4大核心模块所有字段✅ 遵循「主表关联子表」设计范式表关系清晰、数据冗余低支持增删改查/分页/权限隔离✅ 兼容MySQL8.0/5.7字段类型精准、索引完善附带数据插入示例核心查询语句可直接执行✅ 预留扩展字段满足后续功能迭代如状态扩展、多维度配置。一、核心建表语句全量按业务模块划分 表1项目配置主表pm_project_config核心根表存储项目维度的基础配置对应图片中「项目、项目属性、项目状态、项目角色」核心配置项是项目模块的主表。CREATETABLEpm_project_config(idBIGINTUNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT主键ID自增,config_nameVARCHAR(128)NOTNULLCOMMENT配置名称如研发项目配置、测试项目配置,project_code_ruleVARCHAR(255)DEFAULTCOMMENT项目编号生成规则,project_attrTEXTCOMMENT项目核心属性JSON格式存储如负责人类型、立项流程、归档规则,project_statusVARCHAR(255)NOTNULLCOMMENT项目状态关联数据字典如立项中,进行中,暂停,已完成,已作废,project_roleVARCHAR(255)NOTNULLCOMMENT项目角色配置如项目经理,产品经理,开发工程师,测试工程师,role_permissionTEXTCOMMENT角色对应权限JSON格式如项目经理编辑项目/分配权限,sort_numINTDEFAULT0COMMENT排序号数字越小越靠前,statusTINYINTNOTNULLDEFAULT1COMMENT启用状态 1启用 0禁用,create_byVARCHAR(64)DEFAULTCOMMENT创建人,create_timeDATETIMENOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT创建时间,update_byVARCHAR(64)DEFAULTCOMMENT更新人,update_timeDATETIMENOTNULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT更新时间,remarkVARCHAR(512)DEFAULTCOMMENT备注,PRIMARYKEY(id),UNIQUEKEYuk_config_name(config_name)COMMENT配置名称唯一避免重复,KEYidx_status(status)COMMENT状态索引提升查询效率)ENGINEInnoDBDEFAULTCHARSETutf8mb4COMMENT项目配置主表 - 管理项目/属性/状态/角色配置; 表2工作项配置表pm_work_item_config核心业务表完全覆盖图片中「工作项、工作项类型、属性、状态、优先级、关联关系、展示上限」所有配置项是项目执行层核心配置表。CREATETABLEpm_work_item_config(idBIGINTUNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT主键ID自增,config_nameVARCHAR(128)NOTNULLCOMMENT配置名称如研发任务配置、Bug管理配置,work_item_typeVARCHAR(255)NOTNULLCOMMENT工作项类型如需求,任务,Bug,优化,文档,work_item_attrTEXTCOMMENT工作项核心属性JSON格式如优先级、工时预估、验收标准,work_item_statusVARCHAR(255)NOTNULLCOMMENT工作项状态如待分配,进行中,待审核,已完成,已驳回,priority_levelVARCHAR(128)NOTNULLCOMMENT优先级配置如P0紧急,P1高,P2中,P3低,relation_typeVARCHAR(128)DEFAULTCOMMENT关联关系类型如父子,依赖,关联,show_limitINTNOTNULLDEFAULT100COMMENT工作项展示上限默认100条,sort_numINTDEFAULT0COMMENT排序号,statusTINYINTNOTNULLDEFAULT1COMMENT启用状态 1启用 0禁用,create_byVARCHAR(64)DEFAULT,create_timeDATETIMEDEFAULTCURRENT_TIMESTAMP,update_byVARCHAR(64)DEFAULT,update_timeDATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,remarkVARCHAR(512)DEFAULT,PRIMARYKEY(id),UNIQUEKEYuk_config_name(config_name),KEYidx_status(status))ENGINEInnoDBDEFAULTCHARSETutf8mb4COMMENT工作项配置表 - 管理工作项全维度配置规则; 表3产品配置表pm_product_config业务扩展表匹配图片中「产品、产品属性」配置项实现产品维度的独立配置支持「产品-项目-工作项」层级关联。CREATETABLEpm_product_config(idBIGINTUNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT主键ID自增,product_nameVARCHAR(128)NOTNULLCOMMENT产品名称,product_code_ruleVARCHAR(255)DEFAULTCOMMENT产品编号生成规则,product_attrTEXTCOMMENT产品核心属性JSON格式如版本规则、迭代周期、需求来源,sort_numINTDEFAULT0COMMENT排序号,statusTINYINTNOTNULLDEFAULT1COMMENT启用状态 1启用 0禁用,create_byVARCHAR(64)DEFAULT,create_timeDATETIMEDEFAULTCURRENT_TIMESTAMP,update_byVARCHAR(64)DEFAULT,update_timeDATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,remarkVARCHAR(512)DEFAULT,PRIMARYKEY(id),UNIQUEKEYuk_product_name(product_name),KEYidx_status(status))ENGINEInnoDBDEFAULTCHARSETutf8mb4COMMENT产品配置表 - 管理产品/产品属性配置; 表4全局配置表pm_global_config兜底配置表覆盖图片中「全局配置方案、视图配置、权限、权限配置」所有配置项是全模块共用的公共配置表全局生效。CREATETABLEpm_global_config(idBIGINTUNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT主键ID自增,global_schemeTEXTCOMMENT全局配置方案JSON格式如数据保留时长、配置生效规则、通知规则,view_configTEXTCOMMENT视图配置JSON格式如列表展示字段、详情布局、统计视图样式,permission_ruleTEXTCOMMENT权限规则JSON格式如配置项操作权限、数据查看权限,permission_configVARCHAR(255)DEFAULTCOMMENT权限配置如超级管理员全部权限,项目管理员编辑权限,is_defaultTINYINTNOTNULLDEFAULT0COMMENT是否默认配置 1是 0否,create_byVARCHAR(64)DEFAULT,create_timeDATETIMEDEFAULTCURRENT_TIMESTAMP,update_byVARCHAR(64)DEFAULT,update_timeDATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,remarkVARCHAR(512)DEFAULT,PRIMARYKEY(id),UNIQUEKEYuk_is_default(is_default)COMMENT默认配置唯一仅允许1条)ENGINEInnoDBDEFAULTCHARSETutf8mb4COMMENT全局配置表 - 管理全局方案/视图/权限配置; 表5配置关联关系表pm_config_relation关联桥接表实现「项目-工作项-产品」三者的灵活关联支持「1个项目对应多个工作项、1个产品对应多个项目」解决多维度配置关联问题是核心关联表。CREATETABLEpm_config_relation(idBIGINTUNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT主键ID自增,project_config_idBIGINTUNSIGNEDNOTNULLCOMMENT关联项目配置表ID,work_item_config_idBIGINTUNSIGNEDNOTNULLCOMMENT关联工作项配置表ID,product_config_idBIGINTUNSIGNEDDEFAULTNULLCOMMENT关联产品配置表ID无则为NULL,relation_descVARCHAR(512)DEFAULTCOMMENT关联描述如研发项目关联研发任务产品A,create_timeDATETIMEDEFAULTCURRENT_TIMESTAMP,PRIMARYKEY(id),UNIQUEKEYuk_relation(project_config_id,work_item_config_id,product_config_id)COMMENT关联关系唯一,KEYidx_project_id(project_config_id),KEYidx_work_item_id(work_item_config_id),KEYidx_product_id(product_config_id))ENGINEInnoDBDEFAULTCHARSETutf8mb4COMMENT配置关联表 - 关联项目/工作项/产品配置关系;二、表结构核心设计亮点适配业务生产标准✅ 1. 表关系清晰无冗余、无遗漏✅pm_project_config项目 ←→pm_config_relation关联 ←→pm_work_item_config工作项✅pm_product_config产品 ←→pm_config_relation关联 ←→pm_project_config项目✅pm_global_config全局 → 所有模块全局生效✅ 所有关联均通过「主键ID」绑定支持一对多/多对多灵活适配完全匹配业务场景。✅ 2. 字段设计规范精准适配✅ 所有配置项1:1匹配图片内容无字段丢失项目/工作项/产品/全局4大类全覆盖✅ 复杂配置项如属性、规则采用TEXTJSON格式存储兼顾灵活性与扩展性✅ 状态/标识类字段用TINYINT0/1名称/编码用VARCHAR时间用DATETIME字段类型精准✅ 必含create_by/create_time/update_by/update_time审计字段满足生产环境操作追溯需求✅ 预留sort_num排序、remark备注、status状态通用字段适配前端展示与管理。✅ 3. 索引优化生产级提升查询效率✅ 每张表主键id设主键索引保证唯一性✅ 唯一标识字段配置名称、产品名称、默认配置设唯一索引杜绝重复数据✅ 关联字段project_config_id、work_item_config_id设普通索引提升关联查询速度✅ 状态字段status设索引满足前端「启用/禁用」筛选高频查询。✅ 4. 兼容性扩展性可直接落地后续迭代✅ 兼容MySQL主流版本字符集统一utf8mb4支持中文/特殊符号无乱码✅ JSON格式存储的字段支持动态新增配置项无需修改表结构✅ 关联表pm_config_relation支持后续扩展「模板配置、多版本配置」适配业务迭代✅ 所有表均预留remark字段便于线下维护与文档补充。三、数据插入示例匹配业务场景可直接执行✅ 示例1插入项目配置数据INSERTINTOpm_project_config(config_name,project_code_rule,project_attr,project_status,project_role,role_permission)VALUES(研发项目通用配置,XM-YF-YYYYMMDD-序号,{负责人类型:系统用户,立项流程:部门审批→公司审批,归档规则:项目完成后30天归档},立项中,进行中,暂停,已完成,已作废,项目经理,产品经理,开发工程师,测试工程师,运维工程师,{项目经理:[编辑项目,分配角色,审批进度],开发工程师:[查看项目,提交任务]});✅ 示例2插入工作项配置数据INSERTINTOpm_work_item_config(config_name,work_item_type,work_item_attr,work_item_status,priority_level,relation_type,show_limit)VALUES(研发任务配置,需求,任务,Bug,优化,文档,{工时预估:必填,验收标准:需附件,紧急度:可选},待分配,进行中,待审核,已完成,已驳回,P0紧急,P1高,P2中,P3低,父子,依赖,关联,200);✅ 示例3插入全局配置数据默认配置INSERTINTOpm_global_config(global_scheme,view_config,permission_rule,permission_config,is_default)VALUES({数据保留时长:365天,配置生效规则:立即生效,通知规则:配置变更后推送至管理员},{列表展示字段:名称,状态,创建时间,详情布局:左侧基础信息右侧配置内容},{超级管理员:全部权限,项目管理员:编辑/查看权限,普通用户:仅查看},超级管理员全部,项目管理员项目/工作项配置,产品管理员产品配置,1);✅ 示例4插入关联关系数据项目工作项INSERTINTOpm_config_relation(project_config_id,work_item_config_id,relation_desc)VALUES(1,1,研发项目通用配置 关联 研发任务配置);四、核心业务查询语句生产常用直接复用✅ 1. 查询「项目关联的工作项产品」完整配置最常用SELECTp.config_nameAS项目配置名称,w.config_nameAS工作项配置名称,IFNULL(pro.product_name,无)AS产品名称,r.relation_descAS关联描述FROMpm_config_relation rLEFTJOINpm_project_config pONr.project_config_idp.idLEFTJOINpm_work_item_config wONr.work_item_config_idw.idLEFTJOINpm_product_config proONr.product_config_idpro.id;✅ 2. 查询所有启用的配置项前端列表展示-- 查询启用的项目配置SELECT*FROMpm_project_configWHEREstatus1ORDERBYsort_numASC;-- 查询启用的工作项配置SELECT*FROMpm_work_item_configWHEREstatus1ORDERBYsort_numASC;✅ 3. 查询全局默认配置系统兜底使用SELECT*FROMpm_global_configWHEREis_default1;✅ 4. 查询指定项目下的所有工作项配置SELECTw.*FROMpm_work_item_config wINNERJOINpm_config_relation rONw.idr.work_item_config_idWHEREr.project_config_id1;-- 项目配置ID五、配套说明落地必备✅ 1. 数据字典建议前端下拉/状态展示可新增4个数据字典配合表中枚举字段使用提升前端交互体验project_status项目状态立项中、进行中、暂停、已完成、已作废work_item_status工作项状态待分配、进行中、待审核、已完成、已驳回priority_level优先级P0紧急、P1高、P2中、P3低config_status配置状态启用、禁用。✅ 2. 若依系统适配无缝对接如果基于若依框架落地可直接复用3个核心能力无需重复开发✅ 权限配置表create_by/update_by关联若依sys_user表的用户ID✅ 日志配置操作日志接入若依sys_oper_log表实现操作追溯✅ 数据范围基于若依「部门/角色」权限实现配置数据的隔离查看。✅ 3. 执行顺序1. 先执行所有建表语句 → 2. 执行数据插入示例 → 3. 执行查询语句验证 所有SQL语句均已实际验证可直接复制到Navicat/DBeaver等工具执行无语法错误。六、设计总结✅ ✅ ✅ 本套表结构100%匹配图片中的所有配置项满足「项目管理配置」全业务需求具备以下核心能力✅ ✔️ 覆盖4大模块所有字段无遗漏、无冗余✅ ✔️ 表关系清晰支持多维度关联与灵活扩展✅ ✔️ 生产级规范索引/审计/唯一性约束完善✅ ✔️ 附带示例SQL开箱即用落地成本极低。