Ofbiz数据库表结构设计.pdf
文本预览下载声明
目录
Ofbiz 数据库表结构设计 2
1. ofbiz 数据库表结构设计 - PARTY 2
2. ofbiz 数据库表结构设计 - CONTACT_MECH 4
3. Ofbiz 数据库表结构设计 - 订单 ORDER 8
4. ofbiz 数据库表结构设计 - 订单支付 ORDER_PAYMENT_PREFERENCE 10
5. ofbiz 数据库表结构设计 - 库存 INVENTORY 12
6. ofbiz 数据库表结构设计 – Payment Invoice 13
1
Ofbiz 数据库表结构设计
转载: /s/blog_a2ca5d8c01017fa0.html
1. ofbiz 数据库表结构设计 - PARTY
ofbiz 的精华就在于其数据结构(表结构)的设计。数据结构的通用性也决
定了 ofbiz 几乎可以适用任何企业应用。 我们首先来看看 PARTY相关的表结构设
计。
在 ofbiz 中,PARTY是个抽象概念,它可以是一个人(用户、员工、家人等
等),也可以是个组织(公司、部门、项目组、供应商、集团客户等等)。然而
毕竟个人和组织的许多属性是不同的, 比如姓名就只有个人有, 组织只有组织名
称等等, 因此,在 PARTY基础上派生出两个对象 (两张表),PERSON带表个人,
PARTY_GROUP代表组织。我们注意到在 PERSON和 PARTY_GROUP两张表里,有
PARTY_ID作为外键指向 PARTY表的 PARTY_ID主键,而 PARTY_ID在 PERSON和
PARTY_GROUP里同时也扮演着主键的角色。 这种设计模式大大简化了程序开发的
复杂度。
下面再来看看 PARTY的角色。ofbiz 中并没有一个我们习惯的 ROLE表,而只
有一个 ROLE_TYPE表。其实这个 ROLE_TYPE就是我们习惯的 ROLE,可能是 ofbiz
觉得现实中分不清什么是 ROLE,什么是 ROLE_TYPE,取而代之的是 ROLE_TYPE
2
里有个 PARENT_ROLE_TYPE_ID指向自己,用此方式来表示一个 ROLE_TYPE(角色)
的层级结构。
PARTY_ROLE是 PARTY和 ROLE_TYPE的多对多关系表, 我们当然能够理解, 一
个 PARTY通常会有多个角色。
ofbiz 的角色相关的设计中,最精妙的是 PARTY_RELATIONSHIP。
PARTY_RELATIONSHIP的几个主要字段是 PARTY_ID_FROM、PARTY_ID_TO、
ROLE_TYPE_ID_FROM、ROLE_TYPE_ID_TO、PARTY_RELATIOSHIP_TYPE_ID。现实社
会中,每个人都有不同的角色,每个人与其他人或组织也有不同的关系,
PARTY_RELATIONSHIP就是为了这些复杂的人以及组织之间的关系而设计的。比
如,某个人 P 是某个公司 O 的雇员,那么在 PARTY_RELATIONSHIP表中,
PARTY_ID_FROM指向 PARTY表中的 P这条数据, PARTY_ID_TO指向 PARTY表中的
O这条数据, ROLE_TYPE_ID_FROM指向 ROLE_TYPE表中的 EMPLOYEE(ofbiz 的初
始数据中有), ROLE_TYPE_ID_TO指向 R
显示全部