BuildRun低代码开发教程第三节 | 数据模型设计和定义

课程说明

本课程介绍如何利用Buildrun低代码平台构建数据模型,为页面设计提供数据来源。涉及的主要内容有:

  1. 低代码应用服务
  2. 数据模型
  3. 创建静态值列表(选项集)
  4. 创建业务对象
  5. 定义业务对象的属性
  6. 完成V1.0业务对象的定义

课程内容

1. 低代码应用服务

低代码应用服务是Buildrun平台中的一种通过可视化构建的应用服务类型,底层基于微服务技术体系实现,构建的低代码应用加上Buildrun多云应用引擎(BrAppEngine)构成了完整的云原生应用体系。

登录Buildrun平台后,选择顶端菜单“项目”进入项目列表界面,点击我们创建的“Br一站式物联网应用平台项目”的“物联网低代码服务详情”,在服务窗口中点击“进入设计器”按钮进入应用设计器;也可以进入“项目视图空间”中,选择“开发->应用服务”进入应用服务界面,点击应用服务的“进入设计器”链接进入应用设计器。

2. 数据模型

根据前面课程的准备和BrIoT应用平台的需求,我们规划了v1.0版本中主要实现产品和设备的新增、修改和查看功能,因此需要定义产品和设备两个业务对象来存储相关的信息,下面是第一版本的业务对象设计。

