3.3 「Data Modeler」ページ

「Data Modeler」ページには、基本的なレポート機能を備えたOracle SQL Developer Data Modelerの統合バージョンがあります。既存のスキーマからのダイアグラムの作成、データ・ディクショナリ情報の取得、DDL文の生成、およびダイアグラムのエクスポートを実行できます。

「Data Modeler」ページにナビゲートするには、次のいずれかを実行します。

  • 「起動パッド」ページで、「Data Modeler」をクリックします。

  • セレクタ セレクタ・アイコン をクリックして、ナビゲーション・メニューを表示します。「開発」で、「Data Modeler」を選択します。

「Data Modeler」ページは、オブジェクトおよびダイアグラムをナビゲートするための左ペイン、リレーショナル・ダイアグラムを操作するためのエディタ・ペイン、およびダイアグラムで選択されたオブジェクトのプロパティを表示するための右ペインで構成されます。次の項ではこれらの拡張機能について説明します。

3.3.1 ダイアグラムおよびオブジェクトのナビゲート

「ダイアグラム」タブには、保存されたData Modelerダイアグラムがリストされます。

ダイアグラムを右クリックすると、プロパティを開くためのオプションやプロパティを保存、削除および表示するためのオプションがあります。図3-10は、左側のペインでダイアグラムの名前をクリックすると表示されるサムネイル・プレビューを示しています。

図3-10 Data Modelerでのダイアグラムのプレビュー

図3-10の説明が続きます
「図3-10 Data Modelerでのダイアグラムのプレビュー」の説明
  • 新規のダイアグラムを作成するには、「ダイアグラム」タブで、「新規ダイアグラム」新規ダイアグラムをクリックします。

  • 既存のダイアグラムを開くには、「ダイアグラム」タブでダイアグラムを右クリックし、「開く」をクリックします。

ノート:

ダイアグラムは、Database Actionsユーザー・スキーマのデータベースに格納されます。Data Modelerを初めて使用するときに、ダイアグラムを格納するためのOSDDMW_DIAGRAMS表がスキーマに作成されます。

接続が指定されている場合、Oracle SQL Developer Data ModelerではOSDDMW_DIAGRAMS表からのインポートまたはこの表へのエクスポートが可能です。詳細は、SQL Developer Data Modelerを使用したダイアグラムの共有に関する項を参照してください。

「ナビゲータ」タブには、各スキーマで使用可能なオブジェクトがリストされます。ドロップダウン・リストからスキーマおよびオブジェクト型を選択できます。特定のスキーマの場合、表オブジェクトを選択すると、その特定のスキーマに属するすべての表が左ペインに表示されます。表を展開すると、その列を表示できます。図3-11は、「ナビゲータ」タブの重要な要素を示しています。

スキーマ内では、「ナビゲータ」タブでいくつかの文字を入力してオブジェクトを検索できます。保存されたダイアグラムの内容を検索することもできます。検索機能では大/小文字が区別されず、一致するエントリがすべて取得され、ワイルドカード文字を使用する必要はありません。

図3-11 「ナビゲータ」タブ

図3-11の説明が続きます
「図3-11 「ナビゲータ」タブ」の説明

表またはビューのコンテキスト・メニューは、次のもので構成されます。

ダイアグラムへのオブジェクトの追加: 選択したオブジェクトを選択したダイアグラムに追加します。また、選択したダイアグラムにオブジェクトをドラッグ・アンド・ドロップすることもできます。

依存性のあるオブジェクトをダイアグラムに追加: 選択したオブジェクトを、そのオブジェクトに関連する親表と子表とともに、選択したダイアグラムに追加します。

オブジェクトをスター・スキーマとしてダイアグラムに追加: 選択したオブジェクトをダイアグラムに追加し、データ・ディクショナリでオブジェクトに関連する外部キーおよび暗黙外部キーを検索します。関連する表またはビューがダイアグラムに追加され、スター・スキーマ・レイアウトが適用されます。暗黙外部キーを参照してください

