OSWorkflow表结构分析

OSWorkflow表结构分析

研究了一段时间的OSWorkflow,对其表结构做了一些分析,能帮助深入的学习:

以Oracle为例

1.========================================================================================
create table OS_PROPERTYENTRY  --存储propertyset的值(具体字段还不清晰以后补充)
(
 GLOBAL_KEY varchar(255),
 ITEM_KEY varchar(255),
 ITEM_TYPE smallint,
 STRING_VALUE varchar(255),
 DATE_VALUE date,
 DATA_VALUE blob,
 FLOAT_VALUE float,
 NUMBER_VALUE numeric,
 primary key (GLOBAL_KEY, ITEM_KEY)
);
2.========================================================================================
create table OS_USER           --用户表
(
    USERNAME varchar(20),      --用户名
    PASSWORDHASH varchar(2024),--经过加密的密码
    primary key (USERNAME)
);
3.========================================================================================
create table OS_GROUP          --组结构表
(
    GROUPNAME varchar(20),     --组名称
    primary key (GROUPNAME)
);
4.========================================================================================
create table OS_MEMBERSHIP     --用户与组的关系表
(
    USERNAME varchar(20),      --用户名
    GROUPNAME varchar(20),     --组名称
    primary key (USERNAME, GROUPNAME),
    foreign key (USERNAME) references OS_USER(USERNAME),
    foreign key (GROUPNAME) references OS_GROUP(GROUPNAME)
);
5.========================================================================================
create table OS_WFENTRY        --工作流主表,存放工作流名称和状态
(
    ID number,                
    NAME varchar(20),          --工作流名称
    STATE integer,             --工作流状态
    primary key (ID)         
);
6.========================================================================================
create table OS_CURRENTSTEP    --当前步骤表,存放当前步骤的数据
(
    ID number,                 --自动编号
    ENTRY_ID number,           --工作流编号
    STEP_ID integer,           --步骤编号
    ACTION_ID integer,         --动作编号
    OWNER varchar(20),         --步骤的所有者
    START_DATE date,           --开始时间
    FINISH_DATE date,          --结束时间
    DUE_DATE date,             --授权时间
    STATUS varchar(20),        --当前状态
    CALLER varchar(20),        --实际执行的用户
    primary key (ID),
    foreign key (ENTRY_ID) references OS_WFENTRY(ID),
    foreign key (OWNER) references OS_USER(USERNAME),
    foreign key (CALLER) references OS_USER(USERNAME)
);
 
7.========================================================================================
create table OS_HISTORYSTEP    --历史步骤表,存放当前步骤的数据
(
    ID number,                 --自动编号
    ENTRY_ID number,           --工作流编号
    STEP_ID integer,           --步骤编号
    ACTION_ID integer,         --动作编号
    OWNER varchar(20),         --步骤的所有者
    START_DATE date,           --开始时间
    FINISH_DATE date,          --结束时间
    DUE_DATE date,             --授权时间
    STATUS varchar(20),        --状态
    CALLER varchar(20),        --实际执行的用户
    primary key (ID),
    foreign key (ENTRY_ID) references OS_WFENTRY(ID),
    foreign key (OWNER) references OS_USER(USERNAME),
    foreign key (CALLER) references OS_USER(USERNAME)
);
8.========================================================================================
create table OS_CURRENTSTEP_PREV  --上一步骤表,存放当前步骤和上一个步骤的关联数据
(
    ID number,                    --当前步骤编号
    PREVIOUS_ID number,           --上一步骤编号
    primary key (ID, PREVIOUS_ID),
    foreign key (ID) references OS_CURRENTSTEP(ID),
    foreign key (PREVIOUS_ID) references OS_HISTORYSTEP(ID)
);
9.========================================================================================
create table OS_HISTORYSTEP_PREV      --上一历史步骤表,存放历史步骤和上一个步骤的关联数据
(
    ID number,                        --当前历史步骤编号
    PREVIOUS_ID number,               --上一历史步骤编号
    primary key (ID, PREVIOUS_ID),
    foreign key (ID) references OS_HISTORYSTEP(ID),
    foreign key (PREVIOUS_ID) references OS_HISTORYSTEP(ID)
);

ER图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值