본문 바로가기

개발자정보

Salesforce의 참조 관계와 주종 관계란? 각각의 차이와 작성 방법을 설명

반응형

Salesforce를 사용하기 시작한 분들에게 객체끼리의 관련성이 어떻게 되어 있는지는 좀처럼 이해하기 어려울까 생각합니다.

객체 간의 연관성을 정의하는 것은 Salesforce에서 여러 종류가 있지만, 그 중에서도 기본적인 것으로 들 수 있는 것이 「참조 관계」와 「주종 관계」입니다.

이번에는 반드시 이해해야 할 "참조 관계"와 "주종 관계"에 초점을 맞추어 객체 간의 관계에 대해 알기 쉽게 해설하겠습니다.

Salesforce의 '참조 관계'와 '주종 관계'

Salesforce를 다루는 데 '주종관계'와 '참조관계'를 이해하는 것은 필수적입니다.

「참조 관계」와 「주종 관계」의 정의 설명에 들어가는 전제로서, 우선은 오브젝트끼리의 관련성을 나타내는 「객체 관계란 무엇인가?」에 대해 압니다.

객체 관계란?

"객체 관계"는 서로 다른 개체 간의 연관성을 나타내는 데이터의 연결을 의미합니다.

'거래처'와 '거래처 책임자'를 예로 오브젝트 간의 관련성을 살펴보자.

 

비즈니스 파트너 책임자의 비즈니스 파트너 이름 필드는 비즈니스 파트너 레코드 데이터를 참조한다는 것을이 그림을 보면 알 수 있습니다.

오브젝트 관계의 구축 방법에는, 주로 이하의 종류가 있습니다.

  • 참조 관계
  • 주종관계
  • 외부 참조
  • 간접 참조
  • 등급
  • 다 대다

특히 오브젝트 관계의 기본이 되는 「참조 관계」와 「주종 관계」에 대해서, 한층 더 파헤쳐 갑니다.

 

참조 관계란?

참조 관계는 두 개의 서로 다른 오브젝트를 연결하여 한 오브젝트를 다른 오브젝트의 관련 항목에서 참조할 수 있도록 합니다.

이전 장의 "거래자"와 "거래자 책임자"의 예에서 말하면, 거래처 명 항목을 통한 객체의 관계는 "참조 관계"에 해당합니다.

참조 관계는 오브젝트끼리의 관계가 느슨하다는 특징이 있습니다.

그렇다고 하는 것도, 반드시 「거래처」에 책임자가 필요하다고 하는 것이 아니라, 거래처 기업에 따라서는 책임자가 존재하지 않거나, 책임자가 미확정이거나 하는 경우가 있습니다.

그 때문에, 데이터의 무결성이라는 관점에서 거래처 명 항목을 개입하는 「거래처」와 「거래처 책임자」는 릴레이션의 느슨한 참조 관계가 되고 있습니다.

주종관계란?

주종 관계의 관계에서는 한 오브젝트가 "주"가되고 다른 오브젝트가 "종"이됩니다. 일반적으로 의미하는 「주종관계」를 그대로 이미지해 문제 없습니다.

상위에 위치한 주 오브젝트 측은 종 오브젝트의 데이터를 누가 참조할 수 있는지 등, 종 오브젝트의 특정의 액션을 제어할 수 있습니다.

주종 관계는 참조 관계와는 반대로 오브젝트 간의 관계를 엄격하게 만드는 데 사용됩니다.

참조 관계와 주종 관계의 차이

「참조 관계」와 「주종 관계」는, 언뜻 보면 비슷한 항목이기 때문에, 참조 관계와 주종 관계의 어느 것을 선택할까 고민하는 장면이 많을까 생각합니다.

데이터 모델 설계에서 객체 관계의 선택은 매우 중요하기 때문에 객체 간의 관련성을 잘 고려해야합니다.

「참조 관계」와 「주종 관계」의 차이를 파악한 후 최적의 선택을 할 수 있도록, 양자의 다른 포인트에 대해 이하의 표에 정리했습니다.

다른 포인트 참조 관계 주종관계
관계 제한 얼마든지 가능 2개까지 가능
계단식 삭제 삭제되지 않음 삭제됨
누적 집계 항목 불가능 가능한
소유자 항목의 중앙 관리 불가능 가능한
부모와 자식 관계 약한 강한

각 포인트를 자세히 살펴 보겠습니다.

관계 제한

하나의 객체에서 관계를 연결할 수 있는 객체 수의 제한입니다.

각 사용자 정의 오브젝트에서 작성할 수 있는 숫자는 두 개까지 주종 관계가 있지만 참조 관계는 여러 개 작성할 수 있습니다.

계단식 삭제

계단식 삭제는 참조하는 레코드가 삭제되었을 때 사용자가 레코드에 대한 액세스 권한을 소유하지 않는 경우에도 레코드를 삭제할 수 있습니다.

주 종속 관계에서 참조하는 레코드가 삭제되면 종 오브젝트의 레코드도 자동으로 삭제할 수 있지만 참조 관계는 허용되지 않습니다.

더 이상 필요하지 않은 Salesforce 데이터를 삭제할 기회가 많을 것입니다.

관련성이 얇고 독립적으로 존재하더라도 가치있는 데이터라면 삭제하지 않고 남겨 두어야하지만 대부분의 경우 불필요한 데이터는 잊혀진 채 방치됩니다. 합니다.

기본 종속성이라면 계단식 삭제를 통해이 문제를 쉽게 해결할 수 있습니다.

누적 집계 항목

누적 집계 항목은 관련 목록의 관련 레코드 등에서 값을 계산하고 종속 레코드의 항목 값을 기반으로 주 레코드의 값을 표시할 수 있는 항목입니다.

