Microsoft Dataverse는 조직에서 엔터프라이즈 애플리케이션을 만들 수 있도록 하는 Power Platform의 엔터프라이즈 데이터 플랫폼입니다. 이러한 애플리케이션에는 데이터 간의 복잡한 관계를 포함하는 비즈니스 프로세스에 대한 추적 정보가 포함될 수 있습니다. Dataverse는 일대다, 다대일, 그리고 다대다의 기본 제공 관계 형식을 사용하여 공통 데이터 관계를 지원합니다. 관계에 대한 관련 데이터를 추적해야 하는 경우 고급 다대다 관계를 구현할 수도 있습니다. 이러한 유연성은 이벤트 관리 앱과 같은 애플리케이션에 유용합니다. 여기서 출석 세부 정보를 추적하려면 단순한 연결 이상이 필요합니다.
팁 (조언)
이 문서에서는 Microsoft Dataverse에서 복잡한 데이터 관계를 모델링하는 방법에 대한 예제 시나리오 및 시각적 표현을 제공합니다. 이 솔루션은 다양한 시나리오 및 산업에 사용할 수 있는 일반화된 예제 시나리오 아키텍처입니다.
아키텍처 다이어그램
워크플로
Power Apps 캔버스 애플리케이션은 Dataverse를 사용하여 이벤트 관리 애플리케이션에 대한 데이터를 관리합니다. 애플리케이션을 사용하면 사용자가 조직의 영업 팀에서 호스트하는 이벤트(또는 이벤트)에 참가한 사람을 추적할 수 있습니다.
- 연락처: 연락처 테이블은 영업 팀이 이벤트에 초대하는 사람을 추적합니다.
- 이벤트: 이벤트 테이블은 각 이벤트의 이름, 날짜 및 위치와 같은 이벤트 정보를 추적합니다.
- 이벤트 참석자: 이벤트 참석자 테이블은 각 이벤트에 참석하는 사용자와 해당 참석자 데이터를 추적합니다. 이 테이블은 연락처와 이벤트 간의 다대다 관계를 가지고 있습니다. 연락처 테이블과의 다대일 관계 및 이벤트 테이블과의 다대일 관계로 만들어집니다. 이 설정을 사용하면 이 다대다 테이블에 RSVP 상태, 출석 상태 및 요금 지불 여부와 같은 이벤트 참석자에 대한 데이터를 포함할 수 있습니다.
사용 사례
이벤트 관리 애플리케이션의 주요 목적은 이벤트 참석 및 관련 정보를 추적하는 것입니다. 요구 사항은 다음과 같습니다.
- 애플리케이션은 각 이벤트에 참석한 사람과 참석에 대한 세부 정보를 기록해야 합니다.
- 한 사람이 여러 이벤트에 참석할 수 있습니다.
기본 제공 다대다 관계
애플리케이션을 개발하는 팀이 데이터 모델링 옵션을 평가할 때 Dataverse의 기본 제공 다대다 지원을 고려했습니다. 이 방법을 사용하면 연락처가 여러 이벤트에 참석할 수 있습니다. 내부적으로 Dataverse는 연락처와 하나 이상의 이벤트 행 간의 연결을 추적하는 내부 교차 테이블을 만듭니다. 이 내부 테이블은 수정할 수 없습니다. 두 테이블 간의 관계에 대한 데이터를 추적하기 위한 추가 열은 추가할 수 없습니다. 이 방법은 앱 요구 사항의 일부를 충족하지만 RSVP 상태와 같이 연락처가 참석하는 각 이벤트에 대한 정보를 추적할 필요가 없습니다.
수동 다 대 다 관계
연락처가 참석하는 각 이벤트에 대한 추가 정보를 추적하려면, "수동 다대다 관계" 패턴을 사용하는 것을 고려해보세요. 이 패턴에는 교차 테이블을 나타내는 사용자 지정 테이블을 만든 다음 관계를 정의하는 두 테이블에 대한 두 개의 다대일 관계를 설정하는 작업이 포함됩니다. 이 방법을 사용하면 연락처와 이벤트 간의 교집합을 나타내는 사용자 지정 테이블인 이벤트 참석자를 만듭니다. 이벤트 참석자 테이블에는 연락처 및 이벤트 테이블 모두에 대한 다대일 관계가 포함되어 있으므로 RSVP 상태, 출석 상태 및 결제 정보와 같은 다른 필드를 저장할 수 있습니다.
이 패턴은 기본 제공 다대다 관계보다 더 많은 유연성을 제공하지만 관계에 대한 추가 데이터를 저장해야 하는 경우에만 사용합니다.
각 방법을 사용하는 경우
기본 제공 다대다 접근 방식: 어떤 연락처가 어떤 이벤트에 연결되어 있는지 알아야 하는 경우에 가장 좋습니다. 추가 정보가 필요하지 않습니다. 테이블과 행 사이의 교차점을 관리하는 작업을 자동화합니다. 특히 기본 제공 접근 방식에 최적화된 모델 기반 앱에서 여러 레코드를 한 번에 연결하는 보다 원활한 환경을 제공합니다.
수동 다대다 관계: 각 관계에 대한 추가 데이터를 저장해야 할 때 사용합니다. 교차 테이블을 통해 사용자 지정 필드를 더 쉽게 추가할 수 있습니다. 보안에 대한 완전한 제어 권한을 제공하며, 관계를 설정할 수 있는 시기와 대상자를 자동화할 수 있습니다. 각 행에 대한 추가 정보를 제공하기 위해 더 많은 단계가 필요합니다(한 번에 여러 행을 연결할 때 특히 두드러지게 표시됨).
이 시나리오에서는 수동 패턴에 따라 사용자에게 새 행 폼이 표시되고 최소한 연결된 두 행이 제공되는지 확인해야 할 수 있습니다. Power Apps 캔버스 애플리케이션에서 제조업체는 연결을 간소화하는 사용자 환경을 제공하여 이러한 복잡성을 간소화할 수 있습니다. 또한 수동 관계를 만들 때는 다대일 관계에 대한 연계 옵션을 구성하여 관련 행 중 하나가 제거될 경우 연계 옵션을 통해 관계를 추적하는 사용자 지정 테이블 행의 제거가 자동화되도록 해야 합니다. 사용자 지정 교차 테이블 행을 삭제하도록 계단식 옵션을 적절하게 구성하지 않으면 고아 행이 남아 있을 위험이 있습니다.
데이터 모델에서 가장 적합한 옵션을 선택할 때, 두 가지 접근 방식 간의 변환을 지원하는 내장 기능이 없음을 염두에 두십시오. 접근 방식을 선택하면 데이터를 마이그레이션하지 않고는 둘 사이를 전환할 수 없습니다. 어떠한 다 대 다 관계 필요사항도 신중하게 평가하여 사용자 정의 테이블 접근 방식이 필요한지 여부를 결정합니다. 또한 지금뿐만 아니라 미래에 추가 데이터가 필요한지 여부를 고려합니다. 수동 다대다 패턴은 복잡성에도 불구하고 더 많은 유연성을 제공합니다.
Components
Power Apps 는 솔루션의 사용자 환경을 구현하는 데 사용됩니다. 제조업체는 Dataverse에서 데이터를 관리하는 애플리케이션을 빌드합니다. 제작자는 자신이 만든 다대다 관계에 대한 사용자 경험을 구현해야 합니다.
Dataverse: Dataverse는 애플리케이션의 데이터 요구를 처리합니다. Dataverse는 실제 비즈니스 데이터 연결을 모델링하기 위해 다대일, 일대다 및 다대다 관계 유형을 제공합니다.
고려 사항
이러한 고려 사항은 워크로드의 품질을 개선하는 일련의 기본 원칙인 Power Platform Well-Architected의 핵심 요소를 구현합니다. Microsoft Power Platform Well-Architected에서 자세히 알아보십시오.
Reliability
비즈니스 목표에 맞게 워크로드를 디자인하고 불필요한 복잡성 또는 오버헤드를 방지합니다. 이 유형의 모든 관계에 대해 수동 다대다 패턴을 사용하면 애플리케이션 만들기, 유지 관리 및 사용자 환경에 불필요한 복잡성이 추가됩니다. 각 관계를 평가하여 요구 사항을 고려할 때 선택한 접근 방식이 가장 적합한지 확인해야 합니다.
Security
기밀성과 무결성을 보호하기 위한 디자인: 데이터 간의 관계는 중요할 수 있으며 비즈니스 운영에 직접적인 영향을 미칠 수 있습니다. 기본적으로 Dataverse 보안 모델은 데이터가 관련되는 방식과 사용자가 데이터 행에 대해 수행할 수 있는 작업에 대한 세분화된 보안을 지원합니다. 사용자 정의 교차 테이블이 포함된 수동 다대다 관계를 만들면 해당 관계 데이터를 사용하여 누가 무엇을 할 수 있는지를 더 잘 관리할 수 있는 추가적인 제어 기능을 제공받습니다.
운영 효율성
사용자 개입의 인사이트 및 적응성을 활용하지 않는 모든 작업 자동화: 관계에 대한 연계 자동화를 사용하여 관련 행 중 하나가 제거될 때 사용자 지정 교차 테이블 행을 자동으로 정리합니다.
경험 최적화
단순성과 효율성을 위한 디자인: 다대다 관계 유형을 선택하면 사용자가 애플리케이션에서 데이터 행 간의 관계를 설정하는 방법에 영향을 줍니다. 수동 패턴을 사용하는 경우 사용자가 데이터를 연결하고 애플리케이션 전체에서 일관된 방식으로 일반적인 상호 작용 시나리오를 최적화할 수 있는 일관된 방법을 설정합니다. Power Apps 모델 기반 애플리케이션의 경우 수동 패턴을 사용할 때 보다 사용자 지정된 사용자 환경을 제공하는 것이 좋습니다. 예를 들어 사용자 지정 Power Apps 캔버스 페이지 또는 PCF(Power Apps 구성 요소 프레임워크) 컨트롤을 사용하여 Power Apps 캔버스 앱과 비슷한 간소화된 상호 작용 환경을 제공할 수 있습니다.