Using the ERD tool
==================

Entity-Relationship
DiagramERDツールは、データベーステーブル、列、および相互関係のグラフィカル表現を提供するデータベースデザインツールです。
ERDは、データベース管理者がデータベースを開発および保守する際に従うための十分な情報を提供できます。
ERDツールにアクセスするには、 **Tools > ERD Tool** を選択します。
ERDツールを使用すると、次のことができます。

- データベーステーブルとその関係をデザインおよび視覚化します。

- 図にノートを追加します。

- テーブルとリンクを揃えて、すっきりした外観にします。

- 図を保存し、後で開いて作業を続行します。

- データベースデザインからすぐに実行できるSQLを生成します。

- 既存のデータベースのデータベース図を生成します。

.. figure:: /images/erd_tool.png
   :width: 70% 
   :alt: ERD Tool

   ERD Tool

ERDツールの複数のコピーを個々のタブで同時に開くことができます。
ERDツールのコピーを閉じるには、タブバーの右上隅にある **X**
を選択します。

ツールバー
----------

ERDツールツールバーは、頻繁に実行されるタスクへのショートカットを提供する状況依存のアイコンを使用します。

ファイルオプション
------------------

.. csv-table::
  :header: Icon,Behavior,Shortcut
  :widths: 12,25,15
  :align: left
  :class: longtable

  Open File,保存した図をロードします。,Ctrl + O
  Save,保存した図に変更を保存するか、図をファイルに保存します。,Ctrl + S
  Save as,新しいダイアログボックスを開き、図を保存する新しい場所を指定します。,Ctrl + Shift + S

エクスポートオプション
----------------------

.. csv-table::
  :header: Icon,Behavior,Shortcut
  :widths: 12,25,15
  :align: left
  :class: longtable

  Generate SQL,図のDDL SQLを生成し、生成されたSQLを実行可能な状態でクエリツールを開きます。,Option + Ctrl + S
  Download image,ERD図を画像形式で保存します。,Option + Ctrl + I

編集オプション
--------------

.. csv-table::
  :header: Icon,Behavior,Shortcut
  :widths: 12,25,15
  :align: left
  :class: longtable

  Add table,新しいテーブルを図に追加します。テーブルダイアログボックスに、テーブルの詳細を入力します。,Option/Alt + Ctrl + A
  Edit table,図で選択したテーブルを編集します。テーブルダイアログボックスに、テーブルの詳細を入力します。,Option/Alt + Ctrl + E
  Clone table,完全なテーブル構造のクローンを作成し、自動生成された名前で名前を付けて、図に配置します。,Option/Alt + Ctrl + C
  Drop table/link,選択したテーブルまたはリンクをドロップします。,Option/Alt + Ctrl + D

テーブルリレーションシップオプション
------------------------------------

.. csv-table::
  :header: Icon,Behavior,Shortcut
  :widths: 12,25,15
  :align: left
  :class: longtable

  1M,1対多のリレーションシップダイアログボックスを開き、2つのテーブル間のリレーションシップを追加します。選択したテーブルは参照テーブルであり、リンクの`many`エンドポイントがあります。,Option/Alt + Ctrl + O
  MM,多対多のリレーションシップダイアログボックスを開き、2つのテーブル間のリレーションシップを追加します。このオプションは、2つの関連するテーブルの選択した列からリンクテーブルを作成します。,Option/Alt + Ctrl + M

ユーティリティオプション
------------------------

.. csv-table::
  :header: Icon,Behavior,Shortcut
  :widths: 12,25,15
  :align: left
  :class: longtable

  Add/Edit note,データベースの設計中に、テーブルノードにメモを作成します。,Option/Alt + Ctrl + N
  Auto align,すべてのテーブルとリンクを揃えて、見た目をすっきりさせます。,Option/Alt + Ctrl + L
  Show details,列の詳細を切り替えます。いくつかの列の詳細を表示することを選択することもできます。,Option/Alt + Shift + D

