파생 계층에서 다 대 다 관계 표시(Master Data Services)

적용 대상:SQL Server - Windows 전용 Azure SQL Managed Instance

DH(파생 계층)는 일대다 관계를 표시하며 이제 다 대 다 관계를 표시할 수도 있습니다.

M2M(다대다) 관계

두 엔터티 간의 M2M(다대다) 관계는 두 엔터티 간의 매핑을 제공하는 세 번째 엔터티를 사용하여 모델링될 수 있습니다.

mds_hierarchies_manytomany

위의 예제에서는 매핑 엔터티 ClassRegistration에서 제공하는 EmployeeTrainingClass 엔터티 간에 M2M 관계가 있습니다. 직원은 여러 수업에서 학생으로 등록될 수 있으며 각 수업에는 여러 학생이 포함될 수 있습니다.

예를 들어 클래스별로 학생을 표시하는 파생 계층을 만들거나 관계를 반전하고 학생별로 그룹화된 클래스를 표시할 수 있습니다.

참고 항목

SQL Server 2016(13.x)은 M2M 관계에 대한 파생 계층 구조를 도입했습니다. 이 기능은 해당 버전 이전에는 사용할 수 없습니다.

먼저 파생 계층 관리 페이지로 이동하여 새 파생 계층을 만듭니다.

mds_hierarchies_add_derived_hierarchy

다음으로, 아래에서부터 시작하여 새 파생 계층에 수준을 추가합니다. 이 예에서는 과정별로 그룹화된 학생(직원)을 보여주려고 합니다. 따라서 Employee 엔터티는 계층의 리프 수준이며 먼저 추가됩니다.

mds_hierarchies_edit_derived_hierarchy_one

위의 스크린샷에서는 직원 엔터티가 중간의 현재 수준 아래에 유일한 수준으로 표시됩니다. 오른쪽의 파생 계층 미리 보기는 Employee 엔터티의 모든 멤버 목록을 표시합니다. 왼쪽에 있는 사용 가능한 수준 섹션은 현재 최상위 수준(Employee)의 맨 위에 어떤 수준을 추가할 수 있는지 보여 줍니다. 이들 중 대부분은 Department DBA를 포함하여 Employee 엔터티에서 DBA(도메인 기반 특성)입니다.

