页面树结构
转至元数据结尾
转至元数据起始

基本概念

术语:关联类(Relation Class)、关联类对象(Relation Object)、关联类属性(Relation Class Attribute)

(一)关联类(Relation Class)——表

关联类是具有关联关系的业务对象的描述。在DWF中,一个关联类描述的是两个实体类关联属性的在数据库中存在的数据表。关联类包括:类名(英文名)、显示名、数据库表前缀、左类名、左类角色(左类显示名)、右类名、右类角色(右类显示名)

元素英文名备注
英文名ClassName类的名称,系统内唯一标识,英文字母,不允许被更改。
显示名DisplayName显示名称,可以用中英文。
数据库表前缀ZoneName标识记录类的域名,如关联类定制数据库表的默认前缀为CUS。对应数据库表名为:固定标识_前缀_英文名,如实体类的英文名为:Part,则数据库名为:plt_cus_r_part,其中plt为在DWF系统中定制的实体类的固定标识,r是关联类的固定标识
左类名leftClass描述关联关系中左对象的类名,选择的类需要是在实体类中定义的类
左类角色leftRole描述关联关系中左对象的显示名,允许用户在关联关系中自定义可以与实体类不一致
右类名

rightClass

描述关联关系中右对象的类名,选择的类需要是在实体类中定义的类,左类名和右类名可以相同,如果相同则代表是自关联并且是多对多
右类角色rightRole描述关联关系中右对象的显示名,允许用户在关联关系中自定义可以与实体类不一致

(二)关联类对象(Relation Object)——行

 关联类对象和实体类不同,关联类对象除自身以外还包含左对象和右对象引用。即关联类对象是关联类类对应的数据表中具体的一行关联属性数据及关联类配置的左类和右类上的实体对象数据,是三张表Join后的对象数据。DWF封装了关联类对象查询接口,通过关联类对象查询可以一次返回关联类对象相关的数据。

(三)关联类属性(Relation Class Attribute)——列

关联类属性是描述关联类数据的详细信息,用DWF建模工具可以将关联类和属性建立绑定关系,就可以完成关联类属性的定义;关联类属性分为系统属性和自定义属性。

关联类系统属性:每创建一个关联类,DWF自动会为其增加12个系统属性,分别是:oid(全局唯一标识)、creator(创建人)、createTime(创建时间)、lastModifier(最近更新人)、lastModifyTime(最近更新时间)、leftClass(左对象类)、leftOid(左对象标识)、rightClass(右对象类)、rightOid(右对象标识)、order(序号)、version(版本号)、rightRev(右对象迭代标识)

属性名

显示名

数据类型

长度

是否为空

备注
creator创建人UUID32
关联类自身属性
lastModifier最近更新人UUID32
关联类自身属性
rightRev右对象迭代标识UUID32
预留属性
leftClass左对象类String50自动赋值
order序号Integer9

关联类自身属性,预留属性

rightClass右对象类String50自动赋值
leftOid左对象标识String32自动赋值
rightOid右对象标识String32自动赋值
lastModifyTime最近更新时间Date0
关联类自身属性
version版本号Integer10

关联类自身属性,预留属性

createTime创建时间Date0
关联类自身属性
oid全局唯一标识UUID32关联类自身属性

自定义属性:为了描述关联类上的关联关系需要自行定义的属性,例如:装配数量(记录设备和零件的装配关系)、考试分数(记录学生课程成绩)等

基本功能

关联类管理: 用DWF创建的业务系统中所用的关联类,进行关联类和属性的绑定。关联类管理包括:”新增关联类“、”删除关联类“、”编辑关联类“、”查看对象“、”导出模板“、”导出数据“、”导入数据“。其中:

  • 新增关联类:设置关联类的英文名、显示名、数据库表前缀、左类名、左类角色、右类名和右类角色,维护实体类之间的关联关系描述
  • 编辑关联类:修改关联类的显示名、左类角色和右类角色的显示名,并允许调整关联类的绑定属性
  • 删除关联类:选择级联删除会同时删除关联类相关的表单、授权项等
  • 查看对象:查看关联类中所包含的数据对象,该功能只能查看关联类本身绑定的属性。
  • 导出模板:选择关联类,勾选需要导出的该关联类的系统属性和自定义属性,可以将关联类类数据格式导出成EXCEl格式的文件,仅能导出关联类本身定义的属性模板。
  • 导入数据:点击”导入数据“,选择导入数据的路径,可将所选择的数据项进行导入,导入数据的格式要严格遵循导出的模板的格式否则导入失败。
  • 导出数据:选择关联类,点击”导出数据“,勾选要导出的系统属性和自定义属性,可将所选择的数据项进行导出。

关联类建模

选择“关联类管理”,点击“新增关联类”,填写关联类的:类名(英文名)、显示名、数据库表前缀、左类名、左类角色(左类显示名)、右类名、右类角色(右类显示名),完成关联类的创建,然后再选择“编辑关联类”,进行关联类属性的配置:

  1. 选择“新建属性绑定”,
  2. 在属性名称处可以选择属性库中已有属性,会自动回填显示名称、数据类型和数据长度(复用已有属性);也可以直接输入属性名称,手工设置显示名、数据类型、数据长度等属性;
  3.  选择或录入属性信息完成后,点击”新建并绑定属性“进行属性新增,并进行属性绑定;
  4.     点击“确认”即可完成新增关联类和属性的绑定。


关联类使用场景

场景一:

需求:学生选课考试,需要记录学生学则课程的考试得分情况,由于学生和课程之间是多对多的关系,并且每个学生都必须对所选课程进行考试并有得分,碰到类似这种需求就需要使用关联类来设计数据模型。

分解:上述需求可以设计为3个类来实现,分别是:学生信息类、课程信息类、学生与课程考试关联类

1)学生信息类:用来维护学生的基本信息,如:学号、姓名、性别、班级、专业、入学日期

2)课程信息类:用来维护课程的基本信息,如:课程编号、课程名称、任课老师、上课时间等

3)学生与课程成绩关联表:用来维护学生和课程之间的关联关系(选课),并在关联类上增加属性叫做成绩(关联类自身属性)

场景二:

需求:在企业维护生产的产品或者生产设备的时候,很多时候需要维护生产产品的产品树,如新能源行业的产品风机,在出厂进入维护期的时候需要维护风机的销售BOM,便于设备运输和安装。碰到这种需要维护产品树的需要使用关联类来设计数据模型

分解:上述需求可以设计2个类来实现,分别是:设备类、设备与设备的关联类,能够记录下设备产品树安装的数量(以风机为例,一个风机由三个叶片组成,风机是一个设备、叶片是一个部件,风机装配的叶片数量在关联类上)

1)设备类:用来维护设备的基础信息,如:设备编号、设备名称、设备类型、设备规格等,特殊说明:由于产品树是一个单根的树,根就是这个产品,为了更清晰的构造产品树,可以利用设备类型字段来标记该条对象(数据)是产品还是零件,如:设备类型='产品' ,设备类型='部件'

2)设备与设备的关联类:用来维护设备的树形结构的关联关系,由于这种产品树的关联关系没有限制树的层数,可以由用户来定义,此处设计的关联类的左类和右类都是同一个实体类(设备类);设备与设备管理类增加一个属性叫做数量,用来维护风机上安装的叶片的数量

  • 无标签