マッピングルール
マッピング ルールは、各関係テーブルのデータを移行する場所と、列を MongoDB ドキュメントのフィールドにマッピングする方法を指定します。 マッピング ルールは、有効な リレーショナル データベース接続stringと認証情報を提供した後にプロジェクト内に作成されます。
MongoDB スキーマ設計パターン
MongoDB のスキーマ設計パターンは、データの整理方法を形成します。 スキーマ設計を適切に行うことで、データの効率的なストレージ、取得、操作が可能になります。 これらの設計上の決定は、MongoDB 配置のパフォーマンスとスケーラビリティを向上させるのに役立ちます。 Relational Migrator を使用すると、複数のテーブルを単一のコレクションに結合したり、ドキュメントにデータを埋め込みたりするなど、スキーマ設計に関する重要な決定を行うことができます。
スキーマ設計のベストプラクティスの概要については、次のドキュメントを検討してください。
マッピング方向の優先順位
ソース リレーショナル モデルは静的で変更不可であるのに対し、ターゲットの MongoDB モデルは動的でカスタマイズ可能です。
マッピング ルールは、ソースリレーショナル モデルまたは宛先MongoDB モデルに基づいて作成できます。
関係
マッピング ルールは、テーブルとコレクション間の one-to-one
、 one-to-many
、またはmany-to-many
の関係を定義するのに役立ちます。
次の構成のマッピング ルールを定義できます。
単一の MongoDB コレクションにマッピングする単一のテーブル。
複数の MongoDB コレクションにマッピングする単一のテーブル。
1 つのコレクションにマッピングする複数のテーブル。
デフォルト ルール
Relational Migrator は、各ソース テーブルに対して新しいドキュメントをマッピングするルールを自動的に作成します。 この初期ルールにより、関係データベースと同一の MongoDB スキーマが生成されます。 データ移行ジョブを実行する前に、初期ルールを編集できます。
データ型の検出
Relational Migrator は、各ソース列に最適な MongoDB データ型を自動的に選択します。
たとえば、 text
、 varchar
、 nvarchar
、またはchar
タイプの SQL Server ソースデータは、MongoDB string
データ型になります。
マッピングルールのプレビュー
マッピング ルールがデータモデルにどのように影響するかは、MongoDB 図ペインにある青いドットボックスを表示することでプレビューできます。 これにより、マッピング ルールを適用する前にプレビューできます。
コレクションエンティティが存在しない場合は、カード全体のプレビュー状態で図に追加されます。
コレクション エンティティがすでに存在する場合、埋め込みマッピングが カードに追加され、新しいフィールドの周囲がプレビュー状態になります。
オプションとして移行
マッピングルールは、次のMigrate as
オプションを使用して定義できます。
オプション | 動作 |
---|---|
関係データベースの各行を新しいドキュメントに変換します。 | |
外部キー関係によって識別される親ドキュメント内の各行を配列要素に変換します。 | |
各行を、外部キー関係によって識別される子ドキュメント内のフィールドのセットまたは埋め込みオブジェクトとして変換します。 |