Skip to content

数据模型

数据模型对应传统开发中的数据库表结构,与传统开发思维一致,数据模型在低码可视化开发中仍然是所有数据交互的基座。

需求

完成客户信息增删改查页面,客户信息包含字段及其要求如下:

  • 主键,自动生成
  • 客户名称,可根据该字段进行模糊搜索
  • 客户代码,长度限制10,后台检测并提示报错信息
  • 客户经理,对应另一张【客户经理】表的主键
  • 客户性质,绑定字典
  • 客户来源,绑定字典
  • 行业排名,绑定字典
  • 行业排名依据

完成客户经理信息增删改查页面,该页面主要为客户信息提供关联数据,因此此处简化,字段如下:

  • 主键,自动生成
  • 客户经理名称

*示例中的数据仅做参考,实际操作时可根据情况自行取值

数据准备

数据字典

在【模型节点】下提供了数据字典管理功能,管理项目中可能使用的数据字典

  1. 【模型节点】-> 【数据字典节点】右侧菜单中点击"添加数据字典"。

    根据上述需求,为三个字段(客户排名、客户来源、客户性质)依次录入三个数据字典:

    • rank
    • custSource
    • properties
  2. 双击添加的字典,在弹出窗口中,点击【新增】按钮依次为三个数据字典分别添加字典项:

    数据如下:

    字典项示例数据为字典项名称/字典项代码结构,其中

    • 字典项名称:最终显示在页面中的名称
    • 字典项代码:字典项的唯一标识

    rank:

    • 前5%(含)/80010
    • 5%-10%(含)/80011
    • 10%-50%(含)/80012
    • 其他/80013

    custSource:

    • 第三方引进/80001
    • 合作客户/80002
    • 投行自主开发/80003
    • 公司其他部门/80004

    客户性质/properties

    • 中央企业/80005
    • 民营企业/80006
    • 国有企业/80007

数据域

某些字段可能具有相同的数据类型、长度、精度,我们将这些相同元素的数据作为数据域进行统一管理,避免创建大量字段时进行很多重复操作

  1. 【模型节点】-> 【数据域节点】右侧菜单中点击"添加数据域"。

  2. 添加数据域:

    • en_varchar
    • cn_varchar
  3. 点击添加的数据域,在右侧属性面板依次补充属性:

    en_varchar:

    • 数据域名称:英文字符串
    • 数据类型:变长字符串
    • 长度:32

    cn_varchar:

    • 数据域名称:中文字符串
    • 数据类型:变长字符串
    • 长度:64

字段库

与数据域类似,但纬度更高,在实际开发中多个数据模型可能具有相似的字段,例如主键、创建人、创建时间等,我们可以将这种字段放入字段库进行统一管理,方便数据模型直接复用字段库中的字段

  1. 【模型节点】-> 【字段库节点】右侧菜单中点击"添加字段"。

  2. 添加字段:

    • id
  3. 选中添加的字段,在右侧属性面板补充属性:

    • 字段描述:主键
    • 数据类型:长整数

设计数据模型

  1. 【模型节点】-> 选中在创建数据源文档中创建的数据源节点,右侧菜单中点击"添加模型"。

  2. 依次添加数据模型:

    • t_cust
    • t_manager
  3. 选中添加的数据模型,右侧菜单中点击"手工添加字段"

  4. 对两个数据模型添加如下字段,且依次选中添加的字段在右侧属性面板为每个字段配置属性:

    t_cust:

    • custName:

      • 字段描述:客户名称
      • 数据域:选择中文字符串
      • 不为空:打开
      • 条件:打开,打开后点击"条件"按钮,在弹出悬浮窗中选择匹配类型模糊匹配,点击"确认"按钮提交并关闭悬浮弹窗

      手工添加字段示例

    • custCode:

      • 字段描述:客户代码
      • 数据域:选择英文字符串
      • 不为空:打开
    • custManager:

      • 字段描述:客户经理
      • 数据类型:选择长整数
      • 不为空:打开
    • properties:

      • 字段描述:客户性质
      • 数据域:选择英文字符串
      • 不为空:打开
      • 数据字典:选择客户性质
    • custSource:

      • 字段描述:客户来源
      • 数据域:选择英文字符串
      • 不为空:打开
      • 数据字典:选择客户来源
    • induRankStatus:

      • 字段描述:行业排名
      • 数据域:选择英文字符串
      • 不为空:打开
      • 数据字典:选择排名
    • induRankRemark:

      • 字段描述:行业排名依据
      • 数据类型:变长字符串
      • 长度:255
      • 展示:关闭

    t_manager:

    • name
      • 字段描述:名字
      • 数据域:选择中文字符串
      • 不为空:打开
  5. 依次对两个数据模型进行相同操作,右侧菜单中点击"从字段库添加",在弹出窗口中选中【主键】字段,点击"确认"按钮,完成提交;

  6. 依次选中两个数据模型中的主键字段,在右侧属性面板中进行配置:

    • 主键:打开
    • 主键策略:选择 Koca 主键生成器
    • 创建:关闭
    • 展示:关闭
    • 编辑:关闭

    使用到的属性释义

    字段代码: 字段在该数据模型的唯一标识,对应数据库中的表字段名

    字段描述: 字段的可读描述,对应数据库中的表字段描述,同时也会作为生成页面的表单项/表格列的Label

    主键:标识该字段是否是主键

    主键策略: 当字段是主键时,可配置主键策略,主键策略提供两种策略:

    • 自增: 顾名思义,即自动递增,无需手动录入主键值,该功能需数据库本身支持该操作,例如mysql支持,而oracle不支持
    • Koca 主键生成器: 使用 KOCA 的 id-generator 为该字段生成主键值,无需手动录入主键值,该方案兼容所有数据库
    • : 即不选择任何策略,则需要手动录入主键值

    不为空: 标识该字段是否可以为空,对应数据库中的 NULL/NOT NULL 属性,同时也会影响生成页面中的表单项空校验

    数据字典: 可选择已存在的数据字典,当字段绑定了数据字典后,生成页面的表单项/表格列会根据字典进行翻译

    创建:标识该字段是否需要在提交创建表单数据时显式提供值,即创建表单的表单项中是否会渲染该字段,例如配置了主键策略的主键字段则不需要;

    查询:标识该字段是否会从数据库表中查询出来;

    展示:标识该字段是否作为页面表格列展示出来;

    编辑:标识该字段是否需要在提交编辑表单数据时显式提供值,即编辑表单的表单项中是否会渲染该字段;

    删除:标识该字段是否作为删除的依据字段,主键字段会自动作为删除的依据字段;

    条件:标识该字段是否作为查询条件,并提供了"完全匹配"和"模糊匹配"两种匹配方案;

  7. 选中数据源,点击右侧菜单中的"版本管理",在弹出窗口中点击当前版本的"同步"按钮,完成同步后,示例中的数据模型将会在数据库中创建对应结构的数据库表