Docs Menu
Docs Home
/ /

스키마 매핑

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

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

  • 매핑 규칙 옵션

  • 프로젝트 ID 필드 옵션

스키마 매핑 개념

Relational Migrator Oracle 구체화된 뷰를 지원합니다. 데이터 모델 많은 테이블이 포함된 복잡한 매핑이 필요한 경우 사용자 지정 SQL 쿼리 대신 사용하여 구체화된 뷰를 생성할 수 있습니다. 구체화된 뷰는 단일 소스 테이블 역할을 하며 필요한 매핑을 간소화합니다. Oracle 소스 데이터베이스 에서 복잡한 조인을 수행하면 마이그레이션 프로젝트 간소화할 수 있으며 동일한 변환을 실시간으로 수행하는 마이그레이션 작업 에 비해 성능이 향상될 수 있습니다. 자세한 내용은 Oracle SQL 언어 참조를참조하세요.

Relational Migrator 현재 다른 데이터베이스에 대한 구체화된 뷰를 지원 하지 않습니다.

이 섹션에서는 스키마 매핑 프로세스에 대한 시나리오와 구현 예시를 제공합니다. 이 예제에서는 관계형 데이터 모델을 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

돌아가기

관계형 모델 관리

이 페이지의 내용