钦州市网站建设_网站建设公司_Redis_seo优化
2026/1/2 5:42:18 网站建设 项目流程

✅ 适配「项目管理配置」完整业务的数据库表设计(生产级、可直接落地)

设计说明

✅ 完全匹配图片中项目、工作项、产品、权限/全局配置4大核心模块所有字段;
✅ 遵循「主表+关联子表」设计范式,表关系清晰、数据冗余低,支持增删改查/分页/权限隔离;
✅ 兼容MySQL8.0/5.7,字段类型精准、索引完善,附带数据插入示例+核心查询语句,可直接执行;
✅ 预留扩展字段,满足后续功能迭代(如状态扩展、多维度配置)。


一、核心建表语句(全量,按业务模块划分)

📌 表1:项目配置主表pm_project_config(核心根表)

存储项目维度的基础配置,对应图片中「项目、项目属性、项目状态、项目角色」核心配置项,是项目模块的主表。

CREATETABLE`pm_project_config`(`id`BIGINTUNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT'主键ID,自增',`config_name`VARCHAR(128)NOTNULLCOMMENT'配置名称(如:研发项目配置、测试项目配置)',`project_code_rule`VARCHAR(255)DEFAULT''COMMENT'项目编号生成规则',`project_attr`TEXTCOMMENT'项目核心属性(JSON格式存储,如负责人类型、立项流程、归档规则)',`project_status`VARCHAR(255)NOTNULLCOMMENT'项目状态(关联数据字典,如:立项中,进行中,暂停,已完成,已作废)',`project_role`VARCHAR(255)NOTNULLCOMMENT'项目角色配置(如:项目经理,产品经理,开发工程师,测试工程师)',`role_permission`TEXTCOMMENT'角色对应权限(JSON格式,如项目经理:编辑项目/分配权限)',`sort_num`INTDEFAULT0COMMENT'排序号,数字越小越靠前',`status`TINYINTNOTNULLDEFAULT1COMMENT'启用状态 1=启用 0=禁用',`create_by`VARCHAR(64)DEFAULT''COMMENT'创建人',`create_time`DATETIMENOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'创建时间',`update_by`VARCHAR(64)DEFAULT''COMMENT'更新人',`update_time`DATETIMENOTNULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'更新时间',`remark`VARCHAR(512)DEFAULT''COMMENT'备注',PRIMARYKEY(`id`),UNIQUEKEY`uk_config_name`(`config_name`)COMMENT'配置名称唯一,避免重复',KEY`idx_status`(`status`)COMMENT'状态索引,提升查询效率')ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COMMENT='项目配置主表 - 管理项目/属性/状态/角色配置';

📌 表2:工作项配置表pm_work_item_config(核心业务表)

完全覆盖图片中「工作项、工作项类型、属性、状态、优先级、关联关系、展示上限」所有配置项,是项目执行层核心配置表。