![实体关系v1.0](https://segmentfault.com/img/bVbGNKV "实体关系v1.0")

> 业务对象是将信息保留在数据库中并实现数据库模型的元素,可以将它们视为数据库表或视图。

业务对象是通过存储与之相关的实体属性定义的,实体属性的示例包括:名称,地址,邮政编码,城市等。

3. 创建静态值列表(选项集)

由于我们在业务对象属性中需要引用一些静态的值,如产品类型、运营商等,在创建对象属性前先定义好这些值方便引用,定义如下图:

![创建选项集](https://segmentfault.com/img/bVbGNKX "创建选项集")

  1. 选择应用设计器左侧的选项集图标进入选项集界面
  2. 点击左上角的“创建选项集”链接,弹出的创建选项集窗口录入如下信息:

    1. 名称:选项集名称,必填。填写值列表用户的业务名称;
    2. 编码:选项集的唯一编码,在程序扩展和API访问时会用到,选择有意义的英文单词;
    3. 描述:对选项集的描述;
    4. 选项集值定义区域

      • 编码:值的编码,实际返回的值;
      • 值:用户看到的值;
      • 点击“添加选项”链接创建多个选项值
  3. 填写信息完成后,点击创建选项集窗口左下角的“创建”按钮完成业务对象创建

重复以上1~3的步骤创建 云端协议、产品类型、上联系统、运营商和上联网络 选项集:

4. 创建业务对象

进入应用设计器后,按照下列的步骤创建业务对象和业务对象属性:

  1. 选择左边的业务对象图标进入业务对象设计视图
  2. 点击左上角的“创建业务对象”链接,弹出的创建业务对象窗口录入如下信息:

    1. 名称:业务对象的名称,必填。填写一个有意义的名称,尽量能够代表业务实体所代表的业务含义;
    2. 编码:业务对象的唯一编码,在程序扩展和API访问时会用到,选择有意义的英文单词;
    3. 描述:对业务对象的描述;
    4. 存储数据库:数据持久化的标志,选中则会在后台创建一个数据库对象,不选中则创建一个临时的数据对象,不进行建数据库对象的持久化;
    5. 乐观锁定版本号:对象版本控制标志,用来控制实体数据记录更新,防止覆盖别人的更新导致脏数据的产生。
  3. 填写信息完成后,点击创建业务对象窗口左下角的“创建”按钮完成业务对象创建

重复以上1~3的步骤创建三个业务对象:

名称 编码 存储数据库 乐观锁版本号
产品 PRODUCTS
设备组 DEVICE_GROUPS
设备 DEVICES

完成三个业务对象创建后可以从业务对象关系图看到:

![业务对象关系图](https://segmentfault.com/img/bVbGNKY "业务对象关系图")

5. 定义业务对象的属性

从业务对象关系图中的实体对象上方点击图标进入业务对象属性查看界面:

  1. 选择左上角的“添加属性”链接进入添加属性界面,录入如下信息:

    1. 名称:属性名称,必填。填写一个有意义的名称;
    2. 编码:属性对象的唯一编码,在程序扩展和API访问时会用到,选择有意义的英文单词;
    3. 描述:属性的描述;
    4. 是否存储:存储数据库字段是会在数据库表中定义一个列;计算字段可以通过逻辑流来取得一个不进行持久化的值;
    5. 必填:是否是一个必须的属性;
    6. 可搜索:是否可以在界面中进行此属性的搜索。
    7. 属性设置区域根据选择组件的不同显示不同的属性(下面列出本课程定义相关的组件类型属性):

      1. 【文本】 组件用来录入文本信息,相关的属性:

        • 最大长度:允许用户输入的最大文本长度;
        • 默认值:界面录入时默认带出的值;
        • 组件形式:单行文本代表显示字段输入;多行文本显示多行文本域;
        • 设为名称字段:一个业务对象只能设置一个名称字段。
      2. 【长文本】 组件用来录入较长的文本信息,相关的属性:

        • 组件形式:多行文本显示多行文本域;html文本格式;markdown文本格式。
      3. 【单选】 组件用来从静态值列表中选择一个值,相关的属性:

        • 选项集:单选值的来源,选择一个选项集;
        • 默认值:从已选择的选项集中选择一个默认的值;
        • 组件形式:下拉和radio形式;
        • 标签展示:字段显示为彩色的标签。
      4. 【浮点数】 组件用来录入一个浮点数,相关的属性:

        • 默认值:提供一个整数默认值;
        • 组件形式:数字或金额;
        • 整数存储位数:浮点数中的整数位数;
        • 小数存储位数:浮点数中的小数位数。
      5. 【关联关系】 组件是用来关联外部对象,相关的属性:

        • 关联对象:选择一个已定义的业务对象,内部会存储关联对象的UUID值作为关联;
        • 子级关系名称:关联关系名称。
  2. 填写信息完成后,点击添加属性窗口左下角的“创建”按钮完成业务对象属性添加

5.1 定义文本组件(未列出的属性采用默认值)

业务对象 属性名 属性编码 必填 可搜索 最大长度 设为名称字段
产品 产品名称 PRODUCT_NAME 60
设备组 组名称 GROUP_NAME 60
设备 设备名称 DEVICE_NAME 60
设备 MAC MAC_ADDRESS 60
设备 制造商 MANUFACTURER 160
设备 序列号 SERIAL_NUMBER 60
设备 软件版本 SOFTWARE_VERSION 60
设备 硬件版本 HARDWARE_VERSION 60
设备 设备位置 DEVICE_LOCATION 160
设备 设备编号 DEVICE_NUMBER 60
设备 连接用户名 CONNECT_USERNAME 36
设备 设备秘钥 SECRET_KEY 36

5.2 定义长文本组件(未列出的属性采用默认值)

业务对象 属性名 属性编码 必填 可搜索
产品 产品描述 PRODUCT_DESCRIPTION
设备组 设备组描述 GROUP_DESCRIPTION
设备 设备描述 DEVICE_DESCRIPTION
设备 元数据 META_DATA

5.3 定义浮点数组件(未列出的属性采用默认值)

业务对象 属性名 属性编码 必填 可搜索 组件形式 整数存储位数 小数存储位数
设备 位置经度 LONGITUDE 数字 3 6
设备 位置纬度 LATITUDE 数字 2 6

5.4 定义单选组件(未列出的属性采用默认值)

业务对象 属性名 属性编码 必填 可搜索 选项集 默认值 组件形式
产品 云端协议 CLOUD_PROTOCOL 云端协议 MQTT 下拉
产品 产品类型 PRODUCT_TYPE 产品类型 设备 下拉
设备 上联系统 UP_SYSTEM 上联系统 下拉
设备 运营商 OPERATOR 运营商 下拉
设备 上联网络 UP_NETWORK 上联网络 下拉

5.5 定义关联关系(未列出的属性采用默认值)

业务对象 属性名 属性编码 必填 可搜索 关联对象 子级关系名称
设备 设备组 BELONG_DEVICE_GROUP 设备组 所属设备组
设备 产品 BELONG_PRODUCT 产品 所属产品
设备 父设备 PARENT_DEVICE 设备 所属设备

6. 完成V1.0业务对象的定义

定义好的业务对象和属性后的对象关系图如下:

![BrIoT V1.0的业务对象关系图](https://segmentfault.com/img/bVbGNK9 "BrIoT V1.0的业务对象关系图")

遇到问题怎么办

在Buildrun使用过程中,任何平台的问题和建议,都可以点击页面右下角用户反馈按钮,实时向开发团队提交反馈,我们会在第一时间处理。

前两节开发课程回顾

下一节将讲解如何通过迭代计划和代办事项进行任务的管理,本系列开发教程不断更新中,欢迎持续关注。

关于BuildRun

BuildRun带来了多云架构环境下基于视觉的企业级应用创建、集成、部署、生命周期管理和分发的能力,由开源Choerodon猪齿鱼核心团队创立的BuildRun公司(上海翘腾科技有限公司)的使命是以云原生的现代化软件架构来帮助企业提升软件开发生产力和业务敏捷性,它提供企业级DevOps平台和企业级低代码开发平台,帮助隐藏应用所依赖的基础环境的复杂性,让每个人都只需要专注在业务逻辑上,以新的方式让团队能够快速、持续地将他们的想法转化为真正的商业价值。


欢迎免费注册,体验试用低代码应用开发

声明:该文章系转载,转载该文章的目的在于更广泛的传递信息,并不代表本网站赞同其观点,文章内容仅供参考。

本站是一个个人学习和交流平台,网站上部分文章为网站管理员和网友从相关媒体转载而来,并不用于任何商业目的,内容为作者个人观点, 并不代表本网站赞同其观点和对其真实性负责。

我们已经尽可能的对作者和来源进行了通告,但是可能由于能力有限或疏忽,导致作者和来源有误,亦可能您并不期望您的作品在我们的网站上发布。我们为这些问题向您致歉,如果您在我站上发现此类问题,请及时联系我们,我们将根据您的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

本周热议
python每日一练之单元测试
zookeeper 实现一个简单的服务注册与发现(C++) 三:服务发现
zookeeper 实现一个简单的服务注册与发现(C++) 二:注册
zookeeper 实现一个简单的服务注册与发现(C++) 一:与zk保持连接
Java+MySQL笔记
一些零散笔记
TCP/IP协议栈相关知识点总结
Dart学习手册
9.ubuntu文件文本编码的查看与转换,乱码问题
C++输入输出流
扩展2
69-django-forms组件源码刨析、cookie与session
67-django-前后端传数据编码格式、ajax传json格式数据、ajax传文件数据、ajax与sweetalert结合二次确认、django自带的序列化组件、批量插入、分页器
66-django-模型层之choices参数、多对多三种创建方式、数据库三大设计范式、Ajax
64-django-模型层(ORM语法)单表查询、常见十几种查询方法、双下划线查询、多表操作、外键字段增删改查、跨表查询
62-django-无名有名分组反向解析、路由分发、名称空间、伪静态、pycharm虚拟环境、django版本区别、视图层之三板斧、JsonResponse、form表单上传文件、FBV与CBV
61-django-数据增删改、orm创建表关系、django请求生命周期流程图、路由层之路由匹配、无名分组、有名分组
60-django-静态文件配置、request对象方法初识、pycharm链接数据库(MySQL)、django链接数据库(MySQL)、orm简介、orm数据增删改查
巴基斯坦 4400 万移动用户信息泄露,黑客欲以 210 万美元比特币价格出售
支付宝杭州健康码出现异常 地铁大厅人满为患
HaowuliaoA

微信扫码关注 HaowuliaoA 订阅号

友情链接

支付猫
链才网-区块链英才
phpEnv集成环境
广州翻译公司
Lion技术博客
花香诱人醉
LyApi框架
凉风有信
快斗博客
佩晨的博客
蛙导
layui
WebIM
layer
layDate
申请友链
QQ联系