这篇文章主要用于记录activiti数据库表结构之间的关系,学习其数据库设计的技巧,环境:mysql+activiti5.20.0。
一、系统总览
将其划分为四大块:流程运行所需基础资源支撑的资源表类、流程运行期间数据存储的运行时期表类、用户权限表类和历史数据相关表类,不多说,上图更直观:
二、资源表区域
三、运行时期表区域
四、用户表区域
五、历史表区域
六、设计特点
- 主键策略:所有表主键使用相同的字段:ID_,可定制全局主键策略;
- 运行时期表与历史数据表分离:一方面提高了运行速度,另一方面历史表之间不再强制外键关联,若有业务归档类的需求时,可参考此设计;
- 字段的非空和默认值的灵活使用;
- 字段类型与大小的精巧设计;
- 字段索引的设计;
- ......