Skip to content

数据源-默认数据源

概述

数据将会存储在数据库中。织信会创建一张数据库表来存储数据,如果数据表中有关联列表 类型的字段,系统还会额外为每一个字段创建一张邻接表来存储关联关系。

数据表的存储

数据表的数据源类型为默认时,系统会为数据表创建一张真实的物理表,并且会自动创建以下两个字段

字段类型说明
idvarchar(32)系统生成的唯一ID,主键
seqint(8)数据添加的先后顺序

注意事项

  • 物理表名称会基于z_{应用ID}_{数据表ID}规则自动生成,其中appId和tableId是系统生成的12位的唯一ID
  • 物理表中的列ID也由系统自动生成,列数据类型会依据数据表字段类型动态设置

数据表结构示例

据表视图

通过对物理表创建过程的了解,我们可以发现物理表生成的内容是不可读;为了提高可读性,在物理表创建完成后,平台会基于物理表创建该表的可读性 视图( view)

注意

视图结构示例

字段存储

对于每一种字段类型,织信会采用不同的格式建立数据表的列。列的id是系统生成的12位的唯一ID

类型数据库类型说明
单行文本varchar(200)默认最大支持200个字符,可自行调整
多行文本varchar(1000)默认最大支持1000个字符,可自行调整
富文本text
整数int8
小数float8存储小数
日期timestamp(6)存储日期
时间varchar(32)存储时间
评分int4评分组件
列表选择varchar(200)列表选择组件允许用户从列表中选择一个或多个值
树形选择树形选择树状结构选择允许用户从树形结构中选择一个或多个值
级联选择jsonb级联选择控件允许用户从级联结构中选择一个或多个值
附件jsonb附件允许上传图片、文档等格式的文件。这些文件可以在线预览或者下载
复选或开关bool复选框
用户选择jsonb应用成员字段允许添加一个或多个应用成员
部门选择jsonb部门字段允许选择一个或多个部门
颜色varchar(32)颜色选择器
手写签名jsonb允许用户手写签名,保留字迹
地理位置坐标jsonb地理位置坐标
函数利用函数和其它字段的值计算出一个结果
自定义组件使用网站模块页面自定义显示控件
关联列表关联另外一张表的多条记录
关联记录varchar(64)关联另外一张表的一条记录,存储的是依赖表的记录ID
关联记录字段关联另外一张表的特定字段
查找列表根据过滤条件查找关联到本表的记录列表
子对象ltree使用子对象可以使数据表拥有树状结构
关联列表汇总float8计算【关联列表】中特定字段的汇总数据
查找汇总float8根据过滤条件查找关联到关联列表,并根据关联列表的特定字段汇总数据
编号varchar(128)由系统生成的编号
子对象编号text树形结构的完整路径
创建时间timestamp(6)自动记录数据的创建时间
最后修改时间timestamp(6)自动记录数据的最后修改时间
创建人varchar(128)自动记录数据的创建人
最后修改人varchar(128)自动记录数据的后修改人
静态文本使用富文本编辑静态展示的文本,文本内容可以使用表达式动态设置

注意事项

数据库类型未标注的字段表示该字段在当前数据表模型中不会存在对应的映射列

单选和多选

在字段选项值有多选的情况时,数据会存储为数组类型,例如用户选择字段单选时存储的是 TableUser 类型,在多选时存储的是Array<TableUser>数组。在通过自动化或者脚本查询和更新数据时要注意这一点。

子对象

子对象数据库存储格式是字符串,存储的是父对象ID列表,中间通过.分隔 例如数据表 department 的结构如下

字段类型说明
idString记录ID
name单行文本名称
parent子对象部门之间的父子关系

表中的数据如下

idnameparent
0000总公司
0001技术部0000
0002产品部0000
0003运营部0000
0004技术一组0000.0001
0005技术二组0000.0001

关联记录字段

关联记录字段在数据表中不会存储,在运行时会动态的根据关联关系从目标表中获取数据。关联记录字段总是只读状态,不能编辑。

关联列表

关联列表表示的是模型之间的一对多关系。对于每一个关联记录字段,系统会创建一张邻接表 存储,邻接表的名称为z_appId_tableId_fieldId。其中appId是应用id,tableId是主表内部id,fieldId是字段的内部id。

邻接表的结构如下

字段类型说明
idint主表记录ID
relation_idvarchar子表记录ID
indexint排序
create_timedate创建时间

关联列表字段删除后系统会将邻接表删除。

查找列表

查找列表不会存储,在运行时会根据配置的过滤条件动态查询。