다음을 통해 공유


Microsoft Dataverse 테이블 관계

Microsoft Dataverse의 테이블 관계는 테이블 행을 다른 테이블 또는 동일한 테이블의 행과 연결할 수 있는 방법을 정의합니다. 다음과 같은 두 가지 유형의 테이블 관계가 있습니다.

일대다 관계

일대다 테이블 관계에서 많은 참조(관련) 테이블 행을 참조된 단일(기본) 테이블 행과 연결할 수 있습니다. 참조된 테이블 행을 "부모"라고도 하며 참조 테이블의 행을 "자식"이라고 합니다. 다대일 관계는 일대다 관계의 하위 관점에 불과합니다.

예를 들어, 학교 시나리오에서는 여러 강좌가 하나의 교실에서 제공될 수 있으므로 수업 표는 강좌 표와 일대다 관계를 맺습니다.

다대다 관계

다대다 테이블 관계는 많은 테이블 행을 다른 많은 테이블 행에 연결할 수 있습니다. 다대다 관계를 사용하여 관련된 행은 동일한 수준으로 간주할 수 있으며 관계는 상호적입니다.

예를 들어 앞에서 언급한 동일한 학교 시나리오에서 단일 학생은 여러 과정에 등록할 수 있으며 각 과정에는 여러 학생이 있을 수 있습니다. 이러한 유형의 관계는 더 복잡한 데이터 연결을 허용하며 Dataverse의 Power Apps를 사용하여 관리됩니다.

Dataverse에서 관계가 작동하는 방식

테이블 관계는 Dataverse에서 테이블 행을 서로 연결할 수 있는 방법을 정의합니다. 가장 간단한 수준에서 테이블에 조회 열을 추가하면 두 테이블 간에 새 1:N(일 대 다) 관계가 만들어지고 해당 조회 열을 폼에 배치할 수 있습니다. 조회 열을 사용하면 사용자는 해당 테이블의 여러 자식 행을 단일 부모 테이블 행에 연결할 수 있습니다.

단순히 행을 다른 행과 연결할 수 있는 방법을 정의하는 것 외에도 1:N 테이블 관계는 다음 질문을 해결하기 위한 데이터를 제공합니다.

  • 행을 삭제할 때 해당 행과 관련된 행도 삭제해야 하나요?
  • 행을 할당할 때 해당 행과 관련된 모든 행을 새 소유자에게 할당해야 하나요?
  • 기존 행의 컨텍스트에서 새 관련 행을 만들 때 데이터 입력 프로세스를 간소화하려면 어떻게 해야 하나요?
  • 행을 보는 사용자가 연결된 행을 보려면 어떻게 해야 하나요?

테이블은 두 테이블에 대한 여러 행을 서로 연결할 수 있는 N:N(다대다) 관계에도 참여할 수 있습니다.

테이블 관계 또는 연결 사용 여부 결정

테이블 관계는 Dataverse를 변경하는 메타데이터입니다. 이러한 관계를 사용하면 쿼리가 관련 데이터를 효율적으로 검색할 수 있습니다. 테이블 관계를 사용하여 테이블을 정의하거나 대부분의 행에서 사용할 수 있는 공식 관계를 정의합니다. 예를 들어 잠재 고객이 없는 기회는 유용하지 않습니다. Dynamics 365 for Sales의 기회 테이블에는 Dynamics 365 for Sales에서도 사용할 수 있는 경쟁 테이블과 N:N 관계가 있습니다. 이를 통해 여러 경쟁 업체를 영업 기회에 추가할 수 있습니다. 이 데이터를 캡처하고 경쟁업체를 보여 주는 보고서를 만들 수 있습니다.

연결이라고 하는 행 사이에는 덜 공식적인 다른 종류의 관계가 있습니다. 예를 들어 두 연락처가 결혼했는지, 아니면 직장 밖의 친구인지, 아니면 다른 계정에서 일하는 데 사용되는 연락처인지 아는 것이 유용할 수 있습니다. 대부분의 기업은 이러한 종류의 정보를 사용하여 보고서를 생성하지 않거나 입력해야 하므로 테이블 관계를 만드는 것은 가치가 없습니다. 추가 정보: 연결 역할 구성

