数据模型
数据模型对应传统开发中的数据库表结构,与传统开发思维一致,数据模型在低码可视化开发中仍然是所有数据交互的基座。
需求
完成客户信息增删改查页面,客户信息包含字段及其要求如下:
- 主键,自动生成
- 客户名称,可根据该字段进行模糊搜索
- 客户代码,长度限制10,后台检测并提示报错信息
- 客户经理,对应另一张【客户经理】表的主键
- 客户性质,绑定字典
- 客户来源,绑定字典
- 行业排名,绑定字典
- 行业排名依据
完成客户经理信息增删改查页面,该页面主要为客户信息提供关联数据,因此此处简化,字段如下:
- 主键,自动生成
- 客户经理名称
*示例中的数据仅做参考,实际操作时可根据情况自行取值
数据准备
数据字典
在【模型节点】下提供了数据字典管理功能,管理项目中可能使用的数据字典。
【模型节点】-> 【数据字典节点】右侧菜单中点击"添加数据字典"。
根据上述需求,为三个字段(客户排名、客户来源、客户性质)依次录入三个数据字典:
- rank
- custSource
- properties
双击添加的字典,在弹出窗口中,点击【新增】按钮依次为三个数据字典分别添加字典项:
数据如下:
字典项示例数据为
字典项名称/字典项代码
结构,其中- 字典项名称:最终显示在页面中的名称
- 字典项代码:字典项的唯一标识
rank:
- 前5%(含)/80010
- 5%-10%(含)/80011
- 10%-50%(含)/80012
- 其他/80013
custSource:
- 第三方引进/80001
- 合作客户/80002
- 投行自主开发/80003
- 公司其他部门/80004
客户性质/properties
- 中央企业/80005
- 民营企业/80006
- 国有企业/80007
数据域
某些字段可能具有相同的数据类型、长度、精度,我们将这些相同元素的数据作为数据域进行统一管理,避免创建大量字段时进行很多重复操作。
【模型节点】-> 【数据域节点】右侧菜单中点击"添加数据域"。
添加数据域:
- en_varchar
- cn_varchar
点击添加的数据域,在右侧属性面板依次补充属性:
en_varchar:
数据域名称
:英文字符串数据类型
:变长字符串长度
:32
cn_varchar:
数据域名称
:中文字符串数据类型
:变长字符串长度
:64
字段库
与数据域类似,但纬度更高,在实际开发中多个数据模型可能具有相似的字段,例如主键、创建人、创建时间等,我们可以将这种字段放入字段库进行统一管理,方便数据模型直接复用字段库中的字段
【模型节点】-> 【字段库节点】右侧菜单中点击"添加字段"。
添加字段:
- id
选中添加的字段,在右侧属性面板补充属性:
字段描述
:主键数据类型
:长整数
设计数据模型
【模型节点】-> 选中在创建数据源文档中创建的数据源节点,右侧菜单中点击"添加模型"。
依次添加数据模型:
- t_cust
- t_manager
选中添加的数据模型,右侧菜单中点击"手工添加字段"
对两个数据模型添加如下字段,且依次选中添加的字段在右侧属性面板为每个字段配置属性:
t_cust:
custName:
字段描述
:客户名称数据域
:选择中文字符串不为空
:打开条件
:打开,打开后点击"条件"按钮,在弹出悬浮窗中选择匹配类型
为模糊匹配
,点击"确认"按钮提交并关闭悬浮弹窗
custCode:
字段描述
:客户代码数据域
:选择英文字符串不为空
:打开
custManager:
字段描述
:客户经理数据类型
:选择长整数不为空
:打开
properties:
字段描述
:客户性质数据域
:选择英文字符串不为空
:打开数据字典
:选择客户性质
custSource:
字段描述
:客户来源数据域
:选择英文字符串不为空
:打开数据字典
:选择客户来源
induRankStatus:
字段描述
:行业排名数据域
:选择英文字符串不为空
:打开数据字典
:选择排名
induRankRemark:
字段描述
:行业排名依据数据类型
:变长字符串长度
:255展示
:关闭
t_manager:
- name
字段描述
:名字数据域
:选择中文字符串不为空
:打开
依次对两个数据模型进行相同操作,右侧菜单中点击"从字段库添加",在弹出窗口中选中【主键】字段,点击"确认"按钮,完成提交;
依次选中两个数据模型中的主键字段,在右侧属性面板中进行配置:
主键
:打开主键策略
:选择 Koca 主键生成器创建
:关闭展示
:关闭编辑
:关闭
使用到的属性释义
字段代码
: 字段在该数据模型的唯一标识,对应数据库中的表字段名字段描述
: 字段的可读描述,对应数据库中的表字段描述,同时也会作为生成页面的表单项/表格列的Label主键
:标识该字段是否是主键主键策略
: 当字段是主键时,可配置主键策略,主键策略提供两种策略:自增
: 顾名思义,即自动递增,无需手动录入主键值,该功能需数据库本身支持该操作,例如mysql支持,而oracle不支持Koca 主键生成器
: 使用 KOCA 的 id-generator 为该字段生成主键值,无需手动录入主键值,该方案兼容所有数据库无
: 即不选择任何策略,则需要手动录入主键值
不为空
: 标识该字段是否可以为空,对应数据库中的 NULL/NOT NULL 属性,同时也会影响生成页面中的表单项空校验数据字典
: 可选择已存在的数据字典,当字段绑定了数据字典后,生成页面的表单项/表格列会根据字典进行翻译创建
:标识该字段是否需要在提交创建表单数据时显式提供值,即创建表单的表单项中是否会渲染该字段,例如配置了主键策略的主键字段则不需要;查询
:标识该字段是否会从数据库表中查询出来;展示
:标识该字段是否作为页面表格列展示出来;编辑
:标识该字段是否需要在提交编辑表单数据时显式提供值,即编辑表单的表单项中是否会渲染该字段;删除
:标识该字段是否作为删除的依据字段,主键字段会自动作为删除的依据字段;条件
:标识该字段是否作为查询条件,并提供了"完全匹配"和"模糊匹配"两种匹配方案;选中数据源,点击右侧菜单中的"版本管理",在弹出窗口中点击当前版本的"同步"按钮,完成同步后,示例中的数据模型将会在数据库中创建对应结构的数据库表