編集、テンプレートとして使用: 「表のプロパティ」ダイアログを開きます。特定のスキーマの既存のオブジェクト(表やビューなど)を編集したり、初期コンテンツに既存のオブジェクトを使用して新規オブジェクトを作成する場合に使用します。「表のプロパティ」ダイアログおよび「ビューのプロパティ」ダイアログを参照してください。

順序の追加/編集: 「順序のプロパティ」ダイアログを開きます。選択されたスキーマの順序を作成または編集する場合に使用します。「順序のプロパティ」ダイアログを参照してください。

索引の追加: 「索引のプロパティ」ダイアログを開きます。表の索引を作成する場合に使用します。「索引のプロパティ」ダイアログを参照してください。

シノニムの追加: 「シノニムのプロパティ」ダイアログが開きます。選択したスキーマ内の表またはビューのシノニムを作成する際に使用します。「シノニムのプロパティ」ダイアログを参照してください

3.3.2 Data Modelerエディタについて

エディタ・ペインで、リレーショナル・ダイアグラムを作成および操作できます。

ダイアグラムでオブジェクトを選択すると、右ペインでオブジェクトのプロパティを調査できます。表の場合、表示されるプロパティは、「列」、「主キー」、「一意制約」、「索引」、「外部キー」、「コメント」および「色」です。編集できるプロパティは背景および境界線の色のみです。デフォルトの色に戻るには、「リセット」リセットをクリックします。

図3-12は、エディタ・ペインで選択したオブジェクトのプロパティを示しています。

右上隅のサムネイル・ビューアをドラッグすると、エディタ・ペインの適切な領域を表示できます。これは、エディタ・ペインで長いダイアグラムを操作している場合に便利です。

図3-12 エディタ・ペインで選択したオブジェクトのプロパティの調査

図3-12の説明が続きます
「図3-12 エディタ・ペインで選択したオブジェクトのプロパティの調査」の説明

ダイアグラムを作成する際、次のことが行えます。

  • オブジェクトを選択し、ドラッグして移動します。

  • 関係のないオブジェクトを調整または移動します。

  • 他のオブジェクトから行と交差しないように、関係線に角を追加します。関係線を右クリックしてドラッグし、角を作成します。「頂点の削除」頂点の削除をクリックして、元の図形にリストアします。

  • ボックスを囲むハンドルをドラッグして、オブジェクトのサイズを変更します。

  • 次のオプションのオブジェクトを選択して右クリックします。

    • DDLプレビュー: オブジェクトのDDL文を表示します。

    • 更新: オブジェクトに対して実行されたアクションを更新します。

    • 削除: オブジェクトを削除します。

    • 編集: 表オブジェクトを編集するための「表のプロパティ」ダイアログまたはビュー・オブジェクトの「ビューのプロパティ」ダイアログを開きます。

    • 暗黙外部キー: 「暗黙外部キー」ダイアログを開きます。このオプションを使用して、オブジェクトの暗黙外部キーを定義します。暗黙外部キーを参照してください

    • JSONデータ・ガイドの表示: 表またはビューのJSONデータ・ガイド・ダイアグラムを開きます。JSONデータ・ガイドの表示についてを参照してください