CREATETABLE`pm_work_item_config`(`id`BIGINTUNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT'主键ID,自增',`config_name`VARCHAR(128)NOTNULLCOMMENT'配置名称(如:研发任务配置、Bug管理配置)',`work_item_type`VARCHAR(255)NOTNULLCOMMENT'工作项类型(如:需求,任务,Bug,优化,文档)',`work_item_attr`TEXTCOMMENT'工作项核心属性(JSON格式,如优先级、工时预估、验收标准)',`work_item_status`VARCHAR(255)NOTNULLCOMMENT'工作项状态(如:待分配,进行中,待审核,已完成,已驳回)',`priority_level`VARCHAR(128)NOTNULLCOMMENT'优先级配置(如:P0紧急,P1高,P2中,P3低)',`relation_type`VARCHAR(128)DEFAULT''COMMENT'关联关系类型(如:父子,依赖,关联)',`show_limit`INTNOTNULLDEFAULT100COMMENT'工作项展示上限,默认100条',`sort_num`INTDEFAULT0COMMENT'排序号',`status`TINYINTNOTNULLDEFAULT1COMMENT'启用状态 1=启用 0=禁用',`create_by`VARCHAR(64)DEFAULT'',`create_time`DATETIMEDEFAULTCURRENT_TIMESTAMP,`update_by`VARCHAR(64)DEFAULT'',`update_time`DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,`remark`VARCHAR(512)DEFAULT'',PRIMARYKEY(`id`),UNIQUEKEY`uk_config_name`(`config_name`),KEY`idx_status`(`status`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COMMENT='工作项配置表 - 管理工作项全维度配置规则';

📌 表3:产品配置表pm_product_config(业务扩展表)

匹配图片中「产品、产品属性」配置项,实现产品维度的独立配置,支持「产品-项目-工作项」层级关联。

CREATETABLE`pm_product_config`(`id`BIGINTUNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT'主键ID,自增',`product_name`VARCHAR(128)NOTNULLCOMMENT'产品名称',`product_code_rule`VARCHAR(255)DEFAULT''COMMENT'产品编号生成规则',`product_attr`TEXTCOMMENT'产品核心属性(JSON格式,如版本规则、迭代周期、需求来源)',`sort_num`INTDEFAULT0COMMENT'排序号',`status`TINYINTNOTNULLDEFAULT1COMMENT'启用状态 1=启用 0=禁用',`create_by`VARCHAR(64)DEFAULT'',`create_time`DATETIMEDEFAULTCURRENT_TIMESTAMP,`update_by`VARCHAR(64)DEFAULT'',`update_time`DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,`remark`VARCHAR(512)DEFAULT'',PRIMARYKEY(`id`),UNIQUEKEY`uk_product_name`(`product_name`),KEY`idx_status`(`status`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COMMENT='产品配置表 - 管理产品/产品属性配置';

📌 表4:全局配置表pm_global_config(兜底配置表)

覆盖图片中「全局配置方案、视图配置、权限、权限配置」所有配置项,是全模块共用的公共配置表,全局生效。

CREATETABLE`pm_global_config`(`id`BIGINTUNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT'主键ID,自增',`global_scheme`TEXTCOMMENT'全局配置方案(JSON格式,如数据保留时长、配置生效规则、通知规则)',`view_config`TEXTCOMMENT'视图配置(JSON格式,如列表展示字段、详情布局、统计视图样式)',`permission_rule`TEXTCOMMENT'权限规则(JSON格式,如配置项操作权限、数据查看权限)',`permission_config`VARCHAR(255)DEFAULT''COMMENT'权限配置(如:超级管理员=全部权限,项目管理员=编辑权限)',`is_default`TINYINTNOTNULLDEFAULT0COMMENT'是否默认配置 1=是 0=否',`create_by`VARCHAR(64)DEFAULT'',`create_time`DATETIMEDEFAULTCURRENT_TIMESTAMP,`update_by`VARCHAR(64)DEFAULT'',`update_time`DATETIMEDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,`remark`VARCHAR(512)DEFAULT'',PRIMARYKEY(`id`),UNIQUEKEY`uk_is_default`(`is_default`)COMMENT'默认配置唯一,仅允许1条')ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COMMENT='全局配置表 - 管理全局方案/视图/权限配置';

📌 表5:配置关联关系表pm_config_relation(关联桥接表)

实现「项目-工作项-产品」三者的灵活关联,支持「1个项目对应多个工作项、1个产品对应多个项目」,解决多维度配置关联问题,是核心关联表。

CREATETABLE`pm_config_relation`(`id`BIGINTUNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT'主键ID,自增',`project_config_id`BIGINTUNSIGNEDNOTNULLCOMMENT'关联项目配置表ID',`work_item_config_id`BIGINTUNSIGNEDNOTNULLCOMMENT'关联工作项配置表ID',`product_config_id`BIGINTUNSIGNEDDEFAULTNULLCOMMENT'关联产品配置表ID(无则为NULL)',`relation_desc`VARCHAR(512)DEFAULT''COMMENT'关联描述(如:研发项目关联研发任务+产品A)',`create_time`DATETIMEDEFAULTCURRENT_TIMESTAMP,PRIMARYKEY(`id`),UNIQUEKEY`uk_relation`(`project_config_id`,`work_item_config_id`,`product_config_id`)COMMENT'关联关系唯一',KEY`idx_project_id`(`project_config_id`),KEY`idx_work_item_id`(`work_item_config_id`),KEY`idx_product_id`(`product_config_id`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COMMENT='配置关联表 - 关联项目/工作项/产品配置关系';

二、表结构核心设计亮点(适配业务+生产标准)

✅ 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大类全覆盖);
✅ 复杂配置项(如属性、规则)采用TEXT+JSON格式存储,兼顾灵活性与扩展性;
✅ 状态/标识类字段用TINYINT(0/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_id=p.idLEFTJOINpm_work_item_config wONr.work_item_config_id=w.idLEFTJOINpm_product_config proONr.product_config_id=pro.id;

✅ 2. 查询所有启用的配置项(前端列表展示)

-- 查询启用的项目配置SELECT*FROMpm_project_configWHEREstatus=1ORDERBYsort_numASC;-- 查询启用的工作项配置SELECT*FROMpm_work_item_configWHEREstatus=1ORDERBYsort_numASC;

✅ 3. 查询全局默认配置(系统兜底使用)

SELECT*FROMpm_global_configWHEREis_default=1;

✅ 4. 查询指定项目下的所有工作项配置

SELECTw.*FROMpm_work_item_config wINNERJOINpm_config_relation rONw.id=r.work_item_config_idWHEREr.project_config_id=1;-- 项目配置ID

五、配套说明(落地必备)

✅ 1. 数据字典建议(前端下拉/状态展示)

可新增4个数据字典,配合表中枚举字段使用,提升前端交互体验:

  1. project_status:项目状态(立项中、进行中、暂停、已完成、已作废);
  2. work_item_status:工作项状态(待分配、进行中、待审核、已完成、已驳回);
  3. priority_level:优先级(P0紧急、P1高、P2中、P3低);
  4. config_status:配置状态(启用、禁用)。

✅ 2. 若依系统适配(无缝对接)

如果基于若依框架落地,可直接复用3个核心能力,无需重复开发:
✅ 权限:配置表create_by/update_by关联若依sys_user表的用户ID;
✅ 日志:配置操作日志接入若依sys_oper_log表,实现操作追溯;
✅ 数据范围:基于若依「部门/角色」权限,实现配置数据的隔离查看。

✅ 3. 执行顺序

1. 先执行所有建表语句 → 2. 执行数据插入示例 → 3. 执行查询语句验证

📌 所有SQL语句均已实际验证,可直接复制到Navicat/DBeaver等工具执行,无语法错误。


六、设计总结

✅ ✅ ✅ 本套表结构100%匹配图片中的所有配置项,满足「项目管理配置」全业务需求,具备以下核心能力:
✅ ✔️ 覆盖4大模块所有字段,无遗漏、无冗余;
✅ ✔️ 表关系清晰,支持多维度关联与灵活扩展;
✅ ✔️ 生产级规范,索引/审计/唯一性约束完善;
✅ ✔️ 附带示例SQL,开箱即用,落地成本极低。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询