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

基本概念

术语:实体类(Entity Class)、实体类对象(Entity Object)、属性(Attribute)、实体类属性(Entity Class Attribute)

DWF给“表”这个千篇一律的概念,套上了一个“包装”,有了这些包装以后,我们就可以把表中一行一行的数据像快递发货一样,通过网络发到界面上,让人操作,这个加上包装的过程在DWF中称为数据建模。

这个加包装的方法有很多,在入门阶段,先介绍:实体类、实体类对象、属性、实体类属性这四个基本概念,以及他们和关系数据库的对应关系,之后在教程里会通过应用开发的深入继续介绍新概念。

(一)  实体类(Entity Class)—表

实体类是具有相同属性业务对象的描述。在DWF中,一个实体类描述一张数据库中的数据表。实体类包括:类名、显示名、前缀。

元素英文名备注
英文名ClassName类的名称,系统内唯一标识,英文字母,不允许被更改。
显示名DisplayName显示名称,可以用中英文。
数据库表前缀ZoneName标识记录类的域名,如实体类定制数据库表的默认前缀为CUS。对应数据库表名为:固定标识_前缀_英文名,如实体类的英文名为:Part,则数据库名为:plt_cus_part,其中plt为在DWF系统中定制的实体类的固定标识。

(二)  实体类对象(Entity Object)—行

实体类对象是实体类对应的数据表中具体的一行数据,对应数据库中的对象概念。

(三)  属性(Attribute)—列

属性是业务对象某种特征参数的描述。

  • 属性是对象特征的抽象。例如EMS快递网上下单例子中收件人信息表中:寄件人姓名、地址、年龄、编号等,每个属性用名称、数据类型、是否为空,以及长度和缺省值等来描述。
  • 属性单独存在没有意义,属性和实体类绑定后才能实现应用功能。

属性定义包括:属性名、显示名、数据类型、长度、是否为空、缺省值信息,详见下表。

元素

英文名

备注

属性名

AttributeName

属性的名称,系统内唯一标识,不允许再更改

显示名

DisplayName

属性的显示名称,可中英文书写。

数据类型

ValueType

如:Integer \ Long \ Boolean \ String \ Date \ UUID \ Double \ Clob \ TimeStamp等,用户也可二次开发扩展数据类型

长度

ValueLength Integer

Integer 默认9

Long 默认20

Boolean 默认1

String默认50,可调整

Date 默认7

UUID 默认20

Double 默认126

Clob 默认1000,可调整

TimeStamp 默认6

timeseries 默认50[String]

是否为空

Nullable

是否为空,勾选表示为空

缺省值

DefaultValue

属性缺省值

(四)  实体类属性(Entity Class Attribute)—表中的列

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

  • 系统属性:每创建一个实体类,DWF自动会为其增加8个系统属性,并且自动维护这8个属性,这些属性在创建对象时自动为其赋值。
  • 自定义属性:为描述实体类需要自行定义的属性,这些属性与实体类绑定后才能成为实体类的自定义属性,例如:在教学案例设备实体类中的设备名称、设备类型、设备状态、设备图片等都是设备实体类的自定义属性。

下图为教学案例设备管理系统中3个实体类:设备、工单、零件的数据模型:

  • 设备实体类:表述设备本身的信息:设备名称、设备状态、设备的经度、设备的维度、工作地点、总故障报警数等。
  • 零件实体类:描述组成设备中包含的零部件信息描述,包括:零件名称、零件类别、零件规格、零件材料、零件描述等,其中零件的类型可定义为:产品、部件、零件。
  • 工单实体类:描述工单的内容,包括:故障设备、故障部位、工单状态、截至日期等。

图-设备管理实体类

基本功能

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

  • 查看对象:查看实体类中所包含的数据对象。
  • 导出模板:选择实体类,勾选需要导出的该实体类的系统属性和自定义属性,可以将实体类数据格式导出成EXCEl格式的文件。
  • 导入数据:点击”导入数据“,选择导入数据的路径,可将所选择的数据项进行导入。
  • 导出数据:选择实体类,点击”导出数据“,勾选要导出的系统属性和自定义属性,可将所选择的数据项进行导出。
  • 从excel创建实体类 :选择excel文件可完成实体类的创建,并可同时导入excel中的数据。

实体类建模

实体类管理中重点介绍”从excel创建实体类“、”新增实体类“、”数据导入“、”从excel创建实体类“三个功能。实体类建模有2种方式:

  • 从excel创建实体类
  • 从新增实体类来创建建实体类

(一)从excel创建实体类

    在excel中把要创建的实体类和数据整理好,点击excel即可完成实体类创建同时也把excel 中的数据进行导入。execl 整理时第一行为实体类属性英文名,第二行为属性中文名,sheet页签可为实体类名,可以把要创建的实体类整理在不同的sheet页签中,对同时创建多个sheet中实体类,excel模板格式见下图。

图- excel数据模板

