继承表

数据源:主数据库社区版+

介绍

继承表是在普通表基础上的扩展,适合多个数据表共享一组公共字段,同时每个子表又有自己的专属字段。

比如先创建「资产」父表,保存资产编号、资产名称、购入日期、负责人等公共字段,再派生「电脑资产」「车辆资产」「办公家具」等子表。子表会继承父表字段结构,同时可以继续定义自己的字段。

注意

继承表只能在主数据库为 PostgreSQL 时创建。其他主数据库、外部数据库、REST API 数据源和外部 NocoBase 数据源不支持继承表。

适用场景

继承表适合这些业务场景:

  • 资产父表派生电脑资产、车辆资产、办公家具
  • 人员父表派生员工、外包人员、访客
  • 事项父表派生任务、缺陷、需求
  • 合同父表派生采购合同、销售合同、服务合同

适合使用继承表的前提是:这些对象有稳定的公共字段,而且子表之间的差异主要体现在少量专属字段上。

创建配置

在主数据库中点击「Create collection」,选择普通表或支持继承的创建入口时,可以通过 Inherits 选择父表。

20240324085907

配置说明
Collection display name数据表在界面中显示的名称,比如「电脑资产」「车辆资产」「办公家具」。
Collection name数据表的标识名称,用于 API、关系字段、权限、工作流等内部引用。
Inherits选择要继承的父表。当前数据表会继承父表字段结构,同时可以继续定义自己的字段。
Categories数据表分类。分类只影响数据表管理界面的组织方式,不改变数据表结构。
Description数据表说明。可以写这个子表保存什么类型的数据、从哪个父表派生、由谁维护。
Preset fields预设字段。继承表通常也会保留普通表的 ID、创建时间、创建人、更新时间、更新人等字段。

继承表可以使用普通表的区块和字段配置方式。对页面区块来说,它仍然是一个可以增删改查的数据表。

注意

继承表适合结构高度相似的业务对象。如果不同对象的业务流程、权限和页面差异很大,拆成普通表再用关系字段连接通常更清晰。

内置字段

继承表会继承父表已有字段,同时也可以继续添加自己的字段。

字段来源说明
父表字段子表会继承父表的公共字段,比如资产编号、资产名称、负责人。
子表字段子表可以继续定义自己的专属字段,比如电脑资产的「CPU 型号」、车辆资产的「车牌号」。
系统字段如果创建时保留 Preset fields,会包含 ID、创建时间、创建人、更新时间、更新人等字段。
注意

父表字段会影响所有继承它的子表。修改父表字段前,先确认子表页面、权限、工作流和 API 是否依赖这些字段。

主键字段

继承表和普通表一样需要主键字段。创建表时建议保留 ID 预设字段,默认主键类型是 Snowflake ID (53-bit)

如果接入或同步后的继承表没有主键,需要在编辑数据表时设置「Record unique key」,否则页面区块可能无法正确查看或编辑记录。

页面配置使用

继承表可以用于普通表支持的大多数页面区块。常见用法是把不同子表分别配置为独立的表格、表单、详情或看板区块。

区块用途
表格区块查看、筛选、排序、批量处理子表记录。
表单区块新增或编辑单条子表记录。
详情区块查看单条子表记录详情。
看板区块按状态、阶段、负责人等字段分组展示子表记录。

编辑配置

在数据表列表中,点击继承表右侧的「Edit」,可以修改数据表显示名称、分类、说明、简单分页模式和「Record unique key」等配置。

继承关系不建议在已有业务配置大量使用后频繁调整。页面区块、关系字段、权限和工作流都可能依赖当前字段结构。

删除数据表

在数据表列表中,点击继承表右侧的「Delete」,可以删除继承表。

删除继承表会删除这个子表的 Collection 元数据和主数据库中的真实数据表。删除前先确认是否还有页面区块、关系字段、权限、工作流或 API 在使用这个子表。

警告

删除继承表不会自动等同于删除父表。是否删除依赖对象取决于删除确认中的选项,操作前先确认父表和其他子表是否仍然需要保留。

相关链接