SQL Server부터 M2M 관계를 모델로 하는 새로운 유형의 수준(예: 클래스(ClassRegistration.Student을 통해 매핑됨)이 있습니다. 수준 이름은 매핑 관계를 명확하게 설명하는 데 필요한 추가 정보를 반영하기 위해 다른 이름보다 더 자세한 정보입니다. 현재 수준 섹션에서 이 수준을 직원 수준으로 끌어다 놓습니다.

mds_hierarchies_edit_derived_hierarchy_two

이제 미리 보기는 등록된 교육 클래스별로 그룹화된 직원을 보여 줍니다. M2M 관계이므로 각 자식 구성원은 여러 부모를 가질 수 있습니다. 위의 예제에서 직원 6 {Hillman, Reinout N} 은 1 {Master Data Services 101}4 {Career-Limiting Moves}의 두 수업에서 학생으로 등록됩니다.

이 매핑 관계는 학생별로 클래스를 그룹화하여 반전된 상태로 표시할 수도 있습니다.

mds_hierarchies_available_entities_and_hierarchies

다시 말하지만, 자녀가 두 개 이상의 부모 아래에 표시되는 방법을 알아봅니다. 학습 클래스 1 {Master Data Services 101}은 6 {Hillman, Reinout N}40 {Ford, Jeffrey L}에 모두 표시됩니다.

매핑 엔터티 ClassRegistration 의 멤버는 파생 계층 내의 아무 곳에도 나타나지 않습니다. 계층 구조에서 부모 멤버와 자식 멤버 간의 관계를 정의하는 데만 사용됩니다.

다음 중 하나를 수행하여 매핑 엔터티 멤버를 수정하여 M2M 관계를 편집할 수 있습니다. M2M 관계는 파생 계층 탐색기 페이지에서 읽기 전용입니다.

  • Excel용 Master Data Services 추가 기능을 사용하거나 데이터 스테이징을 사용하여 엔터티 탐색기 페이지에서 매핑 엔터티 멤버를 수정합니다.

  • 파생 계층 탐색기 페이지에서 부모 간에 자식 노드를 끌어서 놓습니다.

    이 메서드는 가능하면 기존 멤버를 수정하고 필요한 경우 새 멤버를 추가합니다. 기존 멤버는 삭제되지 않습니다.

    예를 들어 ClassRegistration 매핑 엔터티로 학생을 사용되지 않는 노드로 이동할 때 해당 매핑 엔터티 구성원의 클래스 특성 값은 Null로 변경되며 구성원은 삭제되지 않습니다. 반대로 사용하지 않은 노드에서 일부 클래스로 학생을 이동할 때 클래스가 null인 학생에 해당하는 기존 매핑 멤버가 있는 경우 해당 멤버는 클래스를 null에서 새 부모로 변경하여 수정됩니다. 이러한 구성원이 없으면 추가됩니다.

    이 프로세스는 다른 사용자 데이터의 원치 않는 삭제를 방지하기 위해 멤버 삭제를 방지합니다. 예를 들어 매핑 엔터티에 부모-자식 관계를 정의하는 두 특성 외에 다른 특성이 포함되어 있는 경우입니다. 사용자는 매핑 엔터티에서 직접 삭제를 명시적으로 수행해야 합니다.

새 M2M 수준은 DBA(도메인 기반 특성) 수준이 허용되는 파생 계층 내의 아무 곳에나 나타날 수 있습니다. M2M 수준은 위 예제에서와 같은 맨 위에 있을 수 있습니다. 재귀 수준을 포함하여 DBA 수준 위 및/또는 아래일 수 있습니다. 명시적 계층(사용되지 않음) 단면 수준 아래일 수 있습니다. 여러 M2M 관계는 동일한 파생 계층 구조에서 함께 연결될 수 있습니다.

M2M 수준은 다른 파생 계층 수준과 마찬가지로 숨겨질 수 있습니다.

샘플 모델의 M2M 관계

M2M 관계의 데모를 보려면 Master Data Services에 포함된 고객 샘플 모델에서 지역 기후 파생 계층 구조를 확인합니다.

다음 이미지와 같이 이 관계를 모델로 하는 수준 이름은 Climate(RegionClimate.Region을 통해 매핑됨)입니다mds_Number1. 미리 보기mds_Number2연결된 기후 유형별로 그룹화된 지역을 보여 줍니다. 여러 기후(부모)와 연결된 지역(자식 멤버)이 있기 때문에 M2M 관계입니다. 예를 들어 mds_Number3APCR {Asia Pacific}은 A {Tropical} 및 B {Dry}mds_Number5연결됩니다.mds_Number4

mds_M2MRelationship_Example_CustomerModel

Customer 샘플 모델 및 Master Data Services에 포함된 기타 샘플 모델을 배포하는 방법에 대한 지침은 샘플 모델 및 데이터 배포를 참조 하세요.

일대다 관계

DH의 멤버는 많은 자식 멤버의 부모일 수 있지만 일반적으로 둘 이상의 부모를 가질 수 없습니다(예외의 경우 멤버 보안 참조). 예를 들어 각 직원이 단일 부서에 속하는 직원 및 부서의 두 엔터티가 있다고 가정합니다. 이 관계는 Employee 엔터티에 부서 엔터티를 참조하는 DBA(도메인 기반 특성)를 추가하여 모델링됩니다.

mds_hierarchies_onetomany

각 직원은 하나의 부서에만 속하지만 각 부서에는 여러 직원이 있을 수 있기 때문에 일대다 관계입니다. 부서별로 그룹화된 직원을 표시하는 파생 계층 구조를 만들 수 있습니다.

mds_hierarchies_dh_screenshot

멤버 보안

멤버 중복을 허용하는 계층 구조(멤버가 둘 이상의 부모를 가질 수 있도록 허용)는 멤버 보안 권한을 할당하는 데 사용할 수 없습니다. 예:

  • Null 재귀를 고정하지 않는 RDH(재귀 파생 계층 구조)입니다(재귀 수준의 각 멤버는 ROOT 및 해당 재귀 부모 아래에 모두 표시됨).

  • 재귀 수준보다 높은 수준의 재귀 파생 계층 구조입니다(재귀 수준의 각 멤버는 재귀가 아닌 부모 및 재귀 부모 아래에 모두 표시됨).

  • M2M 수준의 파생 계층 구조입니다(자식은 많은 부모에 매핑될 수 있음).

컬렉션

컬렉션 및 명시적 계층은 더 이상 사용되지 않습니다. 변환 저장 프로시저(udpConvertCollectionAndConsolidatedMembersToLeaf)는 컬렉션 멤버를 리프 멤버로 변환하고 다대다 파생 계층을 만들어 컬렉션 멤버 자격 정보를 캡처합니다.

참고 항목

파생 계층(Master Data Services)