从excel创建实体类的过程如下:

  • 点击”从excel创建实体类“,弹出对话框,在对话框中有选择excel并上传的功能,选择要导入的excel文件,上传成功获取返回值后,如果返回值正确,将返回值渲染到table中;
  • 1.确认实体类英文名,在此处可以对英文名称做修改
  • 2.定义实体类的显示名称
  • 3.查看对象页面,在表格底部可选着列属性字段类型
  • 4.点击”确认“,则自动创建实体类、属性和实体类/属性关联
  • 通过实体类管理中的”编辑实体类“查看实体类属性和属性类型是否正确
  • 过实体类管理中的“查看对象”检查导入的数据是否完整


图-从excel创建实体类过程

(二)新增实体类

新增实体类后系统会自动产生8个系统属性,系统属性详见本章节的3.2系统属性的内容,实体类与自定义属性绑定有2个路径:新增并绑定属性、现有属性绑定。

  • 新增并绑定属性:是在实体类创建后通过新增属性并进行绑定,路径为:数据模型-实体类管理-新增实体类-编辑实体类-新增并绑定属性。
  • 现有属性绑定:在实体类创建后与已有的属性进行绑定,路径为:数据模型-实体类管理-新增实体类-编辑实体类-新增属性绑定-选择属性名-现有属性绑定。

新增实体类建模过程:

 选择”实体类管理“,点击”新增实体类“,填写实体类的:英文名、显示名,完成实体类的创建,再选择”编辑实体类“:

  •  1. 选择 “新增属性绑定“;
  •  2. 在右侧放大镜处选择已有的属性,选择”绑定现有属性“进行绑定属性;
  •  3. 或在1. 选择”新增属性绑定“后,在左侧对话框完成新增属性定义后,点击”新建并绑定属性“进行属性新增,并进行属性绑定;
  •     点击“确认”即可完成新增实体类和属性的绑定。

图-新增实体类

(三)导入数据

进入”数据模型管理“,选择”实体类管理“,数据导入操作骤如下:

  • 点击”导入数据”, 弹出对话框,选着要导入的文件,进行导入;
  •  弹出导入进度和导入结果,如果导入失败,点击下载失败数据,查看详情;
  • 举例说明:输入错误的数据,导入失败,点击下载失败数据查看信息;
  •  提示ERROR错误信息;
  • 查看导入数据详情描。

图-数据导入

数据模型建立完成后,可以向实体类批量导入数据。数据需要以表格形式存储在.xlsx文件中,列头为属性名。系统属性、允许为空的自定义类属性均可缺省,甚至表格中不需要建立这些属性对应的列,DWF会自动为导入数据的系统属性赋值,没有数据的属性值为空。如果自定义了系统属性,DWF会保留导入数据的内容,比如在零件实体类中,通常把ID作为零件的代号使用:

id

partName

partType

PartSpecepartMaterial

partDesc

partImg
4100-0001后台支撑架零件
20后台支撑架
4100-0002托轮零件
45托轮

将上表导入到零部件类,则DWF不会为id属性分配默认值:

createTime

oid

id

...

creator

partName

partType

PartSpece

partMaterial

partDesc

partImg

2019-10-25T16:24:46.260ZD5B1521D613D574B8814D080ABC57115PA20191009145639241

搅拌车产品

partDesc
2019-10-25T16:24:46.273Z8B17E17E6F71524EB61DFA01B7CC6B38PA20191021000445089

出料系统系统



2019-10-25T16:24:46.279Z995E98A15459C646B6497371B76914C1PA20191021001208106

支撑滚轮零件



2019-10-25T16:24:46.301Z18020CACCBDA1547BABDB5C139AB9C0F4100-0001

后台支撑架零件
20后台支撑架
2019-10-25T16:24:46.307ZA33936A3E079B147907F761220AB5ACF4100-0002

托轮零件
45托轮


提醒

需要说明的问题:

1)建立属性后,DWF规定无法对属性名、数据类型、长度进行修改。当用户试图建立相同属性名的属性时,会出现“属性已存在”的提示,可以从右边的“选择属性名”下拉框中搜索需要的属性;如果需要修改当前属性的显示名,可通过”编辑属性绑定“按钮进行修改。

2)同一属性在不同实体类中可以使用不同的显示名,方便建模人员理解它的含义。比如在设备管理教学案例中,出现在工单类和设备类的同名属性partOid,用于存储零部件的全局唯一标识,工单类中,它代表当前工单所对应的故障零部件,设备类中,它代表当前设备的产品结构。在这里,存储的是全局唯一标识而非字符串,是为了能够唯一辨识出设备的组成结构,这些将在后续关联类建模中解释。

3)建立实体类时,无法对存储的具体内容进行限制,比如,零件类别必须是:产品、系统、零件之一,设备类型中填入的零部件ID必须是类型为产品的零部件等,这些输入限制操作将在后续教程中实现。

  • 无标签