工作流JBPM系统数据库表介绍

简介: 工作流JBPM系统数据库表介绍

☃️4.1 建表


该系统自带18张表,用于支撑该系统的逻辑与流程业务;

建表语句如下:

create database jbpmdb;
use jbpmdb;
DROP TABLE IF EXISTS `jbpm4_deployment`;
CREATE TABLE IF NOT EXISTS `jbpm4_deployment` (
 `DBID_` bigint(20) NOT NULL,
 `NAME_` longtext,
 `TIMESTAMP_` bigint(20) DEFAULT NULL,
 `STATE_` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_deployprop`;
CREATE TABLE IF NOT EXISTS `jbpm4_deployprop` (
 `DBID_` bigint(20) NOT NULL,
 `DEPLOYMENT_` bigint(20) DEFAULT NULL,
 `OBJNAME_` varchar(255) DEFAULT NULL,
 `KEY_` varchar(255) DEFAULT NULL,
 `STRINGVAL_` varchar(255) DEFAULT NULL,
 `LONGVAL_` bigint(20) DEFAULT NULL,
 PRIMARY KEY (`DBID_`),
 KEY `IDX_DEPLPROP_DEPL` (`DEPLOYMENT_`),
 KEY `FK_DEPLPROP_DEPL` (`DEPLOYMENT_`),
 CONSTRAINT `FK_DEPLPROP_DEPL` FOREIGN KEY (`DEPLOYMENT_`) REFERENCES `jbpm4_deployment` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
DROP TABLE IF EXISTS `jbpm4_execution`;
CREATE TABLE IF NOT EXISTS `jbpm4_execution` (
 `DBID_` bigint(20) NOT NULL,
 `CLASS_` varchar(255) NOT NULL,
 `DBVERSION_` int(11) NOT NULL,
 `ACTIVITYNAME_` varchar(255) DEFAULT NULL,
 `PROCDEFID_` varchar(255) DEFAULT NULL,
 `HASVARS_` bit(1) DEFAULT NULL,
 `NAME_` varchar(255) DEFAULT NULL,
 `KEY_` varchar(255) DEFAULT NULL,
 `ID_` varchar(255) DEFAULT NULL,
 `STATE_` varchar(255) DEFAULT NULL,
 `SUSPHISTSTATE_` varchar(255) DEFAULT NULL,
 `PRIORITY_` int(11) DEFAULT NULL,
 `HISACTINST_` bigint(20) DEFAULT NULL,
 `PARENT_` bigint(20) DEFAULT NULL,
 `INSTANCE_` bigint(20) DEFAULT NULL,
 `SUPEREXEC_` bigint(20) DEFAULT NULL,
 `SUBPROCINST_` bigint(20) DEFAULT NULL,
 `PARENT_IDX_` int(11) DEFAULT NULL,
 PRIMARY KEY (`DBID_`),
 UNIQUE KEY `ID_` (`ID_`),
 KEY `IDX_EXEC_SUPEREXEC` (`SUPEREXEC_`),
 KEY `IDX_EXEC_INSTANCE` (`INSTANCE_`),
 KEY `IDX_EXEC_SUBPI` (`SUBPROCINST_`),
 KEY `IDX_EXEC_PARENT` (`PARENT_`),
 KEY `FK_EXEC_PARENT` (`PARENT_`),
 KEY `FK_EXEC_SUBPI` (`SUBPROCINST_`),
 KEY `FK_EXEC_INSTANCE` (`INSTANCE_`),
 KEY `FK_EXEC_SUPEREXEC` (`SUPEREXEC_`),
 CONSTRAINT `FK_EXEC_INSTANCE` FOREIGN KEY (`INSTANCE_`) REFERENCES `jbpm4_execution` (`DBID_`),
 CONSTRAINT `FK_EXEC_PARENT` FOREIGN KEY (`PARENT_`) REFERENCES `jbpm4_execution` (`DBID_`),
 CONSTRAINT `FK_EXEC_SUBPI` FOREIGN KEY (`SUBPROCINST_`) REFERENCES `jbpm4_execution` (`DBID_`),
 CONSTRAINT `FK_EXEC_SUPEREXEC` FOREIGN KEY (`SUPEREXEC_`) REFERENCES `jbpm4_execution` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_hist_actinst`;
CREATE TABLE IF NOT EXISTS `jbpm4_hist_actinst` (
 `DBID_` bigint(20) NOT NULL,
 `CLASS_` varchar(255) NOT NULL,
 `DBVERSION_` int(11) NOT NULL,
 `HPROCI_` bigint(20) DEFAULT NULL,
 `engine_` varchar(255) DEFAULT NULL,
 `EXECUTION_` varchar(255) DEFAULT NULL,
 `ACTIVITY_NAME_` varchar(255) DEFAULT NULL,
 `START_` datetime DEFAULT NULL,
 `END_` datetime DEFAULT NULL,
 `DURATION_` bigint(20) DEFAULT NULL,
 `TRANSITION_` varchar(255) DEFAULT NULL,
 `NEXTIDX_` int(11) DEFAULT NULL,
 `HTASK_` bigint(20) DEFAULT NULL,
 `TYPE_` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`DBID_`),
 KEY `IDX_HACTI_HPROCI` (`HPROCI_`),
 KEY `IDX_HTI_HTASK` (`HTASK_`),
 KEY `FK_HACTI_HPROCI` (`HPROCI_`),
 KEY `FK_HTI_HTASK` (`HTASK_`),
 CONSTRAINT `FK_HACTI_HPROCI` FOREIGN KEY (`HPROCI_`) REFERENCES `jbpm4_hist_procinst` (`DBID_`),
 CONSTRAINT `FK_HTI_HTASK` FOREIGN KEY (`HTASK_`) REFERENCES `jbpm4_hist_task` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_hist_detail`;
CREATE TABLE IF NOT EXISTS `jbpm4_hist_detail` (
 `DBID_` bigint(20) NOT NULL,
 `CLASS_` varchar(255) NOT NULL,
 `DBVERSION_` int(11) NOT NULL,
 `USERID_` varchar(255) DEFAULT NULL,
 `TIME_` datetime DEFAULT NULL,
 `HPROCI_` bigint(20) DEFAULT NULL,
 `HPROCIIDX_` int(11) DEFAULT NULL,
 `HACTI_` bigint(20) DEFAULT NULL,
 `HACTIIDX_` int(11) DEFAULT NULL,
 `HTASK_` bigint(20) DEFAULT NULL,
 `HTASKIDX_` int(11) DEFAULT NULL,
 `HVAR_` bigint(20) DEFAULT NULL,
 `HVARIDX_` int(11) DEFAULT NULL,
 `MESSAGE_` longtext,
 `OLD_STR_` varchar(255) DEFAULT NULL,
 `NEW_STR_` varchar(255) DEFAULT NULL,
 `OLD_INT_` int(11) DEFAULT NULL,
 `NEW_INT_` int(11) DEFAULT NULL,
 `OLD_TIME_` datetime DEFAULT NULL,
 `NEW_TIME_` datetime DEFAULT NULL,
 `PARENT_` bigint(20) DEFAULT NULL,
 `PARENT_IDX_` int(11) DEFAULT NULL,
 PRIMARY KEY (`DBID_`),
 KEY `IDX_HDET_HACTI` (`HACTI_`),
 KEY `IDX_HDET_HPROCI` (`HPROCI_`),
 KEY `IDX_HDET_HVAR` (`HVAR_`),
 KEY `IDX_HDET_HTASK` (`HTASK_`),
 KEY `FK_HDETAIL_HPROCI` (`HPROCI_`),
 KEY `FK_HDETAIL_HACTI` (`HACTI_`),
 KEY `FK_HDETAIL_HTASK` (`HTASK_`),
 KEY `FK_HDETAIL_HVAR` (`HVAR_`),
 CONSTRAINT `FK_HDETAIL_HACTI` FOREIGN KEY (`HACTI_`) REFERENCES `jbpm4_hist_actinst` (`DBID_`),
 CONSTRAINT `FK_HDETAIL_HPROCI` FOREIGN KEY (`HPROCI_`) REFERENCES `jbpm4_hist_procinst` (`DBID_`),
 CONSTRAINT `FK_HDETAIL_HTASK` FOREIGN KEY (`HTASK_`) REFERENCES `jbpm4_hist_task` (`DBID_`),
 CONSTRAINT `FK_HDETAIL_HVAR` FOREIGN KEY (`HVAR_`) REFERENCES `jbpm4_hist_var` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_hist_procinst`;
CREATE TABLE IF NOT EXISTS `jbpm4_hist_procinst` (
 `DBID_` bigint(20) NOT NULL,
 `DBVERSION_` int(11) NOT NULL,
 `ID_` varchar(255) DEFAULT NULL,
 `PROCDEFID_` varchar(255) DEFAULT NULL,
 `KEY_` varchar(255) DEFAULT NULL,
 `START_` datetime DEFAULT NULL,
 `END_` datetime DEFAULT NULL,
 `DURATION_` bigint(20) DEFAULT NULL,
 `STATE_` varchar(255) DEFAULT NULL,
 `ENDACTIVITY_` varchar(255) DEFAULT NULL,
 `NEXTIDX_` int(11) DEFAULT NULL,
 PRIMARY KEY (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_hist_task`;
CREATE TABLE IF NOT EXISTS `jbpm4_hist_task` (
 `DBID_` bigint(20) NOT NULL,
 `DBVERSION_` int(11) NOT NULL,
 `EXECUTION_` varchar(255) DEFAULT NULL,
 `OUTCOME_` varchar(255) DEFAULT NULL,
 `ASSIGNEE_` varchar(255) DEFAULT NULL,
 `PRIORITY_` int(11) DEFAULT NULL,
 `STATE_` varchar(255) DEFAULT NULL,
 `CREATE_` datetime DEFAULT NULL,
 `END_` datetime DEFAULT NULL,
 `DURATION_` bigint(20) DEFAULT NULL,
 `NEXTIDX_` int(11) DEFAULT NULL,
 `SUPERTASK_` bigint(20) DEFAULT NULL,
 PRIMARY KEY (`DBID_`),
 KEY `IDX_HSUPERT_SUB` (`SUPERTASK_`),
 KEY `FK_HSUPERT_SUB` (`SUPERTASK_`),
 CONSTRAINT `FK_HSUPERT_SUB` FOREIGN KEY (`SUPERTASK_`) REFERENCES `jbpm4_hist_task` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
DROP TABLE IF EXISTS `jbpm4_hist_var`;
CREATE TABLE IF NOT EXISTS `jbpm4_hist_var` (
 `DBID_` bigint(20) NOT NULL,
 `DBVERSION_` int(11) NOT NULL,
 `PROCINSTID_` varchar(255) DEFAULT NULL,
 `EXECUTIONID_` varchar(255) DEFAULT NULL,
 `VARNAME_` varchar(255) DEFAULT NULL,
 `VALUE_` varchar(255) DEFAULT NULL,
 `HPROCI_` bigint(20) DEFAULT NULL,
 `HTASK_` bigint(20) DEFAULT NULL,
 PRIMARY KEY (`DBID_`),
 KEY `IDX_HVAR_HPROCI` (`HPROCI_`),
 KEY `IDX_HVAR_HTASK` (`HTASK_`),
 KEY `FK_HVAR_HPROCI` (`HPROCI_`),
 KEY `FK_HVAR_HTASK` (`HTASK_`),
 CONSTRAINT `FK_HVAR_HPROCI` FOREIGN KEY (`HPROCI_`) REFERENCES `jbpm4_hist_procinst` (`DBID_`),
 CONSTRAINT `FK_HVAR_HTASK` FOREIGN KEY (`HTASK_`) REFERENCES `jbpm4_hist_task` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_id_group`;
CREATE TABLE IF NOT EXISTS `jbpm4_id_group` (
 `DBID_` bigint(20) NOT NULL,
 `DBVERSION_` int(11) NOT NULL,
 `ID_` varchar(255) DEFAULT NULL,
 `NAME_` varchar(255) DEFAULT NULL,
 `engine_` varchar(255) DEFAULT NULL,
 `PARENT_` bigint(20) DEFAULT NULL,
 `TYPE_` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`DBID_`),
 KEY `IDX_GROUP_PARENT` (`PARENT_`),
 KEY `FK_GROUP_PARENT` (`PARENT_`),
 CONSTRAINT `FK_GROUP_PARENT` FOREIGN KEY (`PARENT_`) REFERENCES `jbpm4_id_group` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_id_membership`;
CREATE TABLE IF NOT EXISTS `jbpm4_id_membership` (
 `DBID_` bigint(20) NOT NULL,
 `DBVERSION_` int(11) NOT NULL,
 `USER_` bigint(20) DEFAULT NULL,
 `GROUP_` bigint(20) DEFAULT NULL,
 `NAME_` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`DBID_`),
 KEY `IDX_MEM_USER` (`USER_`),
 KEY `IDX_MEM_GROUP` (`GROUP_`),
 KEY `FK_MEM_GROUP` (`GROUP_`),
 KEY `FK_MEM_USER` (`USER_`),
 CONSTRAINT `FK_MEM_GROUP` FOREIGN KEY (`GROUP_`) REFERENCES `jbpm4_id_group` (`DBID_`),
 CONSTRAINT `FK_MEM_USER` FOREIGN KEY (`USER_`) REFERENCES `jbpm4_id_user` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_id_user`;
CREATE TABLE IF NOT EXISTS `jbpm4_id_user` (
 `DBID_` bigint(20) NOT NULL,
 `DBVERSION_` int(11) NOT NULL,
 `ID_` varchar(255) DEFAULT NULL,
 `PASSWORD_` varchar(255) DEFAULT NULL,
 `GIVENNAME_` varchar(255) DEFAULT NULL,
 `FAMILYNAME_` varchar(255) DEFAULT NULL,
 `BUSINESSEMAIL_` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_job`;
CREATE TABLE IF NOT EXISTS `jbpm4_job` (
 `DBID_` bigint(20) NOT NULL,
 `CLASS_` varchar(255) NOT NULL,
 `DBVERSION_` int(11) NOT NULL,
 `DUEDATE_` datetime DEFAULT NULL,
 `STATE_` varchar(255) DEFAULT NULL,
 `ISEXCLUSIVE_` bit(1) DEFAULT NULL,
 `LOCKOWNER_` varchar(255) DEFAULT NULL,
 `LOCKEXPTIME_` datetime DEFAULT NULL,
 `EXCEPTION_` longtext,
 `RETRIES_` int(11) DEFAULT NULL,
 `PROCESSINSTANCE_` bigint(20) DEFAULT NULL,
 `EXECUTION_` bigint(20) DEFAULT NULL,
 `CFG_` bigint(20) DEFAULT NULL,
 `SIGNAL_` varchar(255) DEFAULT NULL,
 `EVENT_` varchar(255) DEFAULT NULL,
 `REPEAT_` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`DBID_`),
 KEY `IDX_JOBRETRIES` (`RETRIES_`),
 KEY `IDX_JOB_CFG` (`CFG_`),
 KEY `IDX_JOB_PRINST` (`PROCESSINSTANCE_`),
 KEY `IDX_JOB_EXE` (`EXECUTION_`),
 KEY `IDX_JOBLOCKEXP` (`LOCKEXPTIME_`),
 KEY `IDX_JOBDUEDATE` (`DUEDATE_`),
 KEY `FK_JOB_CFG` (`CFG_`),
 CONSTRAINT `FK_JOB_CFG` FOREIGN KEY (`CFG_`) REFERENCES `jbpm4_lob` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_lob`;
CREATE TABLE IF NOT EXISTS `jbpm4_lob` (
 `DBID_` bigint(20) NOT NULL,
 `DBVERSION_` int(11) NOT NULL,
 `BLOB_VALUE_` longblob,
 `DEPLOYMENT_` bigint(20) DEFAULT NULL,
 `NAME_` longtext,
 PRIMARY KEY (`DBID_`),
 KEY `IDX_LOB_DEPLOYMENT` (`DEPLOYMENT_`),
 KEY `FK_LOB_DEPLOYMENT` (`DEPLOYMENT_`),
 CONSTRAINT `FK_LOB_DEPLOYMENT` FOREIGN KEY (`DEPLOYMENT_`) REFERENCES `jbpm4_deployment` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_participation`;
CREATE TABLE IF NOT EXISTS `jbpm4_participation` (
 `DBID_` bigint(20) NOT NULL,
 `DBVERSION_` int(11) NOT NULL,
 `GROUPID_` varchar(255) DEFAULT NULL,
 `USERID_` varchar(255) DEFAULT NULL,
 `engine_` varchar(255) DEFAULT NULL,
 `TASK_` bigint(20) DEFAULT NULL,
 `SWIMLANE_` bigint(20) DEFAULT NULL,
 `TYPE_` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`DBID_`),
 KEY `IDX_PART_TASK` (`TASK_`),
 KEY `FK_PART_SWIMLANE` (`SWIMLANE_`),
 KEY `FK_PART_TASK` (`TASK_`),
 CONSTRAINT `FK_PART_SWIMLANE` FOREIGN KEY (`SWIMLANE_`) REFERENCES `jbpm4_swimlane` (`DBID_`),
 CONSTRAINT `FK_PART_TASK` FOREIGN KEY (`TASK_`) REFERENCES `jbpm4_task` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_property`;
CREATE TABLE IF NOT EXISTS `jbpm4_property` (
 `KEY_` varchar(255) NOT NULL,
 `VERSION_` int(11) NOT NULL,
 `VALUE_` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`KEY_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_swimlane`;
CREATE TABLE IF NOT EXISTS `jbpm4_swimlane` (
 `DBID_` bigint(20) NOT NULL,
 `DBVERSION_` int(11) NOT NULL,
 `NAME_` varchar(255) DEFAULT NULL,
 `ASSIGNEE_` varchar(255) DEFAULT NULL,
 `EXECUTION_` bigint(20) DEFAULT NULL,
 PRIMARY KEY (`DBID_`),
 KEY `IDX_SWIMLANE_EXEC` (`EXECUTION_`),
 KEY `FK_SWIMLANE_EXEC` (`EXECUTION_`),
 CONSTRAINT `FK_SWIMLANE_EXEC` FOREIGN KEY (`EXECUTION_`) REFERENCES `jbpm4_execution` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_task`;
CREATE TABLE IF NOT EXISTS `jbpm4_task` (
 `DBID_` bigint(20) NOT NULL,
 `CLASS_` char(1) NOT NULL,
 `DBVERSION_` int(11) NOT NULL,
 `NAME_` varchar(255) DEFAULT NULL,
 `DESCR_` longtext,
 `STATE_` varchar(255) DEFAULT NULL,
 `SUSPHISTSTATE_` varchar(255) DEFAULT NULL,
 `ASSIGNEE_` varchar(255) DEFAULT NULL,
 `FORM_` varchar(255) DEFAULT NULL,
 `PRIORITY_` int(11) DEFAULT NULL,
 `CREATE_` datetime DEFAULT NULL,
 `DUEDATE_` datetime DEFAULT NULL,
 `PROGRESS_` int(11) DEFAULT NULL,
 `SIGNALLING_` bit(1) DEFAULT NULL,
 `EXECUTION_ID_` varchar(255) DEFAULT NULL,
 `ACTIVITY_NAME_` varchar(255) DEFAULT NULL,
 `HASVARS_` bit(1) DEFAULT NULL,
 `SUPERTASK_` bigint(20) DEFAULT NULL,
 `EXECUTION_` bigint(20) DEFAULT NULL,
 `PROCINST_` bigint(20) DEFAULT NULL,
 `SWIMLANE_` bigint(20) DEFAULT NULL,
 `TASKDEFNAME_` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`DBID_`),
 KEY `IDX_TASK_SUPERTASK` (`SUPERTASK_`),
 KEY `FK_TASK_SWIML` (`SWIMLANE_`),
 KEY `FK_TASK_SUPERTASK` (`SUPERTASK_`),
 CONSTRAINT `FK_TASK_SUPERTASK` FOREIGN KEY (`SUPERTASK_`) REFERENCES `jbpm4_task` (`DBID_`),
 CONSTRAINT `FK_TASK_SWIML` FOREIGN KEY (`SWIMLANE_`) REFERENCES `jbpm4_swimlane` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `jbpm4_variable`;
CREATE TABLE IF NOT EXISTS `jbpm4_variable` (
 `DBID_` bigint(20) NOT NULL,
 `CLASS_` varchar(255) NOT NULL,
 `DBVERSION_` int(11) NOT NULL,
 `KEY_` varchar(255) DEFAULT NULL,
 `CONVERTER_` varchar(255) DEFAULT NULL,
 `HIST_` bit(1) DEFAULT NULL,
 `EXECUTION_` bigint(20) DEFAULT NULL,
 `TASK_` bigint(20) DEFAULT NULL,
 `LOB_` bigint(20) DEFAULT NULL,
 `DATE_VALUE_` datetime DEFAULT NULL,
 `DOUBLE_VALUE_` double DEFAULT NULL,
 `CLASSNAME_` varchar(255) DEFAULT NULL,
 `LONG_VALUE_` bigint(20) DEFAULT NULL,
 `STRING_VALUE_` varchar(255) DEFAULT NULL,
 `TEXT_VALUE_` longtext,
 `EXESYS_` bigint(20) DEFAULT NULL,
 PRIMARY KEY (`DBID_`),
 KEY `IDX_VAR_EXESYS` (`EXESYS_`),
 KEY `IDX_VAR_TASK` (`TASK_`),
 KEY `IDX_VAR_EXECUTION` (`EXECUTION_`),
 KEY `IDX_VAR_LOB` (`LOB_`),
 KEY `FK_VAR_LOB` (`LOB_`),
 KEY `FK_VAR_EXECUTION` (`EXECUTION_`),
 KEY `FK_VAR_EXESYS` (`EXESYS_`),
 KEY `FK_VAR_TASK` (`TASK_`),
 CONSTRAINT `FK_VAR_EXECUTION` FOREIGN KEY (`EXECUTION_`) REFERENCES `jbpm4_execution` (`DBID_`),
 CONSTRAINT `FK_VAR_EXESYS` FOREIGN KEY (`EXESYS_`) REFERENCES `jbpm4_execution` (`DBID_`),
 CONSTRAINT `FK_VAR_LOB` FOREIGN KEY (`LOB_`) REFERENCES `jbpm4_lob` (`DBID_`),
 CONSTRAINT `FK_VAR_TASK` FOREIGN KEY (`TASK_`) REFERENCES `jbpm4_task` (`DBID_`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


☃️4.2 数据库逻辑关系


18张表简介:


4.2.1 资源库与运行时的表


4.2.2 历史数据表


☃️4.3 表结构


表JBPM4_DEPLOYMENT

表名 流程定义表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N PK 流程模版标识
NAME_ CLOB Y 流程模版名称
TIMESTAMP_ NUMBER(19) Y 时间戳
STATE_ VARCHAR2(255 CHAR) Y 可用状态
补充说明 一条 jbpm4_deployment 记录需要对应4 条jbpm4_deployprop 记录

表JBPM4_DEPLOYPROP

表名 流程定义属性表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N PK 主键
DEPLOYMENT_ NUMBER(19) Y FK(JBPM4_DEPLOYMENT, DBID_) 流程ID
OBJNAME_ VARCHAR2(255 CHAR) Y 流程名称
KEY_ VARCHAR2(255 CHAR) Y 类型
STRINGVAL_ VARCHAR2(255 CHAR) Y 类型是字符串时的值
LONGVAL_ NUMBER(19) Y 类型是数值时的值
补充说明 ① 一条jbpm4_deployment 记录需要对应4 条jbpm4_deployprop 记录,存储在KEY_里面:Langid 标识解析流程定义使用的 jpdl 的版本Pdid 流程定义的 id , 唯一标识一个流程Pdkey 流程的 key ,标识同一类流程Pdversion 标识流程的版本

表JBPM4_EXECUTION

表名 流程实例表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N PK 流程实例ID
CLASS_ VARCHAR2(255 CHAR) N 类型
DBVERSION_ NUMBER(10) N 步骤版本
ACTIVITYNAME_ VARCHAR2(255 CHAR) Y 节点名称
PROCDEFID_ VARCHAR2(255 CHAR) Y 流程定义ID
HASVARS_ NUMBER(1) Y 是否有变量值
NAME_ VARCHAR2(255 CHAR) Y 名称
KEY_ VARCHAR2(255 CHAR) Y
ID_ VARCHAR2(255 CHAR) Y UK 令牌ID
STATE_ VARCHAR2(255 CHAR) Y 令牌状态
SUSPHISTSTATE_ VARCHAR2(255 CHAR) Y 保存暂停之前状态
PRIORITY_ NUMBER(10) Y 优先级
HISACTINST_ NUMBER(19) Y 历史活动实例ID
PARENT_ NUMBER(19) Y FK(JBPM4_EXECUTION, DBID_) 父实例
INSTANCE_ NUMBER(19) Y FK(JBPM4_EXECUTION, DBID_) 流程实例
SUPEREXEC_ NUMBER(19) Y FK(JBPM4_EXECUTION, DBID_) 父令牌
SUBPROCINST_ NUMBER(19) Y FK(JBPM4_EXECUTION, DBID_) 子流程实例
PARENT_IDX_ NUMBER(10) Y 父实例序号
补充说明 驱动流程运行,记录流程实例运行必须的信息

表JBPM4_HIST_ACTINST

表名 流程活动(节点)实例表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N PK 标识
CLASS_ VARCHAR2(255 CHAR) N activity类型
DBVERSION_ NUMBER(10) N 版本
HPROCI_ NUMBER( 19) Y FK(JBPM4_HIST_PROCINST, DBID_) 历史流程实例
TYPE_ VARCHAR2(255 CHAR) Y 活动实例类型
EXECUTION_ VARCHAR2(255 CHAR) Y 令牌
ACTIVITY_NAME_ VARCHAR2(255 CHAR) Y 活动实例名称
START_ TIMESTAMP(6) Y 开始名称
END_ TIMESTAMP(6) Y 结束时间
DURATION_ NUMBER(19) Y 节点停留时间
TRANSITION_ VARCHAR2(255 CHAR) Y 迁移路径
NEXTIDX_ NUMBER(10) Y
HTASK_ NUMBER(19) Y FK(JBPM4_HIST_TASK, DBID_) 对应的定义任务
补充说明 流程运行中执行过的节点的记录,包括Task和State节点

JBPM4_HIST_DETAIL

表名 流程历史详细表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N PK 流程模版标识
CLASS_ VARCHAR2(255 CHAR) N
DBVERSION_ NUMBER(10) N 版本
USERID_ VARCHAR2(255 CHAR) Y 用户ID
TIME_ TIMESTAMP(6) Y 时间
HPROCI_ NUMBER(19) Y FK(JBPM4_HIST_PROCINST, DBID_) 对应的历史流程实例
HPROCIIDX_ NUMBER(10) Y
HACTI_ NUMBER(19) Y FK(JBPM4_HIST_ACTINST, DBID_) 对应的历史活动实例ID
HACTIIDX_ NUMBER(10) Y
HTASK_ NUMBER(19) Y FK(JBPM4_HIST_TASK, DBID_) 对应的任务
HTASKIDX_ NUMBER(10) Y
HVAR_ NUMBER(19) Y FK(JBPM4_HIST_VAR, DBID_) 对应的变量值
HVARIDX_ NUMBER(10) Y
MESSAGE_ CLOB Y 消息
OLD_STR_ VARCHAR2(255 CHAR) Y 老的String类型的值
NEW_STR_ VARCHAR2(255 CHAR) Y 新的String类型的值
OLD_INT_ NUMBER(10) Y
NEW_INT_ NUMBER(10) Y
OLD_TIME_ TIMESTAMP(6) Y
NEW_TIME_ TIMESTAMP(6) Y
PARENT_ NUMBER(19) Y 变量的父变量
PARENT_IDX_ NUMBER(10) Y 变量的父变量序号
补充说明 历史信息的详细表,跟其他的历史表进行关联

JBPM4_HIST_PROCINST

表名 流程实例历史表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N PK 标识
DBVERSION_ NUMBER(10) N 版本
ID_ VARCHAR2(255 CHAR) Y
PROCDEFID_ VARCHAR2(255 CHAR) Y 流程定义ID
KEY_ VARCHAR2(255 CHAR) Y
START_ TIMESTAMP(6) Y 开始时间
END_ TIMESTAMP(6) Y 结束时间
DURATION_ NUMBER(19) Y 停留时间
STATE_ VARCHAR2(255 CHAR) Y 流程实例状态(活动,完成)
ENDACTIVITY_ VARCHAR2(255 CHAR) Y 是否完成
NEXTIDX_ NUMBER(10) Y
补充说明 历史流程实例相关信息

JBPM4_HIST_TASK

表名 流程任务实例历史表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N PK 标识
DBVERSION_ NUMBER(10) N 版本
EXECUTION_ VARCHAR2(255 CHAR) Y 令牌
OUTCOME_ VARCHAR2(255 CHAR) Y 路径名称
ASSIGNEE_ VARCHAR2(255 CHAR) Y 处理人
PRIORITY_ NUMBER(10) Y 优先级
STATE_ VARCHAR2(255 CHAR) Y 完成情况
CREATE_ TIMESTAMP(6) Y 创建时间
END_ TIMESTAMP(6) Y 完成时间
DURATION_ NUMBER(19) Y 任务节点停留时间
NEXTIDX_ NUMBER(10) Y
SUPERTASK_ NUMBER(19) Y FK(JBPM4_HIST_TASK, DBID_) 父任务
补充说明 历史任务相关信息,与jbpm4_hist_actinst关联,单独的表减少了state节点相应字段的空闲和空间浪费

JBPM4_HIST_VAR

表名 流程变量(上下文)历史表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N PK 流程模版标识
DBVERSION_ NUMBER(10) N 版本
PROCINSTID_ VARCHAR2(255 CHAR) Y 对应运行的流程实例
EXECUTIONID_ VARCHAR2(255 CHAR) Y 活动实例ID
VARNAME_ VARCHAR2(255 CHAR) Y 变量名称
VALUE_ VARCHAR2(255 CHAR) Y
HPROCI_ NUMBER(19) Y FK(JBPM4_HIST_PROCINST, DBID_) 历史流程实例
HTASK_ NUMBER(19) Y FK(JBPM4_HIST_TASK, DBID_) 历史任务
补充说明 历史变量相关信息

JBPM4_ID_GROUP

表名 组表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N
DBVERSION_ NUMBER(10) N
ID_ VARCHAR2(255 CHAR) Y
NAME_ VARCHAR2(255 CHAR) Y
TYPE_ VARCHAR2(255 CHAR) Y
PARENT_ NUMBER(19) Y
补充说明

JBPM4_ID_MEMBERSHIP

表名 用户角色表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N
DBVERSION_ NUMBER(10) N
USER_ NUMBER(19) Y
GROUP_ NUMBER(19) Y
NAME_ VARCHAR2(255 CHAR) Y
补充说明

JBPM4_ID_USER

表名 用户表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N
DBVERSION_ NUMBER(10) N
ID_ VARCHAR2(255 CHAR) Y
PASSWORD_ VARCHAR2(255 CHAR) Y
GIVENNAME_ VARCHAR2(255 CHAR) Y
FAMILYNAME_ VARCHAR2(255 CHAR) Y
BUSINESSEMAIL_ VARCHAR2(255 CHAR) Y
补充说明

JBPM4_JOB

表名 定时表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N PK 标识
CLASS_ VARCHAR2(255 CHAR) N 版本
DBVERSION_ NUMBER(10) N
DUEDATE_ TIMESTAMP(6) Y 到期时间
STATE_ VARCHAR2(255 CHAR) Y 状态
ISEXCLUSIVE_ NUMBER(1) Y 是否可执行
LOCKOWNER_ VARCHAR2(255 CHAR) Y 锁定的参与者
LOCKEXPTIME_ TIMESTAMP(6) Y 锁定释放时间
EXCEPTION_ CLOB Y 活动实例
RETRIES_ NUMBER(10) Y 重复次数
PROCESSINSTANCE_ NUMBER(19) Y 流程实例
EXECUTION_ NUMBER(19) Y 异常信息
CFG_ NUMBER(19) Y FK(JBPM4_LOB, DBID_) 配置
SIGNAL_ VARCHAR2(255 CHAR) Y 信号
EVENT_ VARCHAR2(255 CHAR) Y 事件
REPEAT_ VARCHAR2(255 CHAR) Y 重复
补充说明 作业相关

JBPM4_LOB

表名 存储表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N PK 主键
DBVERSION_ NUMBER(10) N 版本
BLOB_VALUE_ BLOB Y 流程定义文件(xml、img、class)
DEPLOYMENT_ NUMBER(19) Y FK(JBPM4_DEPLOYMENT, DBID_) 流程模版标识ID
NAME_ CLOB Y 流程定义文件名
补充说明 保存根据流程定义 xml 形成的二进制数据

JBPM4_PARTICIPATION

表名 参与者表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N PK 标识
DBVERSION_ NUMBER(10) N 版本
GROUPID_ VARCHAR2(255 CHAR) Y 组ID
USERID_ VARCHAR2(255 CHAR) Y 用户ID
TYPE_ VARCHAR2(255 CHAR) Y 类型
TASK_ NUMBER(19) Y FK(JBPM4_SWIMLANE, DBID_) 任务ID
SWIMLANE_ NUMBER(19) Y FK(JBPM4_TASK,DBID_) 对应泳道
补充说明 办理人相关信息

JBPM4_PROPERTY

表名 序列表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
KEY_ VARCHAR2(255 CHAR) N
VERSION_ NUMBER(10) N
VALUE_ VARCHAR2(255 CHAR) Y
补充说明 为运行时需要持久化的对象生成dbid,其记录当前所有对象实例的最大值,每次需要生成dbid时,需要先获取该值,然后递增返回。

JBPM4_SWIMLANE

表名 泳道表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N PK 标识
DBVERSION_ NUMBER(10) N 版本
NAME_ VARCHAR2(255 CHAR) Y 泳道名
ASSIGNEE_ VARCHAR2(255 CHAR) Y 处理人
EXECUTION_ NUMBER(19) Y FK(JBPM4_EXECUTION, DBID_) 活动实例
补充说明 泳道相关信息

JBPM4_TASK

表名 任务表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N PK 主键
CLASS_ CHAR(1 CHAR) N 类型
DBVERSION_ NUMBER(10) N 版本
NAME_ VARCHAR2(255 CHAR) Y 活动节点名称
DESCR_ CLOB Y 描述
STATE_ VARCHAR2(255 CHAR) Y 状态
SUSPHISTSTATE_ VARCHAR2(255 CHAR) Y 保存暂停之前状态
ASSIGNEE_ VARCHAR2(255 CHAR) Y 处理人
FORM_ VARCHAR2(255 CHAR) Y 表单地址
PRIORITY_ NUMBER(10) Y 优先级
CREATE_ TIMESTAMP(6) Y 创建时间
DUEDATE_ TIMESTAMP(6) Y 任务持续时间,表明任务应在多长时间内完成
PROGRESS_ NUMBER(10) Y 活动实例名
SIGNALLING_ NUMBER(1) Y 签收
EXECUTION_ID_ VARCHAR2(255 CHAR) Y 活动实例ID
ACTIVITY_NAME_ VARCHAR2(255 CHAR) Y 活动实例名称
HASVARS_ NUMBER(1) Y 是否有流程变量
SUPERTASK_ NUMBER(19) Y FK(JBPM4_TASK, DBID_) 父任务
EXECUTION_ NUMBER(19) Y 活动实例
PROCINST_ NUMBER(19) Y 流程实例
SWIMLANE_ NUMBER(19) Y FK(JBPM4_SWIMLANE, DBID_) 对应的泳道
TASKDEFNAME_ VARCHAR2(255 CHAR) Y 任务定义名
补充说明 记录任务的相关信息

JBPM4_VARIABLE

表名 上下文表
列名 数据类型(精度范围) 空/非空 约束条件 中文名
DBID_ NUMBER(19) N PK 标识
CLASS_ VARCHAR2(255 CHAR) N 版本
DBVERSION_ NUMBER(10) N 变量类型
KEY_ VARCHAR2(255 CHAR) Y 变量索引
CONVERTER_ VARCHAR2(255 CHAR) Y 数值转换器
HIST_ NUMBER(1) Y 对应的流程实例
EXECUTION_ NUMBER(19) Y FK(JBPM4_EXECUTION, DBID_) 活动实例
TASK_ NUMBER(19) Y FK(JBPM4_TASK, DBID_) 对应的任务
LOB_ NUMBER(19) Y FK(JBPM4_LOB, DBID_)
DATE_VALUE_ TIMESTAMP(6) Y 当值为date类型时,存值
DOUBLE_VALUE_ FLOAT Y 当值为double类型时,存值
CLASSNAME_ VARCHAR2(255 CHAR) Y 变量类名
LONG_VALUE_ NUMBER(19) Y 当值为long类型时,存值
STRING_VALUE_ VARCHAR2(255 CHAR) Y 当值为String类型时,存值
TEXT_VALUE_ CLOB Y 当值为date类型时,存值
EXESYS_ NUMBER(19) Y FK(JBPM4_EXECUTION, DBID_)
补充说明 记录传给流程的变量的相关信息


☃️4.4 流程操作与数表交互说明


发布一个流程deploy

① jbpm4_deployment(流程定义):新增一条记录,记录新增的流程名称、时间、状态;

② jbpm4_lob(存储表): 新增一条记录,保存根据流程定义xml形成的二进制数据(同时也保存变量variable);

③ jbpm4_deployprop(流程定义属性表):新增四条记录,记录流程的属性,在“KEY_”里面记录一下四项内容:

Langid 标识解析流程定义使用的 jpdl 的版本;

Pdid 流程定义的 id , 唯一标识一个流程;

Pdkey 流程的 key ,标识同一类流程;

Pdversion 标识流程的版本。

zip包:(包含png和jpdl.xml)后

① JBPM4_DEPLOYMENT;

② JBPM4_DEPLOYPROP ;

③ JBPM4_LOB多两条。

开始一个流程startProcessInstanceByKey后

① jbpm4_execution(流程实例表):新增一条记录

② jbpm4_hist_procinst(流程实例历史表):新增一条记录

③ jbpm4_variable (上下表):新增一条记录

④ jbpm4_task (任务表):新增一条记录

⑤ jbpm4_hist_task(任务历史表):新增一条记录

⑥ jbpm4_hist_actinst (活动节点实例表):新增一条记录

填写申请信息

① jbpm4_variable(上下表) : 新增N条记录,根据表单信息决定

② jbpm4_task (任务表):新增一条记录

③ jbpm4_hist_task(任务历史表):新增一条记录

④ jbpm4_hist_actinst (活动节点实例表):新增一条记录

审批申请信息

1.同意:

① jbpm4_hist_actinst (活动节点实例表):新增一条记录

2.驳回:

① jbpm4_task (任务表):新增一条记录

② jbpm4_hist_task(任务历史表):新增一条记录

③ jbpm4_hist_actinst (活动节点实例表):新增一条记录

审批结束

① jbpm4_hist_actinst (活动节点实例表):新增一条记录

相关文章
|
15天前
|
SQL 缓存 监控
✅系统日活递增,如何优化提升大规模数据库
数据库性能优化涵盖硬件升级(如SSD、内存)、数据库设计简化、SQL查询优化、索引管理、缓存利用(如Redis)、负载均衡(读写分离、集群)、分区分片、备份恢复策略及性能监控。综合调整这些方面可提升系统性能和可用性。[MySQL索引设计][1]和[SQL优化实践][2]是深入学习的好资源。
|
13天前
|
存储 搜索推荐 数据库
软件系统【标签tag功能】的两种数据库设计
软件系统中的标签功能可采用两种数据库设计。方案一,文章和Tag各一表,Tag信息存储在文章表内(`tags`和`tagids`字段),优点是模型简单,但查询效率低且易引发数据冗余和一致性问题。方案二,增加Tagmap表,用于存储标签-文章映射,利于索引查询和数据更新,适用于高效率需求,但结构更复杂。
13 0
软件系统【标签tag功能】的两种数据库设计
|
14天前
|
存储 关系型数据库 MySQL
系统数据库
【6月更文挑战第20天】系统数据库。
8 1
|
16天前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第一篇(存储引擎与Linux系统上安装MySQL数据库)
MySQL数据库进阶第一篇(存储引擎与Linux系统上安装MySQL数据库)
|
20天前
|
SQL 关系型数据库 MySQL
MySQL数据库基础练习系列14、博客后台管理系统
MySQL数据库基础练习系列14、博客后台管理系统
19 1
|
20天前
|
SQL 关系型数据库 MySQL
MySQL数据库基础练习系列13、用户注册与登录系统
MySQL数据库基础练习系列13、用户注册与登录系统
15 1
|
20天前
|
SQL 关系型数据库 MySQL
MySQL数据库基础练习系列11、新闻发布系统
MySQL数据库基础练习系列11、新闻发布系统
17 1
|
20天前
|
SQL 关系型数据库 MySQL
MySQL数据库基础练习系列10、访客登记系统
MySQL数据库基础练习系列10、访客登记系统
18 1
|
20天前
|
SQL 关系型数据库 MySQL
MySQL数据库基础练习系列8、成绩录入与分析系统
MySQL数据库基础练习系列8、成绩录入与分析系统
14 1
|
20天前
|
SQL 监控 关系型数据库
MySQL数据库基础练习系列7、日志记录系统
MySQL数据库基础练习系列7、日志记录系统
11 1