테이블 관계 유형

Power Apps에서 관계를 볼 때 세 가지 유형의 테이블 관계가 있다고 생각할 수 있습니다. 실제로는 다음 표와 같이 두 개뿐입니다.

관계 유형 Description
1:N(일대다) 관련 테이블의 조회 열로 인해 주 테이블 의 한 테이블 행을 다른 여러 관련 테이블 행에 연결할 수 있는 테이블 관계입니다.

기본 테이블 행을 볼 때 연결된 관련 테이블 행의 목록을 볼 수 있습니다.

Power Apps 포털에서 현재 테이블 은 기본 테이블을 나타냅니다.
N:N(다대다) 한 테이블의 여러 행이 다른 테이블의 여러 행과 관련될 수 있도록 특수 관계 테이블(교차 테이블이라고도 함)에 종속되는 테이블 관계입니다.

N:N 관계에서 두 테이블의 행을 볼 때 해당 테이블과 관련된 다른 테이블의 행 목록을 볼 수 있습니다.

디자이너는 테이블별로 그룹화된 보기를 표시하기 때문에 사용자 인터페이스에 N:1(다 대 일) 관계 유형이 있습니다. 1:N 관계는 실제로 테이블 사이에 존재하며 각 테이블을 기본/현재 테이블 또는 관련 테이블로 참조합니다. 자식 테이블이라고도 하는 관련 테이블에는 기본 테이블의 행에 대한 참조를 저장할 수 있는 조회 열(부모 테이블이라고도 함)이 있습니다. N:1 관계는 관련 테이블에서 볼 수 있는 1:N 관계일 뿐입니다.

테이블 관계 동작

관련 테이블의 동작은 데이터 무결성을 보장하고 비즈니스 프로세스를 자동화할 수 있기 때문에 중요합니다.

데이터 무결성 유지

일부 테이블은 다른 테이블을 지원하기 위해 존재합니다. 그들은 스스로 이해가 되지 않습니다. 일반적으로 지원되는 기본 테이블에 연결하는 데 필요한 조회 열이 있습니다. 기본 행을 삭제하면 어떻게 됩니까?

관계 동작을 사용하여 비즈니스 규칙에 따라 관련 행에 발생하는 작업을 정의할 수 있습니다. 추가 정보: 고급 관계 동작 추가

비즈니스 프로세스 자동화

새 영업 사원이 있고 현재 다른 영업 사원에게 할당된 여러 기존 계정을 할당하려는 경우를 가정해 보겠습니다. 각 계정 행에는 연결된 여러 작업 활동이 있을 수 있습니다. 다시 할당하려는 활성 계정을 쉽게 찾아 새 영업 사원에게 할당할 수 있습니다. 그러나 계정과 연결된 작업 활동에 대해 어떻게 해야 하나요? 각 작업을 열고 새로운 판매 직원에게 할당할지 여부를 결정하시겠습니까? 아마도 힘들겠죠? 대신 관계에 일부 표준 규칙을 자동으로 적용하도록 할 수 있습니다. 이러한 규칙은 재할당하는 계정에 연결된 작업 행에만 적용됩니다. 옵션은 다음과 같습니다.

  • 모든 활성 작업을 다시 할당합니다.
  • 모든 작업을 다시 할당합니다.
  • 작업을 다시 할당하지 않습니다.
  • 현재 계정의 이전 소유자에게 할당된 모든 작업을 다시 할당합니다.

관계는 기본 테이블 행에 대해 행에서 수행되는 작업이 관련 테이블 행으로 아래로 연속 변경되는 방법을 제어할 수 있습니다.

행동

특정 동작이 발생할 때 적용할 수 있는 여러 종류의 동작이 있습니다.

