다이어그램의 이해
이 페이지에서는 Relational Migrator 에서 만든 다이어그램을 해석하는 방법에 대해 설명합니다. 각 다이어그램은 관계형 데이터베이스 용 뷰와 MongoDB database 용 뷰의 두 가지 뷰로 구성되어 있습니다. 뷰에는 데이터베이스의 엔터티 간의 관계가 표시됩니다.
관계형 뷰
관계형 보기에서 각 상자는 관계형 데이터베이스 의 테이블을 나타냅니다. 상자 제목은 테이블 이름을 나타냅니다.
각 상자에는 해당 테이블의 열이 나열됩니다. 각 열의 상자에는 열 이름과 데이터 유형이 표시됩니다.
일부 열에는 테이블 내에서 해당 역할 을 나타내는 아이콘이 있습니다.
키 아이콘은 테이블의 기본 키 를 나타냅니다.
링크 아이콘은 외래 키를 나타냅니다.
MongoDB 뷰
MongoDB 보기에서 각 상자는 MongoDB database 의 컬렉션 을 나타냅니다. 상자 제목은 컬렉션 이름을 나타냅니다.
각 상자에는 해당 컬렉션 의 필드가 나열됩니다. 각 필드 에 대해 상자에는 필드 이름과 해당 데이터 유형 이 표시됩니다.
컬렉션 에 내장된 문서나 배열이 포함된 경우 해당 필드는 동일한 컬렉션 에 인라인으로 표시됩니다.
일부 필드에는 테이블 내에서의 역할 을 나타내는 아이콘이 있습니다.
키 아이콘은 컬렉션의
_id
필드를 나타냅니다.wrapped
키 처리 전략을 사용하는 경우_id
필드에 하위 필드가 포함됩니다. 이 경우 상자에는 단일 필드에 적용되는 여러 키 아이콘이 포함되어 있습니다.링크 아이콘은 필드 가 외래 키에 사용된 관계형 열에 매핑됨을 나타냅니다.
보기 모드 선택
Relational Migrator 는 수평 분할, 수직 분할, 관계형 보기 및 MongoDB 보기와 같은 다양한 다이어그램 보기 모드를 제공합니다.
보기 모드 | 설명 |
---|---|
수평 분할 | 관계형 뷰를 상단에 표시하고 MongoDB 뷰를 하단에 표시합니다. 새 프로젝트 를 만들면 기본값 보기 모드 가 가로 분할입니다. |
수직 분할 | 왼쪽에 관계형 보기를 표시하고 오른쪽에 MongoDB 보기를 표시합니다. |
관계형 뷰 | 관계형 데이터베이스 다이어그램만 표시합니다. |
MongoDB 뷰 | MongoDB database 다이어그램만 표시합니다. |
보기 모드를 전환하려면 왼쪽 탐색 모음에서 보기 모드 옵션을 클릭합니다.
색상 코딩
다이어그램의 엔터티는 관계형 데이터베이스를 나타내는지 아니면 MongoDB database 를 나타내는지에 따라 색상으로 구분됩니다.
분홍색으로 강조 표시된 엔터티는 관계형 테이블입니다.
녹색으로 강조 표시된 엔터티는 MongoDB 컬렉션입니다.
엔터티 링크
상자 사이의 선은 데이터베이스 엔터티를 연결하는 관계를 나타냅니다. 두 개의 상자가 연결되면 해당 엔터티는 외래 키로 연결됩니다. 줄은 다음과 같은 관계의 기능을 표시할 수 있습니다.
관계 링크의 작은 막대는 엔터티 간의 일대일 관계 를 나타냅니다.
갈래(또는 "까마귀 발")는 관계에서 "다수"를 나타냅니다.
다이어그램 작업 실행 취소 또는 다시 실행
Relational Migrator 다이어그램은 실행 취소 및 다시 실행 기능을 지원 합니다. 이전 다이어그램 조치 을 되돌리거나 다시 적용하려면 실행 취소 또는 다시 실행 역량 사용합니다. 다이어그램 도구 모음 또는 키보드 단축키를 사용하여 이러한 조치를 수행할 수 있습니다.
툴바
를 사용할 수 있습니다. 그리고 버튼을 클릭합니다.
키보드 단축키
또는 키보드 단축키를 사용할 수도 있습니다.
기능 | Windows 바로 가기 | Mac 단축키 |
---|---|---|
Undo |
|
|
Redo |
|
|
관계형 및 MongoDB 보기 링크
관계형 또는 MongoDB 보기에서 상자를 클릭하면 Relational Migrator 가 반대쪽 보기에서 해당 엔터티를 강조 표시합니다. 이를 통해 관계형 테이블과 MongoDB 컬렉션이 서로 어떻게 매핑되는지 확인할 수 있습니다.
예시
다음 예시 는 저장 에서 주문을 추적하는 데이터베이스 의 샘플 다이어그램을 보여줍니다.
관계형 뷰
이 관계형 뷰는 관계형 데이터베이스 내 여러 테이블의 관계 를 보여줍니다.
뷰에는 다음과 같은 관계가 표시됩니다.
Order
테이블에서OrderID
이 프라이머리 키입니다.CustomerID
및OrderStatusID
은 외래 키입니다.Customer
및OrderStatus
테이블에는 각각 이러한 외래 키에 대한 참조가 포함되어 있습니다.Order
Customer
~ 및Order
~OrderStatus
는 모두 다대일 관계입니다.고객은 여러 개의 주문을 가질 수 있으며 각 주문은 단일 고객에게만 적용됩니다. 이 예시 에서 Order 는 상위 항목이고 고객 는 하위 항목입니다.
주문 상태는 여러 주문에 적용될 수 있으며, 각 주문에는 하나의 주문 상태만 있습니다. 이 예제에서 Order는 상위 항목이고 OrderStatus는 하위 항목입니다.
OrderLine
테이블에서OrderLineID
이 프라이머리 키입니다.OrderID
및ProductID
은 외래 키입니다.Order
및Product
테이블에는 각각 이러한 외래 키에 대한 참조가 포함되어 있습니다.OrderLine
Order
~ 및OrderLine
~Product
는 모두 다대일 관계입니다.주문 라인은 주문 내의 개별 트랜잭션입니다. 주문에는 여러 주문 라인이 있을 수 있으며 각 주문 라인은 단일 주문에 적용됩니다. 이 예제에서 OrderLine은 상위 항목이고 Order는 하위 항목입니다.
제품은 여러 주문 라인에 적용 수 있으며, 각 주문 라인에는 단일 제품이 포함됩니다. 이 예시 에서 OrderLine은 상위 항목이고 Product는 하위 항목입니다.
MongoDB 뷰
이 MongoDB 보기는 이전 관계형 보기에 해당합니다.
뷰에 표시되는 컬렉션 및 데이터 유형은 프로젝트 에 지정된 매핑 규칙을 반영합니다.
링크 아이콘은 외래 키에 사용되는 관계형 열에 매핑되는 필드를 나타냅니다. 예를 예시 Order
컬렉션 에서 OrderStatusID
필드 는 테이블과 테이블을 연결하는 외래 키를 Order
OrderStatus
나타냅니다.
새 매핑 규칙
MongoDB의 임베디드 데이터 모델 을 더 잘 활용하기 위해 다음과 같은 새로운 매핑 규칙이 생성되었습니다.
Order
컬렉션 에는OrderLines
을 임베디드 배열 로 매핑하는 규칙이 포함되어 있습니다. 관계형 스키마 의OrderLine
테이블은 관계형 스키마 의 외래 키 관계 를 사용하여Order
문서 내에서 객체 배열 로 매핑됩니다.Customer
컬렉션 에는Orders
을 포함된 배열 로 매핑하는 규칙이 포함되어 있습니다. 관계형 스키마 의Order
테이블은 관계형 스키마 의 외래 키 관계 를 사용하여Customer
문서 내에서 객체 배열 로 매핑됩니다.
앞의 매핑 규칙은 모두 매핑에서 ID 필드를 제거합니다. OrderLines
및 Orders
필드는 외래 키로 참조되지 않고 상위 필드에 포함되므로 필드를 함께 연결하는 데 ID 필드가 필요하지 않습니다.