엔터티 관계 동작

 

게시 날짜: 2017년 1월

적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

일대다 엔터티 관계가 있으면 데이터 무결성을 유지하고 비즈니스 프로세스를 자동화하도록 구성할 수 있는 연속 변경 동작이 있습니다. 이 항목에서는 몇 가지 주요 개념에 대해 설명하고 이러한 연속 변경 동작을 구성할 수 있는 방법에 대해 설명합니다.

엔터티 관계 동작을 구성하는 방법을 설명하기 전에 비즈니스에 적용되는 방식을 고려하면 유용합니다. 세 가지 주요 개념은 다음과 같습니다.

  • 데이터 무결성 유지

  • 비즈니스 프로세스 자동화

  • 연속 변경 동작

이 항목의 내용

데이터 무결성 유지

비즈니스 프로세스 자동화

연속 변경 동작

엔터티 관계 동작 구성

데이터 무결성 유지

각 엔터티에는 유효한 레코드를 정의할 수 있는 규칙이 있을 수 있습니다. 예를 들어 Microsoft Dynamics 365 영업 기회 레코드에는 잠재 고객에 대한 참조가 포함되어 있어야 합니다. 사용자는 기존 고객을 추가하거나 새 고객 레코드를 만들지 않으면 새 영업 기회 레코드를 만들 수 없습니다.

하지만 고객을 나타내는 거래처 또는 연락처가 삭제되면 어떻게 합니까? 이 경우 가능한 대안은 다음 중 하나입니다.

  • 연결된 영업 기회로 고객 레코드를 삭제하려는 시도를 제한합니다.

  • 관련된 모든 영업 기회 레코드가 자동으로 삭제되도록 해당 고객 레코드를 삭제하면 삭제 작업을 연속 변경합니다.

Microsoft Dynamics 365에서 영업 기회를 Opportunity.opportunity_customer_accountsContact.opportunity_customer_contacts와 같은 고객에 연결하는 일대다 관계의 경우 동작은 삭제 작업을 연속 변경하는 것입니다.

Microsoft Dynamics 365에서 사용하도록 데이터를 모델링하면 데이터 무결성을 유지하는 방법에 대해 유사한 결정을 할 것입니다.

비즈니스 프로세스 자동화

관련 레코드가 있는 레코드에 대해 작업을 수행하려면 비즈니스 프로세스가 필요할 수 있습니다. 예를 들어 새로운 영업 직원에게 거래처를 할당해야 할 수 있습니다. 해당 거래처 레코드에 영업 기회 레코드가 있을 경우 몇 가지 옵션은 다음과 같습니다.

  • 아무 것도 하지 마십시오. 작업자들이 기회를 계속 소유할 것입니다.

  • 모든 기회를 새 판매원에게 할당하십시오. 이 거래처 레코드의 새 소유자로서 그 판매원은 이제 그 거래처에 관련된 모든 기회를 담당합니다.

  • 새 판매원에게는 활성 기회만 할당하십시오. 보고 목적을 위해 비활성 기회 레코드의 소유자를 보전하십시오.

  • 이전 거래처 담당자가 담당한 영업 기회만 새 영업 직원에게 할당합니다. 그러면 새 영업 직원은 이전 담당자를 교체할 수 있습니다.

이러한 옵션은 Microsoft Dynamics 365의 엔터티 관계 동작을 사용하여 구성할 수 있는 일반적인 것입니다. 다른 동작이 필요한 경우 필요한 동작이 있는 솔루션을 구입하거나 추가 옵션을 제공하는 플러그 인을 개발할 것을 고려하십시오.

연속 변경 동작

이러한 구성 옵션은 관련 엔터티 계층 구조 아래로 연속 변경되므로 연속 변경 동작이라고 합니다. 예를 들어 거래처를 삭제하면 관련 영업 기회가 삭제될 경우 영업 기회에 연결된 활동은 어떻게 합니까?Microsoft Dynamics 365에서 활동 유형 엔터티의 각 엔터티 관계에 정의된 동작은 삭제됩니다.

하지만 모든 엔터티가 이러한 방식으로 처리되는 것은 아닙니다. 예를 들어 주문 및 송장에는 실수로 삭제해서는 안 되는 중요한 비즈니스데이터가 들어 있습니다. 연결된 고객 또는 영업 기회 레코드 삭제를 제한하도록 구성된 엔터티 관계 동작이 있습니다. 관련 주문 또는 송장 레코드가 있는 고객 또는 영어 기회를 삭제하려면 먼저 주문 또는 송장을 삭제해야 합니다.

사용자 지정 엔터티를 만들어 비즈니스 데이터를 모델링하거나 기존 Microsoft Dynamics 365 시스템 엔터티를 사용할 경우 필요한 동작 및 관련 엔터티의 전체 계층 구조의 결과를 고려합니다.

상위/하위 엔터티 관계

1:N 관계를 가질 수 있는 엔터티의 각 쌍에는 엔터티 간 1:N 관계를 여러 개 가질 수 있습니다. 아직 이러한 관계 중 하나만 상위/하위 엔터티 관계로 간주할 수 있습니다. 모든 사용자 지정 가능한 상위/하위 엔터티 관계 목록은 TechNet: 사용자 지정 가능한 상위/하위 엔터티 관계를 참조하십시오.

상위/하위 엔터티 관계는 다음 표에서 상위/하위 열의 연속 변경 옵션(CascadeType에 정의됨)중 하나가 true이면 1:N 엔터티 관계입니다.

작업

상위/하위

상위/하위 아님

Del

Cascade

RemoveLink
Restrict

공유

Cascade
UserOwned
Active

NoCascade

공유 안 함

Cascade
UserOwned
Active

NoCascade

할당

Cascade
UserOwned
Active

NoCascade

상위 항목 재지정

Cascade
UserOwned
Active

NoCascade

1:N 엔터티 관계에서 참조하는 각 엔터티마다 관계가 상위/하위 관계로 간주되는 참조하는 특성이 하나씩 있습니다.

예를 들어 새 사용자 지정 엔터티를 만들고 1:N 엔터티 관계를 사용자 지정 엔터티가 참조하는 엔터티인 거래처 엔터티에 연결하면 상위/하위 열에서 옵션을 사용하도록 해당 엔터티 관계에 대한 작업을 구성할 수 있습니다. 나중에 다른 1:N 엔터티 관계를 참조하는 엔터티로 사용자 지정 엔터티에 추가하면 상위/하위 아님 열의 옵션을 사용하는 작업을 구성할 수 있습니다.

일반적으로 각 엔터티 쌍에 대해 상위/하위 관계는 하나씩만 있습니다. 참조에 대해 참조하는 특성에 둘 이상의 엔터티 유형에 대함 참조가 포함되어 있을 수도 있습니다.

예를 들어 Opportunity 엔터티에 연락처 또는 거래처 레코드에 대한 참조를 저장할 수 있는 customerid라는 참조하는 엔터티가 있습니다. 이 경우 두 가지 별도의 상위/하위 1:N 엔터티 관계가 있습니다.

예를 들어 작업, 팩스, 전화 통화 등의 모든 활동 엔터티에 regardingobjectid 참조하는 특성을 사용하여 연결할 수 있는 엔터티에 대한 유사한 상위/하위 관계 집합이 있습니다.

엔터티 관계 동작 구성

CreateOneToManyRequest 또는 UpdateRelationshipRequest를 사용할 경우 요청 본문에 OneToManyRelationshipMetadata 클래스의 인스턴스를 포함합니다. 해당 클래스의 CascadeConfiguration 속성에서 CascadeConfiguration 클래스를 사용합니다.

CascadeConfiguration 클래스에는 일대다 엔터티 관계에서 참조되는 엔터티에 수행할 수 있는 작업을 나타내는 속성이 들어 있습니다. 각 속성은 CascadeType 열거형의 값 중 하나에 할당될 수 있습니다.

응용 프로그램 레이블

설명

활성

활성 항목 연속 변경

참조되는 엔터티 레코드에 연결된 모든 활성 참조하는 엔터티 레코드에 대한 작업을 수행합니다.

연속 변경

모두 연속 변경

참조되는 엔터티 레코드에 연결된 모든 참조하는 엔터티 레코드에 대한 작업을 수행합니다.

NoCascade

연속 변경 없음

아무 작업도 수행하지 않습니다.

RemoveLink

연결 제거

참조되는 엔터티 레코드에 연결된 모든 참조하는 엔터티 레코드에 대한 참조하는 특성 값을 제거합니다.

제한

제한

참조하는 엔터티가 있을 때 참조되는 엔터티 레코드가 삭제되지 않도록 합니다.

UserOwned

담당 항목 연속 변경

