惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hacker News: Ask HN
Hacker News: Ask HN
Recent Commits to openclaw:main
Recent Commits to openclaw:main
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
C
Check Point Blog
S
Security Affairs
Hacker News - Newest:
Hacker News - Newest: "LLM"
S
Secure Thoughts
Recorded Future
Recorded Future
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
The Blog of Author Tim Ferriss
B
Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Google DeepMind News
Google DeepMind News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
A
Arctic Wolf
T
The Exploit Database - CXSecurity.com
Stack Overflow Blog
Stack Overflow Blog
T
Threat Research - Cisco Blogs
GbyAI
GbyAI
AWS News Blog
AWS News Blog
MongoDB | Blog
MongoDB | Blog
Y
Y Combinator Blog
Google Online Security Blog
Google Online Security Blog
T
Troy Hunt's Blog
I
InfoQ
L
LINUX DO - 热门话题
WordPress大学
WordPress大学
C
Cisco Blogs
G
GRAHAM CLULEY
The Register - Security
The Register - Security
A
About on SuperTechFans
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Schneier on Security
Schneier on Security
Project Zero
Project Zero
H
Hackread – Cybersecurity News, Data Breaches, AI and More
P
Privacy & Cybersecurity Law Blog
Cloudbric
Cloudbric
H
Hacker News: Front Page
小众软件
小众软件
雷峰网
雷峰网
The Hacker News
The Hacker News
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Tor Project blog
博客园 - 聂微东
N
Netflix TechBlog - Medium
V
Vulnerabilities – Threatpost
The GitHub Blog
The GitHub Blog
腾讯CDC
P
Palo Alto Networks Blog
Scott Helme
Scott Helme

博客园 - 克隆

SVN快速入门(TSVN) C# HttpWebRequest提交数据方式浅析 简单的3个SQL视图搞定所有SqlServer数据库字典 简单统计SQLSERVER用户数据表大小(包括记录总数和空间占用情况) 敏捷开发Scrum 学习笔记,适于移动开发 团队的职责和任务之间的关系 精心收集的jQuery常用的插件1000 24款超实用的Web 2.0风格翻页代码 【转】使用 Entity Framework + ListView + DataPager 实现数据分页 (转)ASP.NET页面打印技术的总结 [转]数据库设计 Step by Step (5) [转]jquery插件弹出div SQLServer2008/2005 生成数据字典SQL语句 SQL HierarchyID 数据类型 javascript动态创建VML [转]由于项目原因看了一下vml,写了一个Web工作流的设计器雏形! VML流程图 启用IIS的Gzip压缩 IIS压缩
OSWorkflow表结构分析
克隆 · 2011-04-05 · via 博客园 - 克隆

研究了一段时间的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图: