Docs Menu
Docs Home
/
Relational Migrator
/

스키마 매핑

이 페이지의 내용

  • 매핑 규칙
  • 예시
  • 테이블 구조 비정규화 사용 사례
  • 매핑 규칙 결과
  • 매핑 규칙 구현

스키마 매핑은 소스 관계형 스키마가 대상 MongoDB database 에서 표현되는 방식을 결정하는 프로세스입니다. 사용자 지정 매핑 규칙을 통해 Relational Migrator에서 스키마 매핑 프로세스를 촉진합니다.

스키마 매핑 설계 프로세스 중에 Relational Migrator는 관계형 데이터베이스의 스키마에서 소스 데이터 모델을 자동으로 파생합니다. 대상 데이터 모델은 다음을 사용자 지정하여 영향을 받을 수 있습니다.

  • 매핑 규칙 옵션

  • 프로젝트 ID 필드 옵션

스키마 매핑 개념

이 섹션에서는 스키마 매핑 프로세스에 대한 시나리오와 구현 예시를 제공합니다. 이 예제에서는 관계형 데이터 모델을 MongoDB 데이터 모델로 변환합니다.

MongoEnterprises relational database를 사용할 경우 목표는 database의 모든 테이블을 평면화하여 모든 주문 및 고객 데이터를 단일 MongoDB collection에서 사용할 수 있도록 하는 것입니다.

다음 이미지는 Relational Migrator를 사용하여 비정규화할 관계형 데이터 모델을 보여줍니다.

관계형 Realm 데이터 모델

Relational Migrator를 사용할 때 목표는 다음과 같은 MongoDB 데이터 모델을 달성하는 것입니다. Order 컬렉션에는 Customer, Order, ProductOrder Line 테이블의 모든 하위 요소가 포함되어 있습니다. 컬렉션에는 마이그레이션된 테이블에 대한 중첩된 객체가 있습니다. 결과는 다음과 같습니다.

{
"_id": {
"OrderID": 1
},
"CustomerID": 1,
"OrderStatusID": 1,
"TotalAmount": 550,
"Customer": {
"CustomerID": 1,
"Name": "Joelynn Fawthrop",
"Address1": "86 Dwight Pass",
"Address2": "Carregal",
"Address3": "3800-854"
},
"OrderLines": [
{
"OrderLineID": 1,
"OrderID": 1,
"ProductID": 1,
"Quantity": 1,
"Product": {
"ProductID": 1,
"Name": "MongoDB 5.0 Action Figure",
"Price": 50
}
},
{
"OrderLineID": 4,
"OrderID": 1,
"ProductID": 3,
"Quantity": 1,
"Product": {
"ProductID": 3,
"Name": "Gold Plated MongoDB Compass",
"Price": 500
}
}
],
"OrderStatus": {
"OrderStatusID": 1,
"Name": "Order Placed"
}
}

Relational Migrator를 사용하여 대상 데이터 모델 결과를 달성하려면 다음 매핑 규칙 옵션을 사용하여 Order 테이블을 구성합니다.

관계형 테이블
매핑 규칙 유형
루트 경로

주문

새 문서

N/A

OrderLine

OrderLines

고객

Customer

주문 상태

OrderStatus

제품

OrderLInes.Product

돌아가기

매핑 규칙