在第二章的数据模型和第六章数据模型进阶中分别介绍了实体类和关联类,本章重点介绍数据模型中关联类的高级应用,即产品结构,产品结构是零件到零件的自关联的关联类一种数据模型,产品结构在工业企业的应用特别普及,无BOM,不产品,可见BOM是多么的重要!在4.1.1 实体类管理型和4.1.2 关联类管理中分别介绍了实体类和关联类,本章重点介绍数据模型中关联类的高级应用,即产品结构,产品结构是零件到零件的自关联的关联类一种数据模型,产品结构在工业企业的应用特别普及,无BOM,不产品,可见BOM是多么的重要!
BOM(Bill of Material)物料清单,也就是以数据格式来描述产品结构的文件,是计算机可以识别的产品结构数据文件,BOM使系统识别产品结构,下面我们带读者来了解产品结构BOM。
...
产品结构
在设备管理的教学案例中我们创建了设备、工单、零件三个实体类,零件实体类是对零件属性的描述。
...
一层 二层 三层 四层
图-搅拌车产品结构
...
关联类-产品结构
如果把产品结构进一步抽象,就可以用下图表述产品结构,要记录这样的产品结构,需要建立一个零部件类和零部件到零部件之间的关系类,描述父子件装配关系。通过建立零部件之间的联系,可以形成产品的装配关系结构。图中,构成产品A需要零部件B、C、D各2个,而B和E可以组装出C部件。对于零部件B来说,又可以通过不同数量的F和G来组成。一个父件可能由多个子件组成,而一个子件也可能属于多个父件,如:B可以属于A,B也可以属于C,因此我们无法在零部件类中直接记录它的子件和数量,只能通过记录两个零部件之间的关联来描述这种多对多关系。
...
下图为父件到子件关联类(PaatTopart)关联类图。
图-父件到子件关联类
...
示例数据模型
下面和读者再全面梳理一下教学案例设备管理系统中的数据模型和数据模型之间的联系,案例中包括:
...
下面的表格描述了教学案例数据结构之间的关系,请读者深入理解表格的备注内容,以便大家能更好理解设备管理的数据结构和数据之间的联系。
表-设备管理数据模型关系
序号 | 类名 | 类英文名 | 备注 |
---|---|---|---|
1 | 零件实体类 | Part | 用于描述零件 |
2 | 设备实体类 | Asset | 1.记录设备信息,包括设备编号、类型、照片、安装时间、位置、工作时间等基本状态,还有报修工单总数和对应的零部件结构。 2.在设备表中应用到零件PartOid,用于展示设备的产品结构。 |
3 | 工单实体类 | Workorder | 1.记录工单信息,包括工单编号、标题、问题描述、负责维修的工程师、工单截止时间、工作地点,以及对应的故障设备和故障部位。 2.工单中故障设备用到了设备实体类的assetOid,记录出故障设备。 3.设备与工单之间的关系就是一对多关系,一份工单只针对一台设备,而一台设备可能会产生多份工单,这种情况只需在工单中填上设备assetOid,就不必再建立关联类。 3.工单中故障部位用到了零件实体类的partOid,这个partOid表现在工单表单的表头上。 |
4 | 工单到零件的关联类 | workorderToPart | 1.描述工单和零件的关系,即该工单维修时需要用到的零件及数量;一个工单会使用到多个零件进行维修,而一个零件又会对应多个各工单,工单到零件的关联类就解决了多对多的问题。 2. 工单中维修使用的零件(partOid)和数量用是工单到零件关联类中右对象零件实体类中的零件;教学案例表现在工单表单的下半部分。 |
5 | 零件到零件的关联类 | PartToPart | 1.描述产品结构,记录零件与零件之间的关系,包括父件的编号、子件的编号、对应子件的连接方式与装配数量。 2.产品结构的展示在教学案例中被用到2次,1是在零件管理模块中的“零件结构”表单中被使用,2是在工单管理的“工单管理”表单中被使用。 |
信息 | ||
---|---|---|
| ||
1.一对多的关系,直接用实体类之间增加外建来解决,没有必要用关联类;如案例中:设备和工单之间的通过在工单中增加设备的的外键建立联系,即在工单中填上增加设备AssetOid。 2.多对多的关系:需要关联类来解决,教学案列中工单到零件的关联类中,一个工单可以对多个要用到的维修零件,一个零件可对应多个维修工单,需要用到工单到零件的关联类。另外,描述产品装配关系的产品结构BOM也需要建立:零件-零件的关联类。 |
...
建模过程
...
(一)零件到零件的关联类建模过程
在创建零件到零件的关联类(PartToPart)之前,首先要完成零件实体类(part)的创建,以下为零件到零件关联类的创建过程:
- 1. 进入“数据模型”,选择“关联类管理”,点击“新建关联类”完成父件到子件PartToPart关联类的的建立;
- 2. 点击“编辑关联类”,选择关联类父件到子件“partTopart关联类;
- 3. 确认左类角色;
- 4.. 确认右类角色;
- 5. 绑定关联关系:数量“属性。
图-父件到子件关联类创建
...
(二)BOM数据导入
Part2Part.xlsx (包含2个表单:“Part”和“Part2Part”)
关联类数据导入时,需要导入左类表单、关联类表单和右类表单,DWF会自动为左类、右类和关联类分别填写数据。如果左右类已经存在数据,也可以只导入关联表单。但不论哪种方法,关联表单必须填写左右类名称(leftClass, rightClass)和左右类对象的全局唯一标识(leftOid, rightOid)。在这里,我们将实体类(零部件类)和关联类(父件到子件类)的数据合并,导入到关联类模型中,可以看到,数据被分别导入到相应的模型。
!注意:导入时需保证类名、属性名与xlsx文件的表单名(表格左下角页签)、列名的完全一致,大小写也应相同。 |
---|
...
小结
本章通过NOVA手机、搅拌车设备2个产品例子介绍了产品结构BOM的基本概念,在产品BOM中是通过父件和子件的关系来描述产品的装配关系的,产品BOM是关联类零件到零件自关联的应用,请体会以下的概念。
...
最后,介绍了设备管理所涉及到的3个实体类和2个关联类的数据模型和之间的联系,希望读者能够深入理解设备管理数据模型表中对数据之间联系的说明。
6. 案例演示
演示视频为创建父件到子件关联类类
7.附件
...
...
示例模型包
产品数据参考:示例数据