1. 程式人生 > >activiti資料庫表結構剖析

activiti資料庫表結構剖析

1、結構設計

1.1、    邏輯結構設計

Activiti使用到的表都是ACT_開頭的。

ACT_RE_*:

’RE’表示repository(儲存),RepositoryService介面所操作的表。帶此字首的表包含的是靜態資訊,如,流程定義,流程的資源(圖片,規則等)。

ACT_RU_*:

‘RU’表示runtime,執行時表-RuntimeService。這是執行時的表儲存著流程變數,使用者任務,變數,職責(job)等執行時的資料。Activiti只儲存例項執行期間的執行時資料,當流程例項結束時,將刪除這些記錄。這就保證了這些執行時的表小且快。

ACT_ID_*:

’ID’表示identity (組織機構),IdentityService介面所操作的表。使用者記錄,流程中使用到的使用者和組。這些表包含標識的資訊,如使用者,使用者組,等等。

ACT_HI_*:

’HI’表示history,歷史資料表,HistoryService。就是這些表包含著流程執行的歷史相關資料,如結束的流程例項,變數,任務,等等

ACT_GE_*:

全域性通用資料及設定(general),各種情況都使用的資料。

1.2、    所有表的含義

序號

表名

說明

act_ge_bytearray

二進位制資料表

                                      act_ge_property

屬性資料表儲存整個流程引擎級別的資料,初始化表結構時,會預設插入三條記錄,

act_hi_actinst

歷史節點表

act_hi_attachment

歷史附件表

act_hi_comment

歷史意見表

act_hi_identitylink

歷史流程人員表

act_hi_detail

歷史詳情表,提供歷史變數的查詢

act_hi_procinst

歷史流程例項表

act_hi_taskinst

歷史任務例項表

10

act_hi_varinst

歷史變量表

11

act_id_group

使用者組資訊表

12

act_id_info

使用者擴充套件資訊表

13

act_id_membership

使用者與使用者組對應資訊表

14

act_id_user

使用者資訊表

15.  

act_re_deployment

部署資訊表

16.  

act_re_model

流程設計模型部署表

17

act_re_procdef

流程定義資料表

18

act_ru_event_subscr

throwEvent、catchEvent時間監聽資訊表

19

act_ru_execution

執行時流程執行例項表

20

act_ru_identitylink

執行時流程人員表,主要儲存任務節點與參與者的相關資訊

21

act_ru_job

執行時定時任務資料表

22

act_ru_task

執行時任務節點表

23

act_ru_variable

執行時流程變數資料表

2、   表以及索引資訊

2.1  二進位制資料表(act_ge_bytearray)

2.1.1  簡要描述

  儲存流程定義圖片和xml、Serializable(序列化)的變數,即儲存所有二進位制資料,特別注意類路徑部署時候,不要把svn等隱藏檔案或者其他與流程無關的檔案也一起部署到該表中,會造成一些錯誤(可能導致流程定義無法刪除)。

2.1.2  表結構說明

欄位名稱

欄位描述

資料型別

主鍵

為空

取值說明

ID_

ID_

nvarchar(64)

主鍵ID

REV_

樂觀鎖

int

Version(版本)

NAME_

名稱

nvarchar(255)

部署的檔名稱,如:mail.bpmn、mail.png 、mail.bpmn20.xml

DEPLOYMENT_ID_

部署ID

nvarchar(64)

部署表ID

BYTES_

位元組

varbinary(max)

部署檔案

GENERATED_

是否是引擎生成

tinyint

0為使用者生成 1為Activiti生成

2.1.3  索引說明

索引名稱

組成欄位名稱

索引型別

索引說明

PRIMARY

ID_

Unique

主鍵唯一索引

ACT_FK_BYTEARR_DEPL

DEPLOYMENT_ID_

2.2  屬性資料表( act_ge_property )

2.2.1  簡要描述

屬性資料表。儲存整個流程引擎級別的資料。

2.2.2  表結構說明

欄位名稱

欄位描述

資料型別

主鍵

為空

取值說明