ツールバー上のアイコンは次のとおりです。

  • ダイアグラムを保存: 現在選択しているダイアグラムを保存します。ダイアグラムは、ユーザーのスキーマ内に作成される表に格納されます。

  • ダイアグラムの印刷: 選択したダイアグラムを印刷します。

  • SVGに保存: 現在選択しているダイアグラムをSVG形式のイメージ・ファイルに保存します。

  • オブジェクトをダイアグラムに追加: ダイアログが表示され、特定のスキーマから選択済ダイアグラムに、表またはビューのタイプの1つ以上のオブジェクトを選択できます。*を入力すると、スキーマ内のオブジェクト型(表またはビュー)のすべてのオブジェクトのリストが表示されます。いくつかの文字を入力して検索することもできます。

  • ノートの追加: 選択したダイアグラムにノートを追加します。ノートを選択してテキストを追加すると、右ペインに、「フォント・サイズ」や「色」などの関連するプロパティが表示されます。

    • テキストを入力するには、テキストを展開して情報を入力します。「適用」をクリックします。

    • ノートの背景、境界またはテキストの色を選択するには、ボックスをクリックして必要な色を選択します。デフォルトの色に戻すには、「リセット」リセットをクリックします。

  • 削除: 選択したオブジェクトをダイアグラムから削除します。複数のオブジェクトを選択するには、[Ctrl]キーを押しながらオブジェクトを選択します。

  • ズーム・イン: 現在選択しているダイアグラムに詳細を表示します。表示されるオブジェクトは少なくなります。

  • ズーム・アウト: 現在選択しているダイアグラムを概略的に表示します。表示されるオブジェクトは多くなります。

  • 画面に合わせる: 関連するすべてのオブジェクトを現在選択しているダイアグラムのウィンドウにあわせ、必要な場合は図形およびテキスト・ラベルの大きさを調節します。

  • 実際のサイズ: 現在選択しているダイアグラムの図形とテキスト・ラベルをデフォルト・サイズに調整します。

  • レイアウト: 自動レイアウト: ダイアグラム内のオブジェクトを、より意味があり体裁がよいと考えられるレイアウトに再配置します。再配置に不満がある場合は、「元に戻す」をクリックすると、以前のレイアウトにリストアできます。

  • レイアウト: スター・レイアウト: ダイアグラム内のオブジェクトをスター・スキーマ・レイアウトで再配置します。スター・スキーマ・レイアウトでは、ファクト表は中央に配置され、関連するディメンション表はファクト表のまわりに配置されます。

  • DDLプレビュー: オブジェクトのDDL文を表示します。DDL文をワークシートに保存または送信するオプションがあります。表示する対象を選択するには、「オプション」をクリックします。

  • 現在のスキーマのDDLプレビュー: 現在のスキーマのDDL文を表示します。DDL文をワークシートに送信できます。

  • ダイアグラム・レポート: ダイアグラム内のすべての内容のデータ・ディクショナリ・レポートを生成します。

  • スキーマ・レポート: スキーマ内のすべての内容のデータ・ディクショナリ・レポートを生成します。

  • ヘルプ: データ・モデリング・エディタのヘルプを表示します。

3.3.2.1 JSONデータ・ガイドの表示について

JSONデータ・ガイドは、JSONコンテンツを含む1つの列のドキュメントのJSONスキーマを表します。1つの表に、JSONコンテンツを持つ複数の列を含めることができます。

「JSONデータ・ガイドの表示」オプションは、Data Modelerダイアグラムの表またはビューのコンテキスト・メニューで使用できます。

これは、JSONコンテンツを含む列を持つ表、ビューおよび外部表に適用できます。JSONコンテンツを含む列が識別され、該当する各列のデータ・ガイドが取得されます。JSON検索索引が存在すると、このプロセスはより迅速に行われます。

JSONスキーマ(JSONデータ・ガイド)は、エンティティ関係ダイアグラムのように視覚的に表示されます。配列は1対多の関係として表され、この配列に、1対1の関係としてオブジェクトが含まれ、可能な選択肢を囲むボックスとしてoneOf構造が含まれます。ページの右上には、ダイアグラム表示用のJSONコンテンツを含む列を選択できる列セレクタがあります。

データ・ガイド・ダイアグラムでのJSONスキーマとその表現の例を次に示します。

