由 AI 翻译,尚未经过社区审校。 阅读英文版

博客 · 2023年9月14日 · Steve Simpson · 数据架构

Steve 数据建模:从选项列表到无限远方

引言:

欢迎来到 Steve 数据建模系列的又一期精彩内容!在这篇博客中,我们将探讨选项列表的多种用法,并讨论在哪些场景下,你可能需要为更高级的数据建模需求考虑替代方案。

理解选项列表

当一个字段需要一组固定的值时,选项列表是理想的选择。它们能提供干净的用户体验,但也有一些局限:

如果来自第三方集成的值没有预先添加到 Salesforce 中,就会出现数据验证错误。

探索选项列表的各种方案

下面是一些可以考虑的选项列表方案:

方案 1:全局值集

这是 Salesforce 的标准方案,可以跨对象复用列表。

方案 1,选项列表和全局值集。优点:干净的用户体验。缺点:必须由管理员添加值,修改需要部署到沙盒,外部系统会带来问题,而且一个值无法带有相关字段

全局值集最适合在多个地方使用的值。例如,你可以为“管道尺寸”和“管壁厚度”各建一个全局值集,为用户提供一个干净的界面来选择值。

[caption id="" align=“alignnone” width=“1372”]值集示例 值集示例 [/caption] [caption id="" align=“alignnone” width=“1814”]值示例 值示例 [/caption] [caption id="" align=“alignnone” width=“676”]从列表中选择 从列表中选择 [/caption]

方案 2:文本字段

这就是一个没有验证的文本字段。

方案 2,文本字段。优点:可以接受任何值。缺点:没有数据验证,用户体验差

如果数据值是通过集成推送过来的,你可能会考虑使用文本字段。不过,这种做法失去了验证,允许用户输入任何数据,可能导致不一致。

如果这些字段在 Salesforce 中是只读的,你只是在显示这些值,这可能是一个可选方案。

[caption id="" align=“alignnone” width=“678”]没有验证 没有验证 [/caption]

方案 3:共享的参考对象

方案 3,带记录类型的共享参考对象,查找关系按记录类型筛选。优点:数据可以动态添加,还能带一些相关字段。缺点:沙盒中需要加载数据,而且源对象中保存的是键而不是值

可以用一个带多个记录类型的共享参考对象来加载数据。这种做法在主对象上创建两个查找关系,链接到参考对象,而不是保存实际的值。你还可以在没有管理员权限的情况下动态添加新值,提高了灵活性。

[caption id="" align=“alignnone” width=“1462”]使用记录类型 使用记录类型 [/caption] [caption id="" align=“alignnone” width=“1700”]使用筛选的查找关系 使用筛选的查找关系 [/caption] [caption id="" align=“alignnone” width=“1434”]添加值 添加值 [/caption] [caption id="" align=“alignnone” width=“658”]选择一个值时的样子。排序不正确,而且初次加载时不会显示所有值,用户必须去搜索。另外,务必在简档或权限集中去掉“创建”权限,这样用户就不会随手创建更多记录。 选择一个值时的样子。排序不正确,而且初次加载时不会显示所有值,用户必须去搜索。另外,务必在简档或权限集中去掉“创建”权限,这样用户就不会随手创建更多记录。 [/caption]

第 3 部分:高级方案

对于更高级的场景,可以考虑以下方案:

方案 4:带参考对象的自定义界面

方案 4,参考对象加文本字段,由一个 Lightning Web 组件从参考对象读取选项值。优点:数据可以动态添加,源对象保存的是值本身。缺点:需要开发 LWC 和自定义页面

如果你的编辑界面使用的是自定义 Lightning Web 组件(LWC),你可以用一个参考对象来读取并呈现值,同时保存实际的值,而不是查找关系。

方案 5:独立的对象

方案 5,独立的参考对象,每个列表一个。优点:数据可以动态添加,数据模型干净,可以带很多相关字段。缺点:沙盒中需要加载数据,保存的是键而不是值,而且对象数量多

如果查找值的重要性越来越高,可以考虑为每一种值各建一个独立的对象,并分别创建查找关系。这种做法允许动态添加数据,保持数据模型干净,并且支持在每个对象上增加相关字段。

实际示例

下面是说明每种方案的实际示例:

**标准选项列表:**提供带固定值的干净界面。

**没有验证的文本字段:**提供灵活性,但没有数据验证。

**指向参考对象的查找关系:**使用同一个对象,按记录类型筛选,以获得灵活性。

**独立的对象:**为每个查找关系使用单独的对象,提供干净而灵活的数据模型。

结论

理解选项列表及其替代方案的细微差别,对于有效的数据建模至关重要。从标准选项列表到独立的对象,每种方案都有其独特的好处,能满足特定的数据建模需求。

欢迎再来!

想获得更多见解和技巧,请继续关注 www.SteveTechArc.com 和 YouTube 频道 @SteveTechArc (opens in a new tab)。订阅,和我们一起提升你的数据建模功力!

与架构师同行以及正走在架构师之路上的人分享有趣的想法,一起改变世界!

转录借助了 AI

STA 2.2