NAME_

名稱

nvarchar(64)

schema.version

schema.history

next.dbid

VALUE_

nvarchar(300)

5.*

create(5.*)

REV_

樂觀鎖

int

version

2.2.3  索引說明

索引名稱

組成欄位名稱

索引型別

索引說明

PRIMARY

NAME_

Unique

主鍵唯一索引

2.3  歷史節點表(act_hi_actinst)

2.3.1   簡要描述

  歷史活動資訊。這裡記錄流程流轉過的所有節點,與HI_TASKINST不同的是,taskinst只記錄usertask內容

2.3.2   表結構說明

欄位名稱

欄位描述

資料型別

主鍵

為空

取值說明

ID_

ID_

nvarchar(64)

PROC_DEF_ID_

流程定義ID

nvarchar(64)

PROC_INST_ID_

流程例項ID

nvarchar(64)

EXECUTION_ID_

執行例項ID

nvarchar(64)

ACT_ID_

節點ID

nvarchar(225)

節點定義ID

TASK_ID_

任務例項ID

nvarchar(64)

任務例項ID 其他節點型別例項ID在這裡為空

CALL_PROC_INST_ID_

呼叫外部的流程例項ID

nvarchar(64)

呼叫外部流程的流程例項ID'

ACT_NAME_

節點名稱

nvarchar(225)

節點定義名稱

ACT_TYPE_

節點型別

nvarchar(225)

如startEvent、userTask

ASSIGNEE_

簽收人

nvarchar(64)

節點簽收人

START_TIME_

開始時間

datetime

2013-09-15 11:30:00

END_TIME_

結束時間

datetime

2013-09-15 11:30:00

DURATION_

耗時

numeric(19,0)

毫秒值

 2.3.3   索引說明

索引名稱

組成欄位名稱

索引型別

索引說明

PRIMARY

ID_

Unique

主鍵唯一索引

ACT_IDX_HI_ACT_INST_START

START_TIME_

ACT_IDX_HI_ACT_INST_END

END_TIME_

ACT_IDX_HI_ACT_INST_PROCINST

PROC_INST_ID_ 、 ACT_ID_

ACT_IDX_HI_ACT_INST_EXEC

EXECUTION_ID_ 、 ACT_ID_

2.4  歷史附件表( act_hi_attachment )

2.4.1  簡要描述

  歷史附件表。

2.4.2   表結構說明

欄位名稱

欄位描述

資料型別

主鍵

為空

取值說明

ID_

ID_

nvarchar(64)

主鍵ID

REV_

樂觀鎖

integer

Version

USER_ID_

使用者ID

nvarchar(255)

使用者ID

NAME_

名稱

nvarchar(255)

附件名稱

DESCRIPTION_

描述

nvarchar(4000)

描述

TYPE_

型別

nvarchar(255)

附件型別

TASK_ID_

任務例項ID

nvarchar(64)

節點例項ID

PROC_INST_ID_

流程例項ID

nvarchar(64)

流程例項ID

URL_

URL_

nvarchar(4000)

附件地址

CONTENT_ID_

位元組表的ID

nvarchar(64)

ACT_GE_BYTEARRAY的ID

 2.4.3   索引說明

索引名稱

組成欄位名稱

索引型別

索引說明

PRIMARY

ID_

Unique

主鍵唯一索引

2.5  歷史意見表( act_hi_comment )

2.5.1   簡要描述

  歷史意見表。

2.5.2   表結構說明

欄位名稱

欄位描述

資料型別

主鍵

為空

取值說明

ID_

ID_

nvarchar(64)

主鍵ID

TYPE_

型別

nvarchar(255)

型別:event(事件)

comment(意見)

TIME_

時間

datetime

填寫時間'

USER_ID_

使用者ID

nvarchar(64)

填寫人

TASK_ID_

節點任務ID

nvarchar(64)

節點例項ID

PROC_INST_ID_

流程例項ID

nvarchar(255)

流程例項ID

ACTION_

行為型別

nvarchar(64)

見備註1

MESSAGE_

基本內容