누적 집계 항목을 사용하면 특정 조건에서 종 레코드 수 및 총 값과 같은 정보를 얻을 수 있습니다.

기본 종속성은 누적 집계 항목을 사용할 수 있지만 참조 관계는 사용할 수 없습니다.

소유자 항목의 중앙 관리

주 종속 관계에서는, 종 레코드를 작성 혹은 편집했을 때에, 지정한 주 레코드의 「소유자」가, 그대로 종 레코드의 「소유자」로서 자동적으로 인계되어 설정됩니다.

참조 관계의 경우, 소유자를 변경할 때, 주 오브젝트측을 수정해, 한층 더 종 오브젝트 측을 개별적으로 수정할 필요가 있습니다.

부모와 자식 관계

주종 관계는 누적 집계 항목이나 캐스케이드 삭제가 가능하고 편리하지만, 관계의 제한이 2개이거나, 표준 객체를 아이 객체로 하는 관계를 맺을 수 없거나, 참조 관계보다 제약이 엄격해지고 있다 합니다.

그 밖에도 주종관계는, 「표준 오브젝트를 아이 오브젝트로 하는 관계」나 「유저 오브젝트를 부모 오브젝트로 하는 관계」를 맺을 수 없다고 하는 제약도 있습니다.

이와 같이 부모와 자식의 관계성으로 말하면, 참조 관계는 「약하고」, 주종 관계는 「강하다」라고 하는 특징이 있습니다.

참조 관계 참조 관계

「참조 관계」와 「주종 관계」의 어느 것을 이용할까 헤매었을 경우에는, 꼭 상기의 표를 참고로 해 주세요.

실제로 객체를 연결

「구인」과 「구인 응모」의 2개의 커스텀 오브젝트가 존재한다고 하는 시나리오 하에서, 실제로 오브젝트끼리를 관련짓자.

  1. 참조 관계 만들기
  2. 주종 관계 만들기

그리고 각 관계를 만듭니다.

1.에서는, 구인에 응모가 있었던 것을 관리하는 「구인 응모」객체의 채용 담당자로서 유저 오브젝트가 참조 관계가 되는 관계를 작성합니다.

2.에서는, 「구인」객체가 주로 「구인 응모」객체가 종의 주종관계를 작성해 갑니다.

참조 관계 만들기

우선, [구인 응모]의 채용 담당자(유저)를 리스트하는 참조 관계를 작성해 봅시다.

[설정]에서 [오브젝트 관리자]에서 [구인 응모] 오브젝트로 이동합니다.

사이드바에서 항목 및 관계를 클릭합니다.

새로 만들기 버튼을 클릭합니다.

 

[데이터 유형 선택]에서 [참조 관계]를 선택하고 [다음] 버튼을 클릭합니다.

 

연결 대상에서 사용자를 선택합니다. 이 문서의 예에서는 채용 담당자에게 조직 사용자를 할당합니다.

[다음] 버튼을 클릭합니다.

 

[항목 표시 라벨]에 [채용 담당자], [항목 이름]에 [Recruiter], [자식 관계 이름]에 [JobEntries]로 임의의 이름을 붙입니다.

[다음] [다음] [저장] 버튼을 클릭하여 새 항목 만들기를 완료합니다.

 

이것으로, 「구인 응모」 오브젝트의 채용 담당자로서 유저 오브젝트가 참조 관계가 되는 릴레이션을 작성되었습니다.

주종 관계 만들기

그런 다음 두 번째 관계 항목을 만듭니다. 「구인」오브젝트가 주로 [구인 응모] 오브젝트가 종의 주종 관계를 작성해 갑니다.

사용자 지정 개체의 개체 관리자 페이지에서 항목 및 관계를 클릭한 다음 새로 만들기 단추를 클릭합니다.

 

[데이터 유형 선택]에서 [주종관계]를 선택하고 [다음] 버튼을 클릭합니다.

 

관련 대상에서 채용을 선택합니다. [다음] 버튼을 클릭합니다.

 

[항목 표시 라벨]을 [구인], [항목 이름]에 [Job], [자식 관계 이름]에 [JobEntries]를 선택합니다.

 

[다음] > [다음] 버튼을 클릭합니다. 마지막 [관련 리스트 표시 라벨]에는 「구인 응모」라고 임의의 이름을 붙입니다.

저장 버튼을 클릭하여 새 항목 만들기를 완료합니다.

 

이제 '구인' 개체의 관련 목록에 '구인 응모'로 표기된 구인 응모 레코드가 표시됩니다.

객체 관계를 구분할 수 있도록

어땠습니까? 이번에는 Salesforce에 등록된 서로 다른 객체 간의 데이터를 연결하는 '참조 관계'와 '주종 관계'에 대해 소개했습니다.

실제로 "참조 관계"와 "주종 관계"로 관계를 구축할 때는 다양한 제어 사항을 고려한 데이터 모델이어야 합니다.

양자의 차이를 이해하고, 자사가 관리하는 데이터 모델의 요건에 따라 오브 쥬에쿠토리레이션의 구분을 할 수 있도록 해 둡시다.

이 기사가 Salesforce의 데이터 관리에 도움이 되길 바랍니다.

Salesforce의 도입 을 고려중인 분은 Sun Bridge에 문의하십시오.

Sun Bridge는 오랜 세월 동안 Salesforce를 구축하고 개발하고 귀사의 업무에 맞는 클라우드 서비스를 제공하는 Salesforce 컨설팅 파트너입니다. Salesforce 도입시의 설계・설정부터 도입 후의 정착화 지원까지, 안정된 운용을 실현할 수 있도록, 폭넓게 지원하고 있습니다.

 

 

반응형