{
  "type" : "object",
  "properties" :
  {
    "User" :
    {
      "type" : "string",
      "o:length" : 8,
      "o:preferred_column_name" : "DATA$User"
    },
    "PONumber" :
    {
      "type" : "number",
      "o:length" : 4,
      "o:preferred_column_name" : "DATA$PONumber"
    },
    "LineItems" :
    {
      "type" : "array",
      "o:length" : 1024,
      "o:preferred_column_name" : "DATA$LineItems",
      "items" :
      {
        "properties" :
        {
          "Part" :
          {
            "type" : "object",
            "o:length" : 256,
            "o:preferred_column_name" : "DATA$Part",
            "properties" :
            {
              "UPCCode" :
              {
                "type" : "number",
                "o:length" : 16,
                "o:preferred_column_name" : "DATA$UPCCode"
              },
              "UnitPrice" :
              {
                "type" : "number",
                "o:length" : 8,
                "o:preferred_column_name" : "DATA$UnitPrice"
              },
              "Description" :
              {
                "type" : "string",
                "o:length" : 128,
                "o:preferred_column_name" : "DATA$Description"
              }
            }
          },
          "Quantity" :
          {
            "type" : "number",
            "o:length" : 4,
            "o:preferred_column_name" : "DATA$Quantity"
          },
          "ItemNumber" :
          {
            "type" : "number",
            "o:length" : 1,
            "o:preferred_column_name" : "DATA$ItemNumber"
          }
        }
      }
    },
    "Reference" :
    {
      "type" : "string",
      "o:length" : 32,
      "o:preferred_column_name" : "DATA$Reference"
    },
    "Requestor" :
    {
      "type" : "string",
      "o:length" : 16,
      "o:preferred_column_name" : "DATA$Requestor"
    },
    "CostCenter" :
    {
      "type" : "string",
      "o:length" : 4,
      "o:preferred_column_name" : "DATA$CostCenter"
    },
    "ShippingInstructions" :
    {
      "type" : "object",
      "o:length" : 256,
      "o:preferred_column_name" : "DATA$ShippingInstructions",
      "properties" :
      {
        "name" :
        {
          "type" : "string",
          "o:length" : 16,
          "o:preferred_column_name" : "DATA$name"
        },
        "Phone" :
        {
          "type" : "array",
          "o:length" : 64,
          "o:preferred_column_name" : "DATA$Phone",
          "items" :
          {
            "properties" :
            {
              "type" :
              {
                "type" : "string",
                "o:length" : 8,
                "o:preferred_column_name" : "DATA$type"
              },
              "number" :
              {
                "type" : "string",
                "o:length" : 16,
                "o:preferred_column_name" : "DATA$number"
              }
            }
          }
        },
        "Address" :
        {
          "oneOf" :
          [
            {
              "type" : "string",
              "o:length" : 1,
              "o:preferred_column_name" : "DATA$Address"
            },
            {
              "type" : "object",
              "o:length" : 128,
              "o:preferred_column_name" : "DATA$Address_1",
              "properties" :
              {
                "city" :
                {
                  "type" : "string",
                  "o:length" : 32,
                  "o:preferred_column_name" : "DATA$city"
                },
                "state" :
                {
                  "type" : "string",
                  "o:length" : 2,
                  "o:preferred_column_name" : "DATA$state"
                },
                "street" :
                {
                  "type" : "string",
                  "o:length" : 32,
                  "o:preferred_column_name" : "DATA$street"
                },
                "country" :
                {
                  "type" : "string",
                  "o:length" : 32,
                  "o:preferred_column_name" : "DATA$country"
                },
                "zipCode" :
                {
                  "type" : "number",
                  "o:length" : 8,
                  "o:preferred_column_name" : "DATA$zipCode"
                }
              }
            }
          ]
        }
      }
    },
    "Special Instructions" :
    {
      "type" : "string",
      "o:length" : 16,
      "o:preferred_column_name" : "DATA$SpecialInstructions"
    }
  }
}

図3-13 JSONデータ・ガイド・ダイアグラム

図3-13の説明が続きます
「図3-13 JSONデータ・ガイド・ダイアグラム」の説明