В Salesforce связи между данными играют решающую роль в организации и структурировании данных. Двумя фундаментальными типами отношений являются «отношения поиска» и «отношения «главный-детали». В этой статье мы углубимся в различия между этими двумя типами отношений, рассмотрим варианты их использования и предоставим примеры кода, чтобы проиллюстрировать, как их реализовать в Salesforce. Итак, начнем!
- Отношения поиска:
Отношения поиска устанавливают связь между двумя объектами, но не обеспечивают ссылочную целостность. Это позволяет одному объекту ссылаться на другой объект, аналогично отношениям внешнего ключа в базе данных.
Пример кода — создание отношения поиска:
Предположим, у нас есть два настраиваемых объекта: «Учетная запись» и «Контакт». Мы хотим установить между ними отношения поиска, где каждый контакт связан с учетной записью.
// Create a custom Account object
public class Account__c {
public String Name;
}
// Create a custom Contact object with a lookup field to Account
public class Contact__c {
public String FirstName;
public String LastName;
public Account__c Account;
}
- Отношения «главный-подробный».
Отношения «главный-подробный» представляют собой более строгий тип отношений, который обеспечивает ссылочную целостность и право собственности. Он создает связь родитель-потомок между двумя объектами, где дочерние записи считаются подробными записями и зависят от существования основной записи.
Пример кода – создание связи «главный-деталь»:
Давайте рассмотрим один и тот же пример объектов «Учетная запись» и «Контакт». На этот раз мы хотим установить между ними отношения «основной-подробный», где контакты принадлежат учетным записям.
// Create a custom Account object
public class Account__c {
public String Name;
}
// Create a custom Contact object with a master-detail field to Account
public class Contact__c {
public String FirstName;
public String LastName;
public Account__c Account;
}
- Случаи использования:
- Отношения поиска. Используйте отношения поиска, когда вам нужна свободная связь между объектами, например подключение контакта к учетной записи, без принудительного владения или каскадного удаления.
- Отношения «Основной-подробности». Используйте отношения «Основной-подробности», когда вам нужна более прочная связь с каскадным удалением и владением, например при связывании позиций возможности с возможностью.
Понимание различий между отношениями поиска и отношениями «основной-подробный» имеет решающее значение для разработки эффективных моделей данных в Salesforce. Отношения поиска обеспечивают гибкость и свободные ассоциации, а отношения «основной-подробный» обеспечивают ссылочную целостность и владение. Правильно используя эти типы отношений, вы можете создать надежные и эффективные структуры данных в своей организации Salesforce.