辨析 | Lookup与Master-Detail

Salesforce有两种主要的对象关系类型:查找关系(Lookup)和主-细节关系(Master - Detail)。

一、定义
1. Lookup

查找关系实际上将两个对象链接在一起,以便您可以从另一个对象上的相关项“查找”一个对象。查找关系可以是一对一一对多

在一个查找关系中,两个对象间的关系不是必须的。例如有两个对象Venue(场地)和Campaign(活动),Venue是父级,Campaign是子级,一个场地上可以举办一场或多场活动,但它们之间的关系不是必须的。

2. Master - Detail

在这种类型的关系中,一个对象是主对象,另一个对象是细节,它们之间的关系是必须的。子记录必须有父级,当父记录被删除时,子记录也会被删除。例如有两个对象School和Classroom,当School被删除时,Classroom也相应被删除。

二、区别
No. Lookup Master - Detail
1 父级不是必须的。 子记录必须有父级。
2 父级对子集的安全性和访问权没有影响。 子记录继承父记录的权限和共享规则。
3 父记录删除对子记录没有影响。 父记录删除时,子记录也会被删除。
4 不能在父对象上建立Roll-Up Summary字段 可以在父对象上建立Roll-Up Summary字段。
5 在一个对象上最多可以有25个Lookup关系。 在一个对象上最多可以有2个Master - Detail关系。
6 可以有多层深。 一个Master - Deatil关系的子节点不能是另一个Master - Deatil关系的父节点。

**注:标准对象不能作为Master - Detail中的细节对象。

三、应用举例
  1. 要求有Roll - Up Summary字段(AVG,SUM……)
  • Master - Detail
  1. 子对象是一个标准对象
  • Lookup
  1. 要求删除父对象同时,子对象也被删除
  • Master - Detail
    ……

参考:
https://developer.salesforce.com/forums/?id=906F0000000BXZBIA4
https://www.youtube.com/watch?v=fUD4MzgA0gk
https://help.salesforce.com/articleView?id=relationships_considerations.htm&type=5

你可能感兴趣的:(辨析 | Lookup与Master-Detail)