メインコンテンツまでスキップ

編集を始める

編集は右クリックのコンテキストメニューから始めます。

キャンバスを右クリックして Relationship のサブメニューを確認し、テーブルを追加してその専用メニューを開く

テーブル、メモ、テーブルグループ、リレーションシップを右クリックした場合は、その項目専用のメニューが開きます。
すでに選択しているテーブル、メモ、テーブルグループを右クリックすると選択全体が維持されるため、Color や Delete selected などの項目は選択全体に適用されます。複数選択を参照してください。

ウェルカム画面​

Web アプリ、Google Drive、VS Code、Obsidian、JetBrains IDE では、空のダイアグラムを開くと ERD キャンバスの上にウェルカム画面が表示されます。自分のページに置いた <erd-editor> では、ページが enableWelcomeScreen で有効にした場合にのみ表示されます。
テーブルが 1 つもなく、表示されているメモもテーブルグループもない間、ダイアグラムは空とみなされます。そのため、View Option で非表示にしたメモやグループは数に入りません。ダイアグラムにそれらのいずれかが加わるとすぐに画面は消え、最後のテーブルを削除したときや最初のテーブルの追加を Undo したときのように、ダイアグラムが再び空になるたびに戻ってきます。
読み取り専用のエディタや Zen モードでは表示されず、テーブルのプロパティが開いている間や、Diff Viewer、自動レイアウトのプレビュー、Time Travel がキャンバスを占めている間も表示されません。

空のダイアグラムのウェルカム画面で Import の形式を開いて Esc で戻り、New Table でテーブルを追加してから ⌘ + Z で画面を戻す様子

Right-click the canvas for every action. という見出しの下に、次のメニューがあります。

  • New Table は、Alt + N と同じようにテーブルを追加します。
  • New Memo は、Alt + M と同じようにメモを追加します。メモが非表示の間は表示されません。
  • Import は、メニューを Back と、json、Schema SQL、GraphQL、DBML、AML の各形式に切り替えます。形式を選ぶとその形式のファイルを選択するよう求められ、空のダイアグラムの代わりにそのファイルが読み込まれます。ファイルの読み込みと書き出しを参照してください。Back または Escape で最初のメニューに戻ります。
  • Command Palette は、Ctrl + K (Windows/Linux) または ⌘ + K (Mac) と同じようにクイック検索を開きます。
  • Shortcuts は、設定を Shortcuts タブで開きます。

キャンバスの幅が十分にある場合、New Table、New Memo、Command Palette には、ホストが割り当て直したキーも含め、それぞれのコマンドに現在割り当てられているキーが表示されます。
項目にキーボードフォーカスがあるときは、↑ と ↓ で項目間を移動して両端で折り返し、Home と End で最初と最後の項目へ移動し、Enter または Space でフォーカスしている項目を押します。ほかのショートカットもすべてそのまま動作するため、そこから Alt + N でテーブルを追加することもできます。
クリックを受け付けるのはメニューだけです。画面のそれ以外の場所を押すとキャンバスに届き、キャンバスを右クリックすると通常どおりコンテキストメニューが開きます。

キャンバスに余裕がある場合は、手書き風の矢印が次のものを指します。

  • ツールバーの Search ボタン: Search commands and tables
  • Theme と Display Language のボタン: Pick a theme and a language。ツールバーにどちらか一方しか表示されていない場合は Pick a theme または Pick a language。言語とテーマを参照してください。
  • 下部のキャンバスツールバー: Pan, zoom and draw relationships

テーブルの作成​

コンテキストメニュー、またはショートカット Alt + N でテーブルを作成します。

メモの作成​

コンテキストメニュー、またはショートカット Alt + M でメモを作成します。
View Option → Memos がオフの間はメモが非表示になり、New Memo はどこにも表示されず、Alt + M でもメモは追加されません。テーブルの表示オプションを参照してください。

メモはキャンバス上に自由に入力できるノートです。本文をクリックして入力すると、テキストはドキュメントとともに保存されます。
Escape でメモの編集を終了すると、入力した内容は残り、メモは選択されたままになります。もう一度 Escape を押すと選択が解除されます。
枠線をドラッグするとサイズを変更できます。ヘッダーの x はポインタがメモの上にある間だけ表示され、メモを削除します。
メモを右クリックすると、エディタではなくメモのメニューが開きます。メニューには Color、選択している対象のいずれかに色が付いている間は Remove color、そして Delete があり、Delete はメモが選択している 2 つ以上の対象の 1 つである間は Delete selected と表示されます。選択しているメモは、テーブルを削除するキーでも削除されます。テーブルとメモの削除を参照してください。