nvarchar(4000)

用於存放流程產生的資訊,比如審批意見

FULL_MSG_

全部內容

varbinary(max)

附件地址

 2.5.3   索引說明

索引名稱

組成欄位名稱

索引型別

索引說明

PRIMARY

ID_

Unique

主鍵唯一索引

2.6  歷史詳情表( act_hi_detail )

2.6.1   簡要描述

  歷史詳情表:流程中產生的變數詳細,包括控制流程流轉的變數,業務表單中填寫的流程需要用到的變數等。

2.6.2   表結構說明

欄位名稱

欄位描述

資料型別

主鍵

為空

取值說明

ID_

ID_

nvarchar(64)

主鍵

TYPE_

型別

nvarchar(255)

見備註2

PROC_INST_ID_

流程例項ID

nvarchar(64)

流程例項ID

EXECUTION_ID_

執行例項ID

nvarchar(64)

執行例項ID

TASK_ID_

任務例項ID

nvarchar(64)

任務例項ID

ACT_INST_ID_

節點例項ID

nvarchar(64)

ACT_HI_ACTINST表的ID

NAME_

名稱

nvarchar(255)

名稱

VAR_TYPE_

引數型別

nvarchar(255)

見備註3

REV_

樂觀鎖

int

Version

TIME_

時間戳

datetime

建立時間

BYTEARRAY_ID_

位元組表ID

nvarchar

ACT_GE_BYTEARRAY表的ID

DOUBLE_

DOUBLE_

double precision

儲存變數型別為Double

LONG_

LONG_

numeric

儲存變數型別為long

TEXT_

TEXT_

nvarchar

儲存變數值型別為String

TEXT2_

TEXT2_

nvarchar

此處儲存的是JPA持久化物件時,才會有值。此值為物件ID

 2.6.3   索引說明

索引名稱

組成欄位名稱

索引型別

索引說明

PRIMARY

ID_

Unique

主鍵唯一索引

ACT_IDX_HI_ACT_INST_START

START_TIME_

ACT_IDX_HI_ACT_INST_END

END_TIME_

ACT_IDX_HI_ACT_INST_PROCINST

PROC_INST_ID_ 、 ACT_ID_

ACT_IDX_HI_ACT_INST_EXEC

EXECUTION_ID_ 、 ACT_ID_

2.7  歷史流程人員表( act_ru_identitylink )   

2.7.1   簡要描述

  任務參與者資料表。主要儲存歷史節點參與者的資訊。

2.7.2  表結構說明

欄位名稱

欄位描述

資料型別

主鍵

為空

取值說明

ID_

ID_

nvarchar(64)

ID_

GROUP_ID_

組ID

nvarchar(255)

組ID

TYPE_

型別

nvarchar(255)

備註4

USER_ID_

使用者ID

nvarchar(255)

使用者ID

TASK_ID_

節點例項ID

nvarchar(64)

節點例項ID

PROC_INST_ID_

流程例項ID

nvarchar(64)

流程例項ID

 2.7.3   索引說明

索引名稱

組成欄位名稱

索引型別

索引說明

PRIMARY

ID_

Unique

主鍵唯一索引

ACT_IDX_HI_IDENT_LNK_USER

USER_ID_

Unique

ACT_IDX_HI_IDENT_LNK_TASK

TASK_ID_

ACT_IDX_HI_IDENT_LNK_PROCINST

PROC_INST_ID_

2.8  歷史流程例項表(act_hi_procinst)

2.8.1   簡要描述

  歷史流程例項表。

2.8.2   表結構說明

欄位名稱

欄位描述

資料型別

主鍵

為空

取值說明

ID_

ID_

nvarchar(64)

主鍵ID

PROC_INST_ID_

流程例項ID

nvarchar(64)

流程例項ID

BUSINESS_KEY_

業務主鍵

nvarchar(255)

業務主鍵,業務表單的ID

PROC_DEF_ID_

流程定義ID

nvarchar(64)

流程定義ID

START_TIME_

開始時間

datetime

開始時間