행동 Description
활성 항목 연속 변경 모든 활성 관련 테이블 행에 대해 작업을 수행합니다.
모두 연속 변경 모든 관련 테이블 행에 대해 작업을 수행합니다.
연속 변경 없음 아무 작업도 수행하지 않습니다.
연결 제거 모든 관련 행의 조회 값을 제거합니다.
제한 관련 행이 있을 때 기본 테이블 행이 삭제되지 않도록 합니다.
담당 항목 연속 변경 기본 테이블 행과 동일한 사용자가 담당하는 모든 관련 테이블 행에 대해 작업을 수행합니다.

활동

다음은 특정 동작을 트리거할 수 있는 작업입니다.

칼럼 Description Options
할당 기본 테이블 행이 다른 사람에게 할당될 때 어떻게 해야 합니까? 모두 계단식 배열
활성 항목 계단식 배열
담당 항목 연속 변경
계단식 배열 없음
상위 항목 재지정 상위/하위 관계의 관련 테이블에 대한 상위/하위 유형 관계에 대한 조회 값이 변경될 때 어떻게 해야 합니까?
추가 정보: 상위/하위 테이블 관계
모두 계단식 배열
활성 항목 계단식 배열
담당 항목 연속 변경
계단식 배열 없음
공유 기본 테이블 행을 공유할 때 어떻게 해야 합니까? 모두 계단식 배열
활성 항목 계단식 배열
담당 항목 연속 변경
계단식 배열 없음
Delete 기본 테이블 행을 삭제할 때 어떻게 해야 합니까? 모두 계단식 배열
링크 제거
제한
공유 해제 기본 테이블 행을 공유 취소할 때 어떻게 해야 합니까? 모두 계단식 배열
활성 항목 계단식 배열
담당 항목 연속 변경
계단식 배열 없음
병합 기본 테이블 행을 병합할 때 어떻게 해야 합니까? 모두 계단식 배열
계단식 배열 없음
롤업 보기 이 관계와 관련된 롤업 보기의 원하는 동작은 무엇입니까? 모두 계단식 배열
활성 항목 연속 변경
담당 항목 연속 변경
계단식 배열 없음

비고

다음과 같은 상황에서는 할당, 삭제, 병합 및 상위 항목 재지정 작업이 실행되지 않습니다.

  • 원래 부모 행과 요청된 작업에 동일한 값이 포함된 경우 예 : 할당 트리거를 시도하고 이미 행의 담당자인 연락처 선택.
  • 이미 연속 작업을 실행 중인 부모 행에서 작업을 수행하려고 합니다.

할당을 실행할 때 현재 행에서 활성 상태인 모든 워크플로 또는 비즈니스 규칙은 재할당이 발생할 때 자동으로 비활성화됩니다. 행을 계속 사용하려면 행의 새 소유자가 워크플로 또는 비즈니스 규칙을 다시 활성화해야 합니다.

상위/하위 테이블 관계

1:N 관계를 가질 수 있는 테이블의 각 쌍에는 테이블 간 1:N 관계를 여러 개 가질 수 있습니다. 하지만 일반적으로 아직 이러한 관계 중 하나만 상위/하위 테이블 관계로 간주할 수 있습니다.

상위/하위 테이블 관계는 다음 표에서 상위/하위 열의 연속 변경 옵션 중 하나가 true이면 1:N 테이블 관계입니다.

조치 상위/하위 상위/하위 아님
할당 모두 계단식 배열
담당 항목 연속 변경
활성 항목 계단식 배열
계단식 배열 없음
Delete 모두 계단식 배열 RemoveLink
제한
상위 항목 재지정 모두 계단식 배열
담당 항목 연속 변경
활성 항목 계단식 배열
계단식 배열 없음
공유 모두 계단식 배열
담당 항목 연속 변경
활성 항목 계단식 배열
계단식 배열 없음
공유 해제 모두 계단식 배열
담당 항목 연속 변경
활성 항목 계단식 배열
계단식 배열 없음

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

