엔터티 및 관계(EDM)

EDM(엔터티 데이터 모델)은 ER(엔터티 관계) 모델입니다. 일반적인 기간 업무(LOB) 응용 프로그램의 경우 응용 프로그램 디자인 초기 단계에서는 데이터의 구조가 추상적입니다. 디자인을 할 때에는 다양한 데이터 종류를 논리적인 구조로 응용 프로그램에 포함하는 방법을 지정해야 합니다. 예를 들어 주문, 고객, 주문 라인, 주소, 공급업체, 제품 및 직원이 데이터 구조로 표현되며 대부분 매우 복잡합니다. 기초적인 개념을 파악한 후 만들어지는 데이터 구조의 모든 세부 사항에 대한 공식 사양이 바로 엔터티입니다.

예를 들어 Customer 데이터 형식은 각 고객의 담당자 이름, 회사 이름, 주소 및 고유 ID를 포함하도록 디자인되었습니다. Order 형식에는 주문 날짜, 주문 라인, 기한, 고유 ID 및 기타 데이터가 포함될 수 있습니다. 다른 대부분의 데이터 모델과 마찬가지로 EDM에서는 주문과 주문 고객 사이의 논리적 연결을 관계로 표현합니다.

다음 다이어그램에서는 데이터 구조의 세부 사항을 일부 보여 주고 EDM에서 설명하는 엔터티 및 관계의 개념을 사용하여 이를 모델링합니다. 다이어그램에서 엔터티는 사각형으로 표시되며 관계는 사각형 사이의 선으로 표시됩니다. 사각형 안의 텍스트는 엔터티의 속성을 나타냅니다.

고객, 주문, 주문 라인 다이어그램

EDM에서는 최상위 개념만 엔터티라고 부릅니다. 이 다이어그램에서는 Customer가 최상위 개념이며 엔터티로 모델링됩니다. EDM에서 Customer 엔터티는 기본 EntityType에서 파생됩니다.

하위 데이터 요소를 엔터티의 속성이라고 합니다. Customer 엔터티의 속성에는 CustomerID, CompanyName, ContactName, Address, Phone이 있습니다. 이러한 각 속성에는 데이터 형식이 있습니다. 예를 들어 CustomerID는 문자열이고 CompanyNameContactName도 문자열입니다.

다이어그램에서 Address 속성은 여러 가지 정보가 포함되는 내부 구조를 가지기 때문에 다른 속성과 차이가 있습니다. EDM에서는 이 주소와 같이 중첩된 데이터 구조를 엔터티로 모델링한 다음 연결과 탐색 속성으로 다른 엔터티에 연결하여 해당 엔터티 안에서 속성으로 사용되도록 합니다.

CustomerAddress 데이터 형식은 내부 구조가 여러 속성으로 구성된다는 점에서 서로 비슷하지만 의미와 동작의 측면에서 보면 다른 점이 있습니다. Customer는 쿼리나 데이터 수정 작업 및 지속성의 단위일 경우가 많습니다. 반면에 Address는 항상 Customer 데이터 형식 내에 존재하며 대개의 경우 독립적으로 사용되지 않습니다.

엔터티 간의 관계는 연결을 사용하여 모델링합니다. 연결은 CustomerOrder 사이의 관계처럼 엔터티 사이의 관계입니다. 모든 Order에는 대응되는 Customer가 있어야 합니다. OrderCustomer는 논리적으로 관련되지만 독립적인 엔터티로 존재합니다. 연결 관계에 대한 자세한 내용은 Association(EDM)을 참조하십시오.

Order와 해당 OrderLine 항목처럼 하나의 엔터티가 다른 엔터티를 논리적으로 제어하는 관계도 연결 관계로 표현합니다. 각 Order는 하나 이상의 OrderLine으로 구성됩니다. 예를 들어 Customer가 제품 49를 주문할 경우 주문한 항목에 대한 정보는 OrderLine으로 구성됩니다. Order가 없으면 OrderLine이 존재할 수 없습니다.

참고 항목

개념

엔터티 구현(EDM)
연결 구현(EDM)

기타 리소스

스키마 및 매핑 사양(Entity Framework)