END_TIME_

結束時間

datetime

結束時間

DURATION_

耗時

Numeric(19)

耗時

START_USER_ID_

起草人

nvarchar(255)

起草人

START_ACT_ID_

開始節點ID

nvarchar(255)

起草環節ID

END_ACT_ID_

結束節點ID

nvarchar(255)

結束環節ID

SUPER_PROCESS

_INSTANCE_ID_

父流程例項ID

nvarchar(64)

父流程例項ID

DELETE_REASON_

刪除原因

nvarchar(4000)

刪除原因

2.8.3   索引說明

索引名稱

組成欄位名稱

索引型別

索引說明

PRIMARY

ID_

Unique

主鍵唯一索引

PROC_INST_ID_

PROC_INST_ID_

Unique

外來鍵

ACT_UNIQ_HI_BUS_KEY

PROC_DEF_ID_,BUSINESS_KEY_

Unique

ACT_IDX_HI_PRO_INST_END

END_TIME_

ACT_IDX_HI_PRO_I_BUSKEY

BUSINESS_KEY_

2.9  歷史任務例項表( act_hi_taskinst )

2.9.1   簡要描述

   歷史任務例項表。

2.9.2   表結構說明

欄位名稱

欄位描述

資料型別

主鍵

為空

取值說明

ID_

ID_

nvarchar(64)

主鍵ID

PROC_DEF_ID_

流程定義ID

nvarchar(64)

流程定義ID

TASK_DEF_KEY_

節點定義ID

nvarchar(255)

節點定義ID

PROC_INST_ID_

流程例項ID

nvarchar(64)

流程例項ID

EXECUTION_ID_

執行例項ID

nvarchar(64)

執行例項ID

NAME_

名稱

varchar(255)

名稱

PARENT_TASK_ID_

父節點例項ID

nvarchar(64)

父節點例項ID

DESCRIPTION_

描述

nvarchar(400)

描述

OWNER_

實際簽收人 任務的擁有者

nvarchar(255)

簽收人(預設為空,只有在委託時才有值)

ASSIGNEE_

簽收人或被委託

nvarchar(255)

簽收人或被委託

START_TIME_

開始時間

datetime

開始時間

CLAIM_TIME_

提醒時間

datetime

提醒時間

END_TIME_

結束時間

datetime

結束時間

DURATION_

耗時

numeric(19)

耗時

DELETE_REASON_

刪除原因

nvarchar(4000)

刪除原因(completed,deleted)

PRIORITY_

優先級別

int

優先級別

DUE_DATE_

過期時間

datetime

過期時間,表明任務應在多長時間內完成

FORM_KEY_

節點定義的

formkey

nvarchar(255)

desinger節點定義的

form_key屬性

 2.9.3   索引說明

索引名稱

組成欄位名稱

索引型別

索引說明

PRIMARY

ID_

Unique

主鍵唯一索引

2.10       歷史變量表( act_hi_varinst )

2.10.1  簡要描述

  歷史變量表。

2.10.2  表結構說明

欄位名稱

欄位描述

資料型別

主鍵

為空

取值說明

ID_

ID_

nvarchar(64)

ID_

PROC_INST_ID_

流程例項ID

nvarchar(64)

流程例項ID

EXECUTION_ID_

執行例項ID

nvarchar(255)

執行例項ID

TASK_ID_

任務例項ID

nvarchar(64)

任務例項ID

NAME_

名稱

nvarchar(64)

引數名稱(英文)

VAR_TYPE_

引數型別

varchar(255)

備註5

REV_

樂觀鎖

nvarchar(64)

樂觀鎖 Version

BYTEARRAY_ID_

位元組表ID

nvarchar(400)

ACT_GE_BYTEARRAY表的主鍵

DOUBLE_

DOUBLE_

nvarchar(255)

儲存DoubleType型別的資料

LONG_

LONG_

nvarchar(255)

儲存LongType型別的資料

TEXT_

TEXT_

datetime

備註6

TEXT2_

TEXT2_

datetime

此處儲存的是JPA持久化物件時,才會有值。此值為物件ID