일반적으로 이것은 각 테이블 쌍에 대해 하나의 부모 관계만 있다는 것을 의미합니다. 관련 테이블의 조회를 통해 둘 이상의 테이블 형식에 대한 관계를 허용할 수 있는 경우도 있습니다.

예를 들어 테이블에 연락처 또는 계정 테이블을 참조할 수 있는 고객 조회가 있는 경우입니다. 두 가지 별도의 상위/하위 1:N 테이블 관계가 있습니다.

모든 활동 테이블에는 관련 조회 열을 사용하여 연결할 수 있는 테이블에 대해 유사한 상위/하위 테이블 관계 집합이 있습니다.

설정할 수 있는 동작에 대한 제한

부모 관계에는 몇 가지 제한 사항이 있으므로 테이블 관계를 정의할 때 유의해야 합니다.

  • 사용자 지정 테이블은 연계되는 관련 시스템 테이블과의 관계에서 기본 테이블이 될 수 없습니다. 즉, 기본 사용자 지정 테이블과 관련 시스템 테이블 간에 Cascade All, Cascade Active 또는 Cascade 사용자 소유 로 설정된 작업과 관계를 가질 수 없습니다.
  • 새 관계의 관련 테이블이 이미 모두 연속 변경, 활성 항목 연속 변경 또는 담당 항목 연속 변경으로 설정된 작업이 있는 다른 관계의 관련 테이블로 구성되어 있으면 새 관계의 작업을 모두 연속 변경, 활성 항목 연속 변경 또는 담당 항목 연속 변경으로 설정할 수 없습니다. 이는 관계에 여러 상위 관계를 만들지 못하도록 하기 위해서입니다.

상속된 액세스 권한 정리

상위 항목 재지정공유 계단식 동작을 사용하면 관련 테이블의 행에 대한 액세스를 제공하려는 경우 유용합니다. 그러나 연속 동작 설정을 변경해야 하는 프로세스 또는 디자인이 변경될 수 있습니다.

테이블 관계에서 재부모 또는 공유를 사용하고 연계 동작이 Cascade None으로 변경되면 테이블 관계는 새 권한 변경 내용이 관련 자식 테이블로 계단식으로 변경되지 않도록 방지합니다. 또한 연계 동작이 활성 상태인 동안 부여된 상속된 사용 권한을 취소해야 합니다.

상속된 액세스 권한 정리는 연계 동작이 Cascade None으로 변경된 후에도 유지되는 레거시 상속 액세스 권한을 정리하는 시스템 작업입니다. 이 정리는 테이블에 대한 액세스 권한이 직접 부여된 사용자에게는 영향을 주지 않지만 상속을 통해서만 액세스 권한을 받은 모든 사용자로부터 액세스 권한을 제거합니다.

상속된 액세스 권한 정리가 작동하는 방법은 다음과 같습니다.

  1. 업데이트된 부모와 연계 관계에 있던 모든 테이블을 식별하고 수집합니다.
  2. 상속된 액세스를 통해 관련 테이블에 대한 액세스 권한이 부여된 사용자를 식별하고 수집합니다.
  3. 관련 테이블에 대한 직접 액세스 권한이 부여된 사용자를 확인하고 컬렉션에서 제거합니다.
  4. 수집된 테이블에서 수집된 사용자에 대한 상속된 액세스를 제거합니다.

정리가 실행된 후 연계 기능 때문에 관련 테이블에만 액세스할 수 있었던 사용자는 더 이상 행에 액세스할 수 없으므로 보안이 강화됩니다. 정리에 실패할 수 있는 경우가 있습니다. 상속된 액세스를 정리하는 방법에 대해 자세히 알아보기

참고하십시오

시스템 작업 모니터링
1:N(일 대 다) 또는 N:1(다대일) 관계 만들기 및 편집
N:N 테이블 관계 만들기