信息化 频道

《MES制造执行系统的原理与实现》连载(3)

   第二种方法是直接记录各序列号之间的关联关系,形成一棵“树”。比较而言,第一种方法方便形成批量数据关联关系的报表,而第二种方法隔离了序列号数据与产品结构,所以产品的结构变了也不会影响历史数据。
    
  我们更倾向于采用第二种方法,因为这对于后面要说到的序列号关联替换、注销等操作更为方便。
    
  4.2序列号关联表的设计
    
  考虑到关联的结构,用父-子节点来定义树状结构是非常方便的,效率也比较高。如图4-5所示的结构:

  ID字段是序列号所在的节点,SN是序列号,father_id是序列号的父节点,如为负数则表示此父节点并没有对应的序列号存在,也就是说此SN是该节点数上的根节点,为方便,我们称负数的节点为虚节点。

  4.3新增序列号关联
    
  按照节点的设计,任何一次关联动作可以看成把某一节点设置为另一节点的父节点,为方便叙述,我们统一称为把SN1的节点设置为SN2的父节点,或者把SN2关联到SN1上。
    
  新增序列号关联的方法为:更新序列号关联表,设置SN2的父节点等于SN1的节点。
    
  为避免逻辑上的混乱,我们在关联之前必须进行检查,规则为:
    
  1)SN2的父节点必须为虚节点,也就是说SN2是根节点,这样做是为了保证任何一个SN只能有一个父节点。
    
  2)SN2的父节点不能是SN1所在树上的根节点。
    
  例如,将2221关联到1116上,如图4-7

  则2221必须没有父节点,这样不会造成大于1个父节点。而且2221必须不等于1116树上的根节点(1111)。

 

0
相关文章