Docs Menu
Docs Home
/
Relational Migrator
/ /

ビューの変換

項目一覧

  • このタスクについて
  • 始める前に
  • 手順
  • 次のステップ
  • 詳細

クエリ 変換は SQLを使用してビューを作成し、それを同等のMQLに変換します。 クエリ ドライバーは、SQL コードを変換する際にプロジェクトに定義されたマッピング ルールとスキーマ変換を考慮します。 変換プロセスの詳細については、 変換ビューの例を参照してください。

  • クエリ ドライバーはAIテクノロジーを使用しますが、長いクエリや複雑なクエリ、トリガー、パッケージ、または保存された手順を変換できない場合があります。正しく変換されないクエリもあれば、まったく変換されないクエリもあります。詳しくは、「 AIとデータ使用状況の情報 」を参照してください。

  • クエリ ドライバーは、リレーショナル スキーマ、MongoDB スキーマ、現在のプロジェクト内のマッピング ルールを使用して、クエリを変換する方法を決定します。 クエリがリレーショナル スキーマにないテーブルを参照する場合、または MongoDB コレクションにマップされていない場合、変換が失敗したり不正確になることがあります。

  • 変換されたクエリ、trigger、ビュー、パッケージ、保存された手順はプロジェクトに保存され、プロジェクトのインポートおよびエクスポート後も保持されます。

  • SQLクエリは40 、 000テキスト文字に制限されています。

  • 左側の [ Query Converterペインで以前の変換履歴を表示できます。 各変換には、変換の結果を示す アイコンがあります。 オブジェクトの横に アイコンがない場合、変換はまだ試行されていません。

    Icon
    説明

    スピナー

    変換が実行中です。

    緑色のチェックマーク

    変換は成功しました。

    赤色の句読点

    前回の試行では変換は失敗しました。

クエリ 変換によって生成されたコードは、本番環境に配置する前に、必ず確認とテストを行ってください。

1

[ Code Generationタブから、 Query Converterペインをクリックします。

2
  • プロジェクトでクエリ 変換を初めて使用する場合は、[ Import From Databaseをクリックします。

  • プロジェクトですでに SQL コードを変換している場合は、左側ペインの [ Manage Database Objects ] ボタンをクリックします。

3
  1. ソース データベースへの接続の詳細を指定します。

    詳細については、「リレーショナルデータベース接続文字列 」を参照してください。

  2. [Connect] をクリックします。

4
  1. Import Database Objectsモーダルで、データベースをクリックします。

  2. をクリックしますスキーマの横にある アイコン。

  3. をクリックしますViewsの横にあるアイコン。

  4. 変換するビューを選択するには、次をクリックします。ビュー名の横にあるアイコン。 デフォルトでは、すべてのビューが選択されています。

  5. [Save] をクリックします。

5
  1. 左側のペインからViewsの下のビューの名前をクリックします。

    SQL コードはImported Viewペインに表示されます。

  2. [ Convert ] ボタンをクリックします。 クエリ ドライバーがコードを変換するまで待ちます。

    変換された MongoDB コードはConverted MongoDB Queryペインに表示されます。

    クエリ 変換にエラーが発生した場合は、 Converted MongoDB Queryペインで詳細を表示できます。

  3. をクリックしますアイコンを使用して、MongoDB コードをクリップボードにコピーします。

  4. 生成された MongoDB コードをテストして検証します。

Tip

Filter テキスト ボックスを使用して、オブジェクト名 とSQL構文に基づいて、クエリ、保存済み手順、trigger、パッケージ、ビューをフィルタリングできます。

次の例は、 Northwind データベースの例から MongoDB コードに変換された PostgreSQL ビューを示しています。

クエリから MongoDB ビューを作成するには、次のようにします。

次の例は、MongoDB に変換された内部結合ビューを示しています。

SQL Syntax
MongoDB 構文
SELECT
O.ORDER_ID,
O.CUSTOMER_ID,
O.ORDER_DATE,
OD.UNIT_PRICE,
OD.DISCOUNT
FROM ORDERS AS O
INNER JOIN ORDER_DETAILS AS OD
ON O.ORDER_ID = OD.ORDER_ID;
async function query(db) {
return await db.collection('orders').aggregate(
[
{
$lookup:
{
from: "orderDetails",
localField: "orderId",
foreignField: "orderId",
as: "orderDetails"
},
},
{
$unwind: "$orderDetails",
},
{
$project:
{
orderId: 1,
customerId: 1,
orderDate: 1,
unitPrice: "$orderDetails.unitPrice",
discount: "$orderDetails.discount"
}
}
]
).toArray();
}

MongoDB でこのビューを作成する shell コマンドは次のとおりです。

db.createView("VW_OrderDetails", "orders",
[
{
$lookup:
{
from: "orderDetails",
localField: "orderId",
foreignField: "orderId",
as: "orderDetails"
},
},
{
$unwind: "$orderDetails",
},
{
$project:
{
orderId: 1,
customerId: 1,
orderDate: 1,
unitPrice: "$orderDetails.unitPrice",
discount: "$orderDetails.discount"
}
}
]
)

次の例では、MongoDB に変換されたビュー別の集計グループを示しています。

SQL Syntax
MongoDB 構文
SELECT
POSTAL_CODE,
COUNT(*) AS CUSTOMERCOUNT
FROM CUSTOMERS
GROUP BY POSTAL_CODE
ORDER BY CUSTOMERCOUNT DESC;
async function query(db) {
return db.collection('customers').aggregate(
[
{
$group:
{
_id: "$postal_code",
customercount: { $sum: 1 }
}
},
{
$sort: { customercount: -1 }
}
]
).toArray();
}

MongoDB でこのビューを作成する shell コマンドは次のとおりです。

db.createView("VW_Customers", "customers",
[
{
$group:
{
_id: "$postal_code",
customercount: { $sum: 1 }
}
},
{
$sort: { customercount: -1 }
}
]
)

戻る

トリガーを変換する