2.10.3  索引說明

索引名稱

組成欄位名稱

索引型別

索引說明

PRIMARY

ID_

Unique

主鍵唯一索引

ACT_IDX_HI_PROCVAR_PROC_INST

PROC_INST_ID_

ACT_IDX_HI_PROCVAR_NAME_TYPE

NAME_, VAR_TYPE_

2.11       使用者組資訊表( act_id_group )

2.11.1  簡要描述

  用來儲存使用者組資訊。

2.11.2  表結構說明

欄位名稱

欄位描述

資料型別

主鍵

為空

取值說明

ID_

ID_

nvarchar(64)

主鍵ID

REV_

樂觀鎖

int

樂觀鎖Version

NAME_

名稱

nvarchar(255)

組名稱

TYPE_

型別

nvarchar(255)

型別

2.11.3  索引說明

索引名稱

組成欄位名稱

索引型別

索引說明

PRIMARY

ID_

Unique

主鍵唯一索引

2.12       使用者擴充套件資訊表( act_id_info )

2.12.1  簡要描述

  使用者擴充套件資訊表。目前該表未用到~~~~~·

2.12.2  表結構說明

欄位名稱

欄位描述

資料型別

主鍵

為空

取值說明

ID_

ID_

nvarchar(64)

主鍵ID

REV_

樂觀鎖

int

樂觀鎖Version

USER_ID_

使用者ID

nvarchar(64)

TYPE_

型別

nvarchar(64)

KEY_

nvarchar(255)

VALUE_

nvarchar(255)

PASSWORD_

Image

PARENT_ID_

nvarchar(255)

2.12.3  索引說明

索引名稱

組成欄位名稱

索引型別

索引說明

PRIMARY

ID_

Unique

主鍵唯一索引

2.13       使用者與分組對應資訊表( act_id_membership )

2.13.1  簡要描述

    用來儲存使用者的分組資訊。

2.13.2  表結構說明

欄位名稱

欄位描述

資料型別

主鍵

為空

取值說明

USER_ID

使用者ID

nvarchar(64)

GROUP_ID

使用者組ID

nvarchar(64)

2.13.3  索引說明

索引名稱

組成欄位名稱

相關推薦

activiti資料庫結構剖析

