页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

表中含有很多行,每一行代表一个寄件人的信息,每一行中含有很多列(如EMS快递网上下单例子:寄件人姓名、电话、地址列等),在关系数据库中,通过增行、删行、修改列值、查询行的基本操作实现对数据的维护。

寄件人信息(表)

寄件人姓名

手机/固话

省市区

详细地址

地址标签

物品类型

内件规格

内件详情

物品重量

杨文文

13901201188

北京

北京市海淀区唐家岭新城12号楼

海淀区

文件资料

文件袋

信件

200g

张建国

13651164493

北京

北京市海淀区北清路16号院

海淀区

衣服

小葙

包裹

500g

王建

82797105

北京

北京市通州区

通州

文件资料

文件袋

信件

200g

李慧慧

13651178896

北京

北京市西城区南礼士路甲60

西城

文件资料

文件袋

信件

200g

王卫华

55597026

北京

北京市通州区达济街9号

通州

文件资料

文件袋

信件

200g

刘华

88326666

北京

北京市西城区西直门南大街11号

西城区

物品

大箱

包裹

5000g

张泓

88326666

北京

北京市西城区西直门南大街13号

西城区

物品

大箱

包裹

3000g

2. 基本概念-实体类

有了关系数据库以后,是不是问题就彻底解决了呢?并不是!回想一下日常的应用,无论是打车、购物、浏览网页还是玩游戏等等这些丰富多彩的界面,展现的并非全是千篇一律的表。那么,一定有某种东西在我们看到的界面和数据库中的数据之间起了作用,我们称之为应用程序。DWF就是用于开发应用程序的工具之一。

...

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

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

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

...

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

元素

英文名

备注

属性名

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

属性缺省值

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

...

在DWF创建实体类后,在数据库中就创建了一个表;表的创建涉及到表体的结构,就是说牵涉到表中的字段数据的格式,因此要对字段的数据类型进行定义,DWF支持的属性类型有以下12类:

类型

说明

UUID

128位二进制数,用于表示数据库表的主键

Boolean

布尔开关

Integer

整形

Long

长整型

Double

浮点型

String

字符串

Clob

长字符串。字符大对象类型,能存储比较字符比较大的数据,如能存储复杂的xmljson文件。

TimeStamp

时间戳

Date

日期。与TimeStamp完全相同,目前为了兼容老版本而留存

Time

时间(无日期)

JSONJS对象简谱

LocalFile

指向服务器本地文件系统的文件,支持图片、文件、视频、音频类型

Timeseries

时间序列,用于访问时序数据。表示物联网时间序列对象,一般与某个设备的工况象对应。DWF内置IoTDB接口来处理时序数据。

3.2 系统属性

在DWF中,一个实体类描述一张数据表,表是由系统属性和自定义属性组成。每创建一个实体类,DWF自动会为其创建8个系统属性,并且自动维护这8个属性,这些属性在创建对象时自动为其赋值:

属性名

显示名

数据

长度

是否

描述

oid

全局唯一标识

UUID

32

对象的唯一标识,系统自动生成

id

代号

String

50

用于方便用户查看和记忆的编号,支持数字与英文字符,默认由系统自动生成,也可自定义

owner

拥有人

UUID

32

拥有人,用于锁定对象时标明锁定人的代号

currentProcess

当前流程

UUID

32

对象进入流程后的唯一编号

creator

创建人

UUID

32

对象的创建人

createTime

创建时间

Date

0

创建时间

lastModifier

最近更新人

UUID

32

最近更新人

lastModifyTime

最近更新时间

Date

0

最近的更新时间

建模人员在创建新的实体类时,不需要再单独定义类的全局唯一标识、创建人、创建时间等基础属性,只需要对当前实体个性化的属性进行定义,从而避免了大量重复工作。

...

实体类/关联类相关的系统属性(creator, lastModifier, rightRev, leftClass, order, rightClass, leftOid, rightOid, lastModifyTime, version, createTime, currentProcess, oid, id, owner)不允许修改。

操作属性库类绑定属性
更新只允许修改显示名和默认值
属性的更新不影响所有被绑定类的列只影响当前类的列
新增新增属性到属性库新增属性到属性库,并绑定当前属性
查看查看属性库中属性信息查看类绑定的属性信息(显示名/默认值以当前类绑定的属性为准,可能与属性库不同)
绑定继承当前属性信息

5.1.2 关于英文名命名

信息
title提醒注意!!!

1. 属性和类的英文名只能包含字母、数字,长度不超过32个字符;属性名首字母必须为字母;

2. 在DWF系统中类和属性英文名不区分大、小写,如系统将:engineerOid与engineeroid视为同一个属性;

3. DWF 系统中所有的英文名需要以

...

数据模型建立完成后,可以向实体类批量导入数据。数据需要以表格形式存储在.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托轮


信息
title提醒

需要说明的问题:

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

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

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

...

注意:所有类默认包含上述8条系统属性,下方列表为系统属性之外,需要额外添加的自定义属性。

  • 实体类:设备(Asset)

属性名

显示名

数据

缺省

描述

assetName

设备名称

String



assetType

设备类型

String


如:搅拌车,叉车,拖车等

workHour

工作小时数

Integer

0


installationDate

安装时间

TimeStamp



ownerName

业主名称

String



locationX

当前位置经度

Double



locationY

当前位置纬度

Double



workLoc

工作地点

String



assetImg

设备图片

LocalFile



assetIcon

设备图标

String



assetState

设备状态

String

已创建

记录当前设备的状态,包括:已创建,使用中,维修中,已报废

assetDesc

设备描述

String



woCount

当前工单数

Integer

0


mileAge

总里程数

Double

0


alarmCount

总故障报警数

Integer

0


temperature

温度

Timeseries



partOid

部件

UUID


记录当前设备对应的类型为产品的零部件的ID

  • 实体类:工单(WorkOrder)

属性名

显示名

数据

缺省

描述

assetOid

故障设备

UUID


记录当前工单对应的故障设备ID

partOid

故障部位

UUID


记录当前工单对应的故障零部件ID

groupOid

负责部门

UUID


记录负责当前工单的用户组ID

engineerOid

负责工程师

UUID


记录负责当前工单的维修工程师ID

woTitle

工单标题

String



woDesc

工单描述

String



woState

工单状态

String

已创建

记录当前工单的状态,包括:已创建,已安装,运行中,维修中,已报废

woDeadline

截止日期

TimeStamp



  • 实体类:零部件(Part)
属性名显示属性数据类型缺省值描述
partName零件名称String

partType零件类别String零件记录当前零部件的类别,包括:产品,部件,零件
partSpece零件规格String

partMaterial零件材料String

partDesc零件描述String

PartImg零件图片LocalFile

8.附件

...

数据模型.zip

...

设备类数据Excel:Asset.xlsx