이전 자습서 단계에서 각 원본 테이블은 정확히 하나의 노드 형식 또는 하나의 에지 형식에 매핑됩니다. 그러나 관계형 테이블에는 포함된 엔터티가 포함된 경우가 많습니다. 예를 들어 Employees 테이블에는 열이 Country 포함됩니다. 국가를 단순히 Employee 노드의 속성으로 저장하는 대신, 이를 분리하여 독립적인 Country 노드 유형으로 만들고, livesIn 에지로 연결할 수 있습니다. 이 방법은 직원과 국가 간의 관계를 직접 쿼리할 수 있는 보다 풍부한 그래프 모델을 만듭니다.
이 자습서 단계에서는 Employees 원본 테이블에서 다음 그래프 엔터티를 만듭니다.
-
Country노드 형식(신규) -
Employee에서Country로 연결되는livesIn에지 유형(신규)입니다. 이 엣지는Employee livesIn Country임을 나타냅니다.
Adventure Works Employee 테이블
Adventure Works 데이터 모델에서 Employees 데이터 원본 테이블에는 다음 열이 있습니다.
EmployeeID_KManagerIDEmployeeFullNameJobTitleOrganizationLevelMaritalStatusGenderTerritoryCountryGroup
다음 표에서는 이러한 열이 그래프 엔터티에 매핑되는 방법을 보여 줍니다.
| 그래프 개체 | 유형 | 키 칼럼 |
|---|---|---|
Employee |
노드(이미 있음) | EmployeeID_K |
Country |
노드(신규) | Country |
livesIn |
Edge(새로운), Employee에서 Country까지 |
EmployeeID_K → Country |
비고
앞의 표 Country 에서 Employees 테이블의 원본 열과 그래프의 새 노드 형식을 모두 참조합니다. 동일한 이름을 공유하지만, 테이블의 열은 원시 데이터인 반면, 노드 유형은 그래프 모델의 엔터티입니다.
원본 테이블에서 노드 형식을 만들 때 테이블의 관련 열을 해당 노드 형식의 속성 으로 수동으로 추가합니다. Employees 테이블에는 10개의 열이 있으므로 Employee 및 Country 노드 형식은 둘 다 이 10개 열을 모두 속성으로 추가할 수 있습니다. 이 문서에서는 노드 형식과 Country 관련된 속성만 추가합니다.
Country 노드 형식 만들기
노드 형식을 Country 만들려면 다음 단계를 수행합니다.
그래프 모델의 위쪽 리본에서 노드 추가를 선택합니다.
노드 만들기에서 다음 값을 입력합니다.
-
노드 레이블:
Country - 원본 테이블: adventureworks_employees
-
키:
Country.Country키 열로 선택하면 노드 형식에 속성으로 추가됩니다.
-
노드 레이블:
다른 속성은 추가하지 마세요.
만들기를 선택하여 그래프에 노드 형식을 추가합니다.
그래프에 추가된 Country 노드 형식이 표시됩니다.
모서리 livesIn 만들기
Employee 노드 형식은 이전 자습서 단계의 그래프에 이미 있습니다. 새 Country 노드를 새 livesIn 에지로 Employee 노드에 연결합니다.
에지 형식을 livesIn 만들려면 다음 단계를 수행합니다.
- 위쪽 리본에서 가장자리 추가를 선택합니다.
-
에지 만들기 대화 상자에서 다음 값을 입력합니다.
-
엣지 레이블:
livesIn - 원본 테이블: adventureworks_employees
-
원본 노드:
Employee -
원본 키:
EmployeeID_K -
대상 노드:
Country -
대상 키:
Country
-
엣지 레이블:
- 만들기를 선택하여 그래프에 가장자리를 추가합니다.
그래프에서 Employee 노드와 Country 노드 사이에 livesIn 에지 유형이 추가된 것을 볼 수 있습니다.
Employee 노드 형식 수정
이제 Country는 livesIn 에지를 통해 Employee에 연결되는 고유한 노드 유형이므로, Employee 속성으로서의 Country 열은 불필요합니다.
Employee 노드 유형을 편집하여 속성을 제거합니다Country.
- 노드 유형을 두 번 클릭하여
Employee해당 속성을 봅니다. - 정의 편집을 선택합니다.
- 노드에서 제거하려면
Country속성의 체크를 해제합니다. - 저장을 선택합니다.
팁 (조언)
속성이 너무 많아 그래프를 유지 관리하고 사용하기가 더 어려워집니다. 모든 노드 형식의 경우 다음과 같은 속성이 없으면 안됩니다.
- 노드의 고유성에 필요하지 않음
- 쿼리 또는 분석에 필요하지 않음
그래프 로드
모든 노드 형식 및 에지 형식을 구성한 후 그래프를 다시 로드합니다. 그래프를 구조적으로 변경한 후 다시 로드해야 합니다.
위쪽 리본에서 저장을 선택합니다. 이 작업은 그래프 모델을 확인하고, OneLake에서 데이터를 로드하고, 그래프를 생성하고, 쿼리할 수 있도록 합니다. 이 프로세스는 데이터 크기에 따라 다소 시간이 걸릴 수 있으므로 인내심을 가져야 합니다.
이제 그래프에 새 Country 노드 형식과 에지 형식이 livesIn 포함됩니다. 이 구조를 사용하면 직원과 해당 국가 간의 관계를 직접 쿼리할 수 있습니다.
Review
이 자습서 단계에서는 단일 Employees 원본 테이블에서 두 개의 노드 형식과 하나의 에지 형식을 사용했습니다.
-
Employeenode(이전 단계에서 만들어지고 여기서 구체화됨) -
Country노드 (열에서Country추출된 새 노드) -
livesIn간선 (새 항목,Employee에서Country로 연결)
이 패턴은 관계형 테이블에 그래프에서 별도의 노드로 표시하려는 포함된 엔터티가 포함될 때마다 유용합니다. 국가, 도시 또는 부서와 같은 고유한 실제 엔터티를 나타내는 열을 자체 노드 형식으로 추출할 후보로 찾습니다.
팁 (조언)
더 많은 모델링 패턴 및 의사 결정 지침은 그래프 스키마 디자인을 참조하세요.