1、結構設計 1.1、    邏輯結構設計 Activiti使用到的表都是ACT_開頭的。 ACT_RE_*: ’RE’表示repository(儲存),RepositoryService介面所操作的表。帶此字首的表包含的是靜態資訊,如,流程定義,流程的資源(圖片,規

Activiti工作流引擎資料庫結構

466355109,可以相互交流 資料庫表的命名 Acitiviti資料庫中表的命名都是以ACT_開頭的。第二部分是一個兩個字元用例表的標識。此用例大體與服務API是匹配的。 l  ACT_RE

mysql資料庫結構定義檔案和儲存引擎檔案

目錄 1.表結構定義檔案:      2.儲存引擎檔案 2.1表空間檔案 2.2重做日誌檔案 3. 如何用frm檔案恢復資料庫結構 1.表結構定義檔案:      *.frm 檔案是所有m

mysql比對兩個資料庫結構的方法

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

資料庫結構設計原則

先談談我這些年趟過的資料庫的坑: 同義多詞。例如:在訂單表中申請單號用appseetserialno,而在支付日誌表中用appno。 同詞多義。例如:渠道這個欄位,可以用channel表示,在委託表中表示請求的來源渠道,eg:安卓、IOS、官網;在支付日誌表中表示支付的

mysql alter修改資料庫結構用法

1.alter操作表字段 (1)增加欄位   alter table 表名 add 欄位名 欄位型別;   alter table student add name varchar(10); (2)修改欄位    alter table 表名 change 舊

【Normal Form】資料庫結構設計所遵從的正規化

目錄 1. 第一正規化:原子性,不可再分    1.1. 是否為原子性    1.2. 典型的例子:多個資訊用分隔符拼接記錄 2. 第二正規化:非主鍵必須完全依賴於主鍵,而不能只依賴於主鍵的

清空資料庫結構的幾種方式

一、SQL中的語法    1、drop table 表名稱                         eg: drop

資料庫結構轉成設計書,PowerDesigner 表格匯出為excel

資料庫中的表匯入到PowerDesigner中並轉為excel文件 1、開啟PowerDesigner12,在選單中按照如下方式進行操作    file->Reverse Engineer->DataBase    點選後,彈出 New Physica

資料庫結構同步

1.同步對比工具--workbench 首先選擇模板資料庫生成model, 然後選擇database->synchronize model...->選擇要同步的資料來源->選擇要同步的資料庫,點選override target, 一直點擊向下執行, 生成變動的sql指令碼.

資料庫結構比較SQL

--查詢A資料庫存在,B資料庫不存在的表 select * from user_tables t where not exists(select 1 from [email protected] t1 where t.TABLE_NAME=t1.TABLE_NAME

反向讀取Mysql資料庫結構到PowerDesigner中

    使用PowerDesigner挺長時間了,只是一些簡單的表結構設計,因需要對當前資料庫進行再設計,需要看一下資料庫中所有的表,及表之間的關係,並重新修改表結構,因此需求就是怎麼把資料庫中的表結構反向生成到PowerDesigner中,以下是對該過程的實踐,當前也搜尋了其他同學的方法,便於後期使用即其他

軟體工具——PowerDesigner逆向工程匯出Oracle資料庫結構

一、準備工作: 準備工作包括,安裝或已經有建立好的oracle資料庫,建立好user、tablespace、table等;安裝Oracle客戶端、PLSQL等軟體並配置好資料庫連線,安裝PowerDesigner軟體。可以參考我的博文: 二、PowerDesi

資料庫結構設計

資料庫:ads 資料庫模型類基類:BaseModel class BaseModel(models.Model):     """模型類基類"""     create_time = models.DateTimeField(auto_now_add=True, verb

(Java實現)資料庫結構掃描,壞行壞列掃描實現

(Java實現)Cache資料庫表結構掃描,壞行壞列掃描實現 最近接觸了Cache資料庫,需要將海量資料通過sqoop抽取到hadoop平臺。但是發現一個問題,Cache資料庫是一個後關係型資料,底層是按照global進行存存的,表結構的定義通過preside

好用的資料庫結構匯出工具,支援Oracle,MySQL,SQL SERVER

好用的資料庫表結構匯出工具 之前遇到公司需要匯出表結構的word文件,在網上找了一大堆關於匯出資料庫表結構成word文件的工具,發現只有一款DBExportDoc,而且還需要操作巨集,而且還需要2003的word版本,所以我就自己搞了一個開源工具.(支援 Ora

資料庫結構匯出

SELECT      表名       = Case When A.colorder=1 Then D.name Else '' End,      表說明     = Case When A.colorder=1 Then isnull(F.value,'') Else

敏捷開發下, 由 User Story 中設計: 保證資料一致性的資料庫結構

過往的資料庫設計思維∵強調整體,主要是期望藉由所謂的整體,使的資料庫設計可保證資料的 Integrity。 但這樣的思維,在面向物件的世界裡,往往因類設計時,類責任的不明確,而因為物件的存取破壞了資料

Sql Server 資料庫結構,儲存過程,檢視比較指令碼

  頂級乾貨   用來比較兩個資料庫之間 表結構,儲存過程及檢視差異的儲存過程,直接複製對應的儲存過程,無需改動,直接在資料庫中執行(傳遞要比較的資料庫引數)即可 1.兩個資料庫之間儲存過程及檢視差異比較的儲存過程 --測試指令碼 --exec [p_com

PowerDesigner逆向生成MYSQL資料庫結構總結

由於日常資料建模經常使用PowerDesigner,使用逆向工程能更加快速的生成模型提高效率,所以總結使用如下: 1.      安裝MYSQL的ODBC驅動 Connector/ODBC 5.1.10 下載地址: 選擇win-32 MIS安裝包,進行直接安裝