ズームオプション
----------------

.. csv-table::
  :header: Icon,Behavior,Shortcut
  :widths: 12,25,15
  :align: left
  :class: longtable

  Zoom to fit,自動的にズームイン/アウトし、すべてのテーブルをビューに合わせます。,Option/Alt + Shift + F
  Zoom in,図を拡大します。,"Option/Alt + Shift + ""+"""
  Zoom out,図をズームアウトします。,"Option/Alt + Shift + ""-"""

テーブルダイアログ
------------------

テーブルダイアログボックスを使用すると、次のことができます。

- テーブル構造の詳細を変更します。

- 既存のテーブルを編集するか、新しいテーブルを追加します。

テーブルノード
--------------

テーブルノードには、テーブルの詳細がグラフィカル表現で表示されます。

- トップバー

  - 列の詳細を表示するには、 **詳細トグル** を選択します。
  - ノートを追加すると、 **Note** が有効になります。ノートを変更するには
    **Note** を選択します。

- 最初の行には、例の\ ``public``
  のように、テーブルのスキーマ名が表示されます。

- 2行目には、例の\ ``users`` のように、テーブルの名前が表示されます。

- 残りの行には、テーブルの列名とそのデータ型が表示されます。

  - 例の\ ``id integer``
    のように、主キーである列がロックキーとして表示されます。
  - 他の列は、例の\ ``email character varying``
    のように、緑色の列として表示されます。

- ノードを選択して、キャンバスにドラッグします。

- テーブルダイアログボックスを開き、テーブルの詳細を変更するには、テーブルノードをダブルクリックするか、ツールバーの
  **Edit** を選択します。

1対多のリンクダイアログボックス
-------------------------------

.. figure:: /images/erd_1m_dialog.png
   :width: 70% 
   :alt: ERD Tool - One-to-Many Dialog Box

   ERD Tool - One-to-Many Dialog Box

1対多のリンクダイアログボックスを使用すると、次のことができます。

- 2つのテーブル間に外部キー関係を追加します。

- 別のテーブルを参照するローカルテーブルを選択します。ローカルテーブルには\ ``many``
  エンドポイントがあります。

- 別の列を参照するローカル列を選択します。

- 参照されるテーブルを選択します。参照テーブルには\ ``one``
  エンドポイントがあります。

- 参照される列を選択します。

多対多のリンクダイアログボックス
--------------------------------

多対多のリンクダイアログボックスを使用すると、次のことができます。

- 2つのテーブル間に多対多のリレーションシップを追加します。

- 2つのテーブルから派生するリンクされた列を含むリレーションテーブルを作成します。

- リンクされる最初のテーブルである左側のテーブルを選択します。左側のテーブルには、新しいリレーションテーブルとのリンクの\ ``one``
  エンドポイントがあります。

- 最初のテーブルの列である左側のテーブル列を選択します。左側のテーブルの列は主キーです。

- リンクされている2番目のテーブルである右テーブルを選択します。右テーブルには、新しいリレーションテーブルとのリンクの\ ``one``
  エンドポイントがあります。

- 2番目のテーブルの列である右テーブルの列を選択します。右テーブルの列は主キーです。

テーブルリンク
--------------

.. figure:: /images/erd_table_link.png
   :width: 70% 
   :alt: ERD Tool - Table Link

   ERD Tool - Table Link

テーブルリンクは、テーブル間の関係を示します。

- リンクの単線のエンドポイントは、参照である列を示します。

- リンクの3本線のエンドポイントは、参照する列を示します。

- 参照または参照している列のいずれかがテーブルから削除されると、リンクがドロップします。

- リンクを選択して、キャンバスにドラッグします。

テーブルノート
--------------

テーブルにノートを追加するには

1. ツールバーで、 **Add/Edit note** を選択します。

2. ウィンドウで、メモを入力します。

ノートがテーブルに追加されると、テーブルノードで **Note**
が有効になります。ノートを確認または更新するには、 **Note**
を選択します。