Alt + M でメモを追加し、テキストを入力して枠線のドラッグでサイズを変更

テーブルグループの作成​

テーブルグループはテーブルをまとめる枠で、名前と色を付けられます。次の 2 つの方法で作成します。

  • コンテキストメニューまたはクイック検索から New Table Group を選び、キャンバス上で枠をドラッグします。中心が枠の内側にあるテーブルは、すでにほかのグループに属していない限り、新しいグループに加わります。
  • テーブルを選択し、テーブルのコンテキストメニューから Group selected tables を、またはクイック検索から Group Selected Tables を選びます。

どちらにもショートカットはありません。名前や色の設定、移動、サイズの変更などについては、テーブルグループを参照してください。

リレーションシップの作成​

コンテキストメニュー、キャンバス下部のキャンバスツールバー、またはショートカットでリレーションシップを開始します。種類ごとにショートカットが異なります。

  • Zero One: Ctrl + Alt + 1 (Windows/Linux) or ⌘ + ⌥ + 1 (Mac)
  • Zero N: Ctrl + Alt + 2 (Windows/Linux) or ⌘ + ⌥ + 2 (Mac)
  • One Only: Ctrl + Alt + 3 (Windows/Linux) or ⌘ + ⌥ + 3 (Mac)
  • One N: Ctrl + Alt + 4 (Windows/Linux) or ⌘ + ⌥ + 4 (Mac)

種類を選択するとカーソルが変わります。先に親テーブルをクリックし、次に子テーブルをクリックします。
親テーブルに主キーがない場合は主キーが作成され、子テーブルには親テーブルの主キーカラムごとに、データ型、既定値、コメントが同じで Not Null を設定した外部キーカラムが作成されます。
ただし serial のキーは例外で、その外部キーには、serial4 に対する integer のように serial が格納する整数型が使われます。識別リレーションシップを参照してください。
各外部キーカラムの名前は元のキーに基づいて付けられます。id のような 1 語の名前には親テーブルの名前が前に付き(user_id)、member_id のような複数語の名前はそのまま使われ、子テーブルにすでにある名前には番号が付きます(user_id_2)。外部キーカラムの名前を参照してください。
同じテーブルを 2 回クリックすると自己参照のリレーションシップになります。
新しく作成したリレーションシップの On Delete と On Update は、どちらも Not set です。リレーションシップのコンテキストメニューから変更できます。ON DELETE と ON UPDATEを参照してください。
Escape を押すか、同じショートカットをもう一度押すとキャンセルします。キャンセルしても選択はそのまま残り、次の Escape で選択が解除されます。

親テーブルを選んだ後、リレーションシップの終点にできるテーブルにポインタを重ねると、そのテーブルが枠線で囲まれ、その横に 2 つのボタンが表示されます。

  • Create new columns(+)は、テーブルをクリックしたときと同じように、新しい外部キーカラムを追加してリレーションシップを作成します。
  • Map to existing columns(リンクのアイコン)は、リレーションシップの作成を終了して 2 つのテーブルの Map Columns を開きます。そのため、子テーブルにすでにあるカラムをリレーションシップに使えます。Map を押すまでは何も書き込まれません。

親テーブルでも、クリックした位置からポインタを少し動かすとボタンが表示されるため、自己参照のリレーションシップも既存のカラムに対応付けられます。
指にはホバーがないため、指で作成するとボタンは表示されず、子テーブルをタップするとすぐにリレーションシップが作成されます。ペンでは、マウスと同じようにボタンが表示されます。
子テーブルに到達するまでに、Undo や共同編集者の編集などによって親テーブルの主キーがなくなった場合、Create new columns は淡い色で表示されて <parent> has no primary key to copy というツールチップが付き、子テーブルをクリックすると、何も作成されないままリレーションシップの作成が終了します。

⌘ + ⌥ + 4 で One N、キャンバスツールバーから Zero N のリレーションシップを作成し、子テーブルが枠線で囲まれて横に Map to existing columns と Create new columns のボタンが表示される様子

テーブルとメモの複製​

既存のテーブルとメモは、コピー、貼り付け、Alt を押しながらのドラッグで複製できます。テーブル関連機能を参照してください。