Salesforce的对象关系

时间:2020-12-17 19:51:13

对象关系

Salesforce中的对象关系和一般的关系数据库不同。

在关系数据库中对象间的关系是由主键、外键等加以定义。而在Salesforce中,对象之间的关系是由自定义字段来确定。

这么做的原因是Salesforce本身是实现了多租户的架构(Multi-tenancy),在内部将不同客户的数据统一存放。

在新建自定义字段的时候,选择“查找关系”(Lookup)或“主-详细信息关系”(Master-detail)即可创建对象间的关系。

查找关系

Salesforce中对于“查找关系”的说明是:

创建一个将此对象链接到另一对象的关系。关系字段允许用户单击查找图标,以从弹出列表中选择值。另一对象是列表中值的源。

举个例子:每个客户(Account)都有联系人(Contact),那么“客户”和“联系人”两个对象之间就有了查找关系。每个“联系人”对象中都有“客户名”字段,作为“查找关系”。

Salesforce的对象关系

建立查找关系

下面举个例子说明如何建立查找关系。假设系统中有了一个“地址”的自定义对象,现在要为“地址”和“客户”建立查找关系。

  1. 进入设置界面。查找“对象”,点击“创建”菜单下的“对象”链接,再在页面中点击“地址”进入“地址”的字段页面。点击“自定义字段和关系”部分的“新建”按钮,进入“新建自定义字段”页面

Salesforce的对象关系

  1. 在第一步“选择字段类型”的页面,选择“查找关系”

Salesforce的对象关系

  1. 在第二步“选择相关对象”中,从下拉列表中选择另一个相关对象。在这里选择“客户”

Salesforce的对象关系

  1. 在第三步“输入查找字段的标签和名称”中,设置此查找关系字段的基本属性。这些名称会显示在“地址”的页面布局中。也可以设置“筛选器”来对此字段添加一些规则,比如只能查找符合特定筛选条件的客户

Salesforce的对象关系

  1. 接下来的步骤和建立普通自定义字段类似,设置字段的安全性和页面布局。在页面布局方面,系统会要求用户分别设置该查找关系所包含的两个对象的页面布局,即“客户”和“地址”的页面布局

  2. 最后保存即可。这样,在“地址”的字段页面,可以看到“客户”的查找关系字段已经建立了

Salesforce的对象关系

在“客户”的详细信息页面,可以看到已经有了“地址”的相关列表。

Salesforce的对象关系

当新建“地址”对象时,“客户”的字段显示为右边有放大镜图标的输入框,点击放大镜图标即可搜索系统中所有的“客户”,然后选择一个作为此“地址”对象的“客户”。如果之前在第4步设置了筛选器,则搜索的结果中只会出现符合筛选条件的客户。

Salesforce的对象关系

主-详细信息关系

如果两个对象之间有很强的联系,一个对象必须依赖另一个对象而存在,那么它们之间便形成了“主-详细信息关系”。

Salesforce中对于“主-详细信息关系”的描述是:

创建一个此对象(子级或"详细信息")与另一对象(父级或"主")之间的特殊父子关系类型,其中:

  • 所有详细信息记录的关系字段必填。
  • 详细信息记录的所有权和共享由主记录确定。
  • 当用户删除主记录时,将删除所有详细信息记录。
  • 您可以在主记录上创建累计汇总字段以汇总详细信息记录。

关系字段允许用户单击查找图标,以从弹出列表中选择值。主对象是列表中值的源。

建立主-详细信息关系

举个例子说明如何建立主-详细信息关系。假设系统中有了“地址”和“街道”两个自定义对象,现在要为“地址”和“街道”建立主-详细信息关系。

  1. 进入“街道”对象的“新建自定义字段”页面。在第一步选择“主-详细信息关系”类型

Salesforce的对象关系

  1. 在第二步“选择相关对象”中,从下拉列表中选择另一个相关对象。在这里选择“地址”

Salesforce的对象关系

  1. 在第三步“输入查找字段的标签和名称”中,设置此查找关系字段的基本属性。这些名称会显示在“街道”的页面布局中。也可以设置“筛选器”来对此字段添加一些规则

Salesforce的对象关系

  1. 接下来的步骤和建立普通自定义字段类似,设置字段的安全性和页面布局。在页面布局方面,系统会要求用户分别设置该关系所包含的两个对象的页面布局,即“街道”和“地址”的页面布局

  2. 最后保存即可。这样,在“街道”的字段页面,可以看到“客户”的查找关系字段已经建立了

Salesforce的对象关系

当系统中建立了一个测试的地址对象时,进入此对象的详细信息页面,可以看到有“街道”的相关列表,也可以在此添加编辑“街道”对象。

Salesforce的对象关系

利用主-详细信息关系建立多对多关系

两个对象之间可以建立多对多的关系。

要建立多对多的关系,除了两个已经存在的对象,还需要建立一个连接的对象。

在连接的对象中,建立两个“主-详细信息”关系字段,将两个需要多对多的对象分别作为主对象即可。

查找关系和主-详细信息关系的主要不同点

  • 查找关系是松散的,两个具有查找关系的对象不依赖对方存在。而主-详细信息关系中,作为详细信息的对象是不能脱离主对象单独存在的,主对象的某条数据记录被删除时,属于它的详细信息对象的数据记录也会被删除,类似于关系数据库的级联删除
  • 形成查找关系的两个对象分别有自己的分享权限。而作为详细信息对象,它的分享权限继承自主对象,无法单独建立

方案生成器(Schema Builder)

方案生成器是Salesforce提供的一个视图化界面,直观地展现了系统中各对象的属性和关系。在这里也可以快速地对系统中的对象进行浏览和修改。

在设置主菜单中找到“方案生成器”,点击链接即可进入。

Salesforce的对象关系

方案生成器界面介绍

在方案生成器的界面左侧是系统中的对象列表。当用户勾选了某些对象,相应的详细信息便会显示在右侧的内容区域。

在右侧的内容区域,每个对象都显示为一个方框,里面包含了字段信息。在方框的右上角有齿轮图标,点击之后可以更改此对象的显示方式。

方框之间有连线,代表了对象之间的不同关系。

Salesforce的对象关系

Salesforce的对象关系

在右侧内容区域的右下方,有整个内容区域的缩略图,每个方框分别代表了一个对象。点击缩略图即可定位到内容区域对应的地方。

新建对象或字段

在方案生成器界面的左侧边栏,点击“元素”标签,然后将“对象”拖拽到内容区域空白处,即可新建对象。

Salesforce的对象关系

Salesforce的对象关系

将某个“字段”拖拽到内容区域某个对象内,即可在此对象中新建相应类型的字段。

Salesforce的对象关系

删除对象或字段

在方案生成器界面的内容部分,可以删除自定义对象。

在自定义对象方框的右上角,点击齿轮图标,会显示一个菜单,除了可以更改对象的显示方式,还有“删除对象...”的链接。点击即可删除此对象。

Salesforce的对象关系

如果想删除自定义字段,则在自定义字段上单击右键,在弹出的菜单中选择“删除字段...”即可。

Salesforce的对象关系