참조되는 엔터티 레코드와 동일한 사용자가 담당하는 모든 참조하는 엔터티 레코드에 대해 작업을 수행합니다.

CascadeConfiguration 클래스에는 일대다 엔터티 관계에서 참조되는 엔터티에 수행할 수 있는 작업을 나타내는 다음 속성이 들어 있습니다.

작업

설명

유효한 옵션

Assign

참조되는 엔터티 레코드 담당자가 변경됩니다.

Active
Cascade
NoCascade
UserOwned

Delete

참조되는 엔터티 레코드가 삭제됩니다.

참고

이 작업에 대한 옵션이 제한됩니다.

Cascade
RemoveLink
Restrict

Merge

레코드가 다른 레코드에 병합됩니다.

참고

병합될 수 있는 참조되는 엔터티의 경우 연속 변경이 유효한 유일한 옵션입니다. 다른 경우에는 NoCascade를 사용합니다.

Cascade
NoCascade

Reparent

아래 상위 항목 지정 작업 정보를 참조하십시오.

Active
Cascade
NoCascade
UserOwned

Share

참조되는 엔터티 레코드가 다른 사용자와 공유되는 경우.

Active
Cascade
NoCascade
UserOwned

Unshare

참조되는 엔터티 레코드에 대해 공유가 제거된 경우.

Active
Cascade
NoCascade
UserOwned

상위 항목 지정 작업 정보

상위 항목 지정 작업은 명시적 읽기 액세스 권한 대신 상속된 읽기 액세스 권한을 처리한다는 점을 제외하면 공유 작업과 매우 유사합니다.

참고

상속된 액세스 권한에 대한 자세한 내용은 Microsoft Dynamics 365의 레코드에 대한 액세스를 제어하기 위해 레코드 기반 보안을 사용할 수 있는 방법을 참조하십시오. 특히 공유 및 상속 섹션을 참조하십시오.

상위 항목 재지정 작업은 상위/하위 관계에서 참조하는 특성의 값을 변경하는 경우입니다. 상위 항목 재지정 작업이 발생하면 관련 엔터티에 대해 원하는 범위의 상속된 읽기 액세스 권한이 변경될 수 있습니다. 상위 항목 재지정 작업과 관련된 연속 변경 작업은 엔터티 레코드 및 엔터티 레코드와 관련된 모든 엔터티 레코드에 대한 읽기 액세스 권한의 변경 내용을 참조합니다. 엔터티 관계가 상위/하위 항목으로 구성되는 방법에 대한 자세한 내용은 상위/하위 엔터티 관계를 참조하십시오.

예를 들어 CustomerId 참조하는 특성을 기반으로 영업 기회와 거래처 간의 상호/하위 관계가 있습니다. 거래처의 담당자이고 해당 거래처에 연결된 영업 기회가 있을 경우 영업 기회 및 영업 기회에 연결된 모든 레코드에 대한 읽기 액세스 권한을 상속합니다. 영업 기회에 대해 CustomerId 참조하는 특성 값이 다른 거래처를 참조하도록 변경되면 상위 항목 재지정 작업이 연속 변경될 경우 해당 거래처의 담당자는 읽기 액세스 권한을 영업 기회에 상속합니다. 상위 항목 재지정 작업을 NoCascade로 설정한 경우 읽기 액세스 권한의 이 자동 상속을 비활성화할 수 있습니다.Active 또는 UserOwned 옵션을 사용하여 액세스 권한이 변경되면 영향을 주는 레코드에 대해 필터를 지정할 수 있습니다. 상위/하위 관계를 사용하는 영업 기회와 관련된 모든 레코드에 대해 상위 항목 재지정 작업은 해당 엔터티 관계로 연속 변경되고 읽기 액세스 권한은 상위 항목 재지정 작업의 필터 집합에 따라 상속됩니다.

참고 항목

일대다 관계
Dynamics 365 메타데이터에서 조직 서비스 사용
Customize 엔터티 메타데이터
Customize 특성 메타데이터 메시지
엔터티 관계 메타데이터 사용자 지정
엔터티 사용자 지정 및 특성 매핑
레이블을 사용자 지정하여 다국어 지원
Microsoft Dynamics 365의 레코드에 대한 액세스를 제어하기 위해 레코드 기반 보안을 사용할 수 있는 방법
샘플: 엔터티 관계 만들기 및 검색

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 저작권 정보