以组织和组织版本信息的区别为例。
组织org_orgs
和组织版本信息org_orgs_v
的区别。
无论是org_orgs
还是org_orgs_v
,一个组织对应的pk_org
是唯一不变的。
组织
org_orgs
主键是组织主键pk_org
,保存有pk_org
对应的最新版本。
根据pk_org
到org_orgs
里找pk_vid
,只会找到一条,即最新版本。组织_版本信息
org_orgs_v
主键是版本主键pk_vid
,保存有pk_org
对应的所有版本。
根据pk_org
到org_orgs_v
里找pk_vid
,可能会找到多条,对应所有的历史版本。
全局或者集团的组织没有版本信息,所有org_orgs_v
里可能找不到pk_org
对应的pk_vid
,因此一般org_orgs_v
只用来用pk_vid
查pk_org
。总结
想查pk_org
对应的最新版本pk_vid
,到org_orgs
里查。
想查pk_vid
对应的pk_org
,到org_orgs_v
里查。(因为pk_vid
如果是历史版本的话,org_orgs
里没有记录,但是全局或者集团的还得去org_orgs
里查,因为他们没有版本信息,org_orgs_v
里不存在记录。)
由于开发规范不能得到各级开发人员的贯彻,所以经常出现id和版本id混用的情况,包括但不仅限于组织信息,所以实施的时候,一般是不会版本化的,会带来很多不可预知的问题。
实际开发中,完全可以不去管版本化,id和vid都设置为id。