更新时间:2024-07-11 GMT+08:00
分享

数据对象建模

什么是数据对象

在应用中引用的任何数据结构元素,如文件、数据、变量等都称为数据对象,简称为对象。数据对象直观的可理解为一张数据表,对象名对应表名,对象属性对应表头。

对象模型支持哪些类型

当前低代码平台支持创建的模型功能类型及类型介绍,请参见表1

表1 模型功能的介绍

功能

介绍

子类

子类介绍

对象

对象(Object) 用于存储业务数据,可理解为数据库中的数据表(逻辑表,系统实际存储时通过字段映射,统一把数据保存在MySQL大宽表中)。对象支持:

  • 字段管理
    • 标准字段:系统预置的字段,只能修改,不能添加和删除。
    • 自定义字段:可根据需要,自行增/删/改。
  • 对象校验器

    在向对象中录入记录数据时,为了保证对象数据的有效性,可以定义一些校验规则,对字段值以及各字段之间的逻辑关系进行校验。例如,name字段不能为空,MinPrice字段不能大于maxPrice字段等。

  • 对象触发器

    与数据库中的触发器类似,可以为对象定义触发器,在增/删/改对象的记录数据时,自动触发自定义的Java Script脚本执行,脚本的执行结果将会影响主操作(即增删改记录)的结果,系统保证主操作与触发器在一个事务中执行,要么都成功,要么都失败。

  • 对象布局Layout

    Layout是对象的页面布局,决定了对象详情页面中,各字段展示位置的排版布局。系统为StandardObject预置了标准的PageLayout,租户也可以根据需要定制自己的Layout。

  • 选项列表

    选项列表用于定义对象的字段可选用的值,类似于定义下拉列表的一组枚举值。

  • 对象可见性

    对象可见性并非用于安全隔离,是给租户提供的解耦辅助功能。

标准对象

平台预置的对象,对象名称和对象字段均已定义好,可以满足最基本的业务需要。 只允许用户扩展新字段,禁止修改、删除基线字段。

自定义对象

自定义的定制对象,允许用户增/删/改对象和字段。

视图对象

与数据库中的View视图类似,是对2个以上的对象进行关联查询,并把结果集以对象的形式展现,这样的对象称之为视图对象。视图对象中的数据,只支持查询,不支持增/删/改。

聚合对象

由一个主对象和多个子对象构成的复合对象,实现不同对象之间建立关联关系。聚合对象对外展现为一个对象,从而简化对象管理。

通过定义对象中某一字段的字段类型为“Lookup”或“Master Detail”(主从关系类型),实现不同对象之间建立关联关系,只能向子对象进行关联。

针对这种类型,系统支持基于聚合对象进行数据的增删改查操作,避免对多个对象分别进行多次数据操作。

通过属性配置,实现不同对象之间建立关联关系。

针对这种类型,界面上暂不支持基于聚合对象进行数据的增删改查操作,仅可通过Restful接口进行数据的增删改查操作。

除了上述几种,还有一种系统对象,即平台各项系统功能模块所使用到的对象,如服务编排、脚本。一般无需关注,若需要定位问题,可在使用控制台分析查询SQL中,使用SQL语句进行查询,也可以在管理中心的“系统管理 > 数据处理 > 数据导出”中,执行导出操作,详情请参见如何导出数据

图1 数据调试控制台
图2 导出系统对象数据

场景描述

本章节从如何新建对象,到定义对象的字段来添加属性,让您快速熟悉数据对象建模的过程。

示例:以新建一个班级Class对象为例,介绍如何进行数据对象建模。在班级Class对象中,将会添加一个自定义字段班级编号number,并给name(标准字段)和number赋值。

表2 对象的字段

对象

字段来源

字段名称

字段数据类型

Class

标准字段,不需要创建

name

文本

自定义字段,手动创建

number

班级编号

创建自定义数据对象

  1. 参考从空白开始创建一个全新的应用中操作,创建班级管理系统应用。
  2. 将鼠标放在应用视图下的Model文件夹上,单击,选择“对象”。

    图3 新建对象

  1. 选择“创建新对象”,输入基本信息后,单击“添加”。

    图4 新建对象
    表3 新建对象参数说明

    参数

    参数说明

    标签

    新建对象的标签,用于在界面展示。

    名称

    输入标签值后,单击该参数的输入框,系统会自动生成对象的名称,同时自动增加租户命名空间前缀及“__CST”后缀,作为对象的唯一标识。

    描述

    对象的描述信息。

    拓展知识点

    除了在应用开发设计器创建对象,还可以通过全局视图新建对象,如图5所示。两种方式创建的对象都是全局对象,在全局视图对象列表中都可查看到。不同点是在全局视图中创建的对象,可参考图6图7在应用开发工作台目录中手动导入。一个自定义对象(即定制对象)只能被一个应用导入(标准对象可被多个应用导入),例如,应用A中导入全局视图中创建的自定义对象B后,其他应用不可再导入自定义对象B。
    图5 全局视图新建对象
    图6 应用中导入对象步骤1
    图7 应用中导入对象步骤2

定义自定义对象的字段(Fields)

自定义对象创建完成后,系统默认预置了一些标准字段,为了满足业务需求,往往还需修改标准字段或新建自定义字段,字段就是对象的属性描述。

本节主要介绍手动创建自定义字段,AstroZero还支持批量创建自定义字段,详细操作请参见如何使用对象的字段模板批量创建自定义字段

在对象配置页面,单击“标准字段”页签,可以看到系统预置的标准字段。系统会为对象的每一条记录自动创建一个name字段,作为该条记录的标识。

预置字段仅name支持修改,其他字段不支持修改。例如,本任务中将其用于标识出班级的名字,如20届一班。单击,可以修改字段的标签。
图8 系统预置字段

下面将以创建班级Class对象中的“班级编号number”字段为例,为您介绍如何在低代码平台对象界面中,跟随页面提示创建一个自定义字段。

  1. 新建自定义字段班级编号(number)。

    1. 在“自定义字段”页签,单击“新建”。
      图9 新建自定义字段
    2. 字段类型选择“数字”,单击“下一步”。
      图10 字段类型
    3. 设置“班级编号”字段的详情信息,单击“下一步”。
      图11 字段详情
      表4 参数说明

      参数

      参数说明

      标签

      字段在界面的展示名,此处配置为“number”。

      名称

      单击输入框系统自动生成,表示字段在系统中的记录值。

      字段帮助

      字段提示的帮助信息。

      描述

      字段的描述信息。

      数据长度

      字段的字符长度,数字类型长度默认为18。

      小数点后位数

      根据实际需求设置。

      默认值

      该字段默认取值。

      是否必填

      勾选表示是必填字段。

      是否唯一

      勾选表示字段唯一。

      是否可搜

      是否能在前端开发者控制台或脚本中,使用search语句搜索该字段。

      只有加密文本、选项列表、选项列表(多项选择)和公式类型以外的字段,才会有该参数配置。

      search语句可以理解为sql语句的子集,系统支持大部分常用的sql查询语句,只需把sql查询语句开头的select关键词修改为search即可。

      search语句特点和限制如下:

      • search语句当前对分组、通配符、去重distinct等功能暂未支持。
      • search语句不支持通配符,in查询可进行模糊查询。
      • search语句除了聚合函数(AVG、COUNT、MAX、MIN、SUM),其他必须带有where从句,否则报错。
      • 字符串类型默认都转为es中text类型,因此可以实现分词的倒排索引。由于默认未设置Fielddata=on(会很耗性能),所以字符串类型无法排序。
      • 不支持search语句where从句中有非可搜索字段,如不支持search from myobject where t1 = 'abc' (此处t1为非可搜字段)。
      • search语句目前只可进行单表搜索。
      • search语句不支持HAVING子句、OFFSET。
      • search语句不支持同时普通查询和聚合。例如:不支持“search count(列名),列名 from 列表名;”。
      • search语句不支持列表名别名后“.*”全部查询。例如:不支持“search T.from 列表名 as T where condition条件;”。
      • text类型采用了英语分词器,因此大小写单复数不敏感,“movie”可匹配“Movies”。
      • 同sql语句一样,search语句也大小写不敏感。
    4. 设置“班级编号”字段的访问权限,即设置哪些权限集可以查看或修改该字段,然后单击“下一步”。
      图12 字段权限

      AstroZero预置了一些权限集,并提供了自定义对象中字段级的安全控制,这些权限配置是由管理员预置的,权限集介绍及设置方法的详细介绍,请参见了解权限配置

    5. 设置“班级编号”字段是否加入布局。
      该配置用于将“班级编号”字段,加入到对象默认的布局页面。
      图13 加入布局

      创建的自定义对象,系统会自动创建对象的页面布局Detail和Records。自定义对象的页面布局是AstroZero提供的一种管理对象的方式,详细介绍请参见如何使用布局增删改查对象数据

    6. 单击“保存”,完成字段的创建。

      自定义字段创建后,系统会自动为自定义字段添加“__CST”后缀和命名空间前缀。

  2. (可选,当需要给对象创建索引字段时,请执行该步骤)在“自定义字段”页签,单击“自定义索引”,在弹出的页面单击“添加自定义索引”。

    图14 添加自定义索引
    表5 自定义索引参数说明

    参数

    参数说明

    名称

    自定义索引的名称。

    类型

    添加索引的类型。

    • 普通索引
    • 唯一索引

    唯一索引字段的,字段取值必须唯一。

    字段

    选择已创建的自定义字段,作为索引字段。

    默认最多只能创建一个索引,每个索引中最多创建两个索引字段。

后续操作

对象创建完成后,还可以增删改查对象数据,编辑处理多个对象的关系等。下面章节将深入讲解如何使用对象模型的校验器和触发器,方便您进一步熟悉对象的使用。

相关文档