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

テーブルグループ

テーブルグループは、ERD キャンバス上で関連するテーブルの背後に描かれる、名前と色の付いた枠で、どのテーブルがまとまりをなしているかを示します。
テーブルが属するグループは最大 1 つです。グループは、各テーブルがどのグループに属しているかとともに、ダイアグラムに保存されます。

枠の上部にはタイトルバーがあり、グループのアイコン、太字のグループ名、そしてポインタがグループの上にある間はグループを削除する x が並びます。グループの削除を参照してください。名前のないグループは unnamed と表示され、バーに収まらない長い名前は … で切り詰められます。
枠は常にそのテーブルを内側に収めます。枠は指定されたサイズを保ちますが、各テーブルの周囲に 24px の余白を、その上にタイトルバーを確保してテーブルを内側に収めるために広がります。テーブルが大きくなると枠もそれに合わせて広がり、中心が枠の内側にあるまま端の近くにドロップしたテーブルでも同じように広がります。テーブルをドラッグしている間は、枠は広がりも縮みもしません。この広がりは保存されません。テーブルがその余白を必要としなくなると、枠は本来のサイズに戻ります。

グループは、キャンバス上のほかのすべてのもの、つまりテーブル、メモ、リレーションシップの線の背後に描かれます。
グループが重なる場所では、最後に押されたか追加されたグループが前面に描かれ、どのグループの本体もほかのグループのタイトルバーを覆うことはありません。この順序は保存されないため、ダイアグラムを開き直すと、グループは追加された順に重なります。
グループは ERD キャンバス、ミニマップ、書き出した画像に表示されます。Visualization タブは、どちらのモードでもグループもグループの色も描画しません。

コーディングエージェントもグループを作成、変更でき、選んだグループの DDL を読み取れます。MCP のツールのテーブルグループを参照してください。

New Table Group で orders と payments を囲むようにグループを描いて Billing と名前を付け、order_items をドロップで加えてから、グループを移動してサイズを変更する様子

グループの作成​

グループを作成する方法は 2 つあります。どちらにもショートカットやキャンバスツールバーのボタンはなく、読み取り専用のエディタや、グループを非表示にしている間はどちらも使えません。

グループの描画​

キャンバスのコンテキストメニュー(New Table と New Memo の後にあります)、または ERD タブのクイック検索から New Table Group を選びます。続いて、キャンバス上で枠をドラッグします。
描画の準備ができている間はカーソルが十字になり、押した位置がテーブルの上であっても、その下にあるものを選択したり移動したりせずに、その位置から枠を描き始めます。この間、キャンバスツールバーではハンドもポインタも選択された状態になりません。

ボタンを離すと、その枠にグループが追加されます。ドラッグがどれほど短くても、グループはタイトルバーを含めて幅 160px、高さ 100px より小さくなりません。ドラッグせずにクリックすると、クリックした位置を左上の角として、幅 480px、高さ 320px のグループが追加されます。
どのグループにも属しておらず、中心が新しい枠の内側にあるテーブルは、すべてそのグループに加わります。すでにほかのグループに属しているテーブルは、そのグループに残ります。

マウスの中ボタンでは引き続きキャンバスの表示位置を移動でき、描画の準備は解除されません。次の操作では、グループを追加せずに描画を終了します。

  • 押す前またはドラッグ中の Escape。押す前であれば選択はそのまま残ります。枠を描き始める押下の時点で、選択はすでに解除されています。
  • 右クリック。選択が解除され、コンテキストメニューは開きません。
  • Space またはキャンバスツールバーでのハンドツールへの切り替え、ツールバーのポインタのクリック、リレーションシップの開始。
  • ほかのタブへの切り替え、グループの非表示、エディタの読み取り専用への切り替え。

選択したテーブルのグループ化​

1 つ以上のテーブルを選択し、テーブルのコンテキストメニューから Group selected tables を選ぶか、クイック検索から Group Selected Tables を選びます。クイック検索では、テーブルを選択している間この項目が表示されます。
新しいグループは、選択しているテーブルを囲むように、四方に 24px の余白を、上にタイトルバーを設けて描かれます。選択しているテーブルはすべて、それまで属していたグループを離れて新しいグループに加わり、離れた元のグループは空になっても残ります。選択に含まれるメモは対象外です。

categories と products を Group selected tables でグループにまとめて Catalog と名前を付け、グループのメニューから紫色を付けて両方のヘッダーにその色が付く様子

どちらの方法でも、新しいグループには名前も色もありません。新しいグループだけが選択された状態になり、すぐに名前を入力できるよう、タイトルバーの上に名前の入力欄が開きます。グループの名前の設定を参照してください。
グループの追加とそれに加わるテーブルで Undo の 1 ステップになり、入力した名前はもう 1 つのステップになります。

グループの名前の設定​

グループの名前は、タイトルバーの上に開く入力欄で編集します。入力欄は、グループを作成したときに自動的に開くほか、タイトルバーをダブルクリックしたときと、グループのコンテキストメニューで Rename を選んだときに開きます。
Enter を押すか、ほかの場所をクリックすると名前が保存されます。Escape を押すと名前を変えずに入力欄が閉じてグループは選択されたままになり、もう一度 Escape を押すと選択が解除されます。
名前の変更は Undo の 1 ステップになります。名前を変えずに保存した場合は何も記録されません。空または空白だけの名前は unnamed と表示されます。
入力欄が開いている間は、テーブルのセルを編集している間と同じように、キャンバスのショートカットは保留され、クイック検索のショートカットも検索と置換のショートカットも何も開きません。

グループの名前は、クイック検索でも検索と置換でも検索されません。

グループの色指定​

グループのコンテキストメニューで Color を選ぶと、グループの色を示した状態でカラーピッカーが開きます。
テーブルやメモと同じく、ピッカーは選択しているすべてのテーブル、メモ、グループに色を付け、メニューの Remove color またはピッカーの No color で、それらすべての色を外します。テーブルとメモの色指定を参照してください。グループの色は、ピッカーの Document colors にも表示されます。

色の付いたグループは、タイトルバーと枠線をその色で、本体をその色の淡い色合いで描きます。色のないグループは、テーマのニュートラルなグレーを使います。
色の付いたグループに属する各テーブルは、ヘッダー全体にグループの色が付き、左端には自身の色が残るため、両方の色が表示されます。
そのようなヘッダーの文字とボタンは白になり、黒のほうがはるかに読みやすい明るい色では黒になります。グループのタイトルバーの名前、アイコン、x も同様です。ピッカーのプリセットの色見本のうち、Orange、Amber、Yellow、Lime は黒になり、それ以外は白になります。
グループに色がない間、グループを非表示にしている間、テーブルが名前だけの表示に折りたたまれる 70% 以下の拡大・縮小のレベル、そして Visualization タブでは、テーブルは自身のヘッダーのままです。

色の変更は、テーブルやメモと同じように Undo の履歴に記録されます。

グループの選択​

グループのタイトルバーをクリックするとそのグループだけが選択され、Ctrl + click (Windows/Linux) または ⌘ + click (Mac) すると選択に加わります。
すでに選択しているグループのタイトルバーを押すと選択全体が維持されるため、そのままドラッグすると選択全体が移動します。
タイトルバーを押すか、グループを右クリックすると、そのグループがほかのグループの前面に移り、そのテーブルがほかのすべてのテーブルとメモの前面に移ります。

本体、つまりタイトルバーの下の領域は、マウスの左ボタンに対してはキャンバスとして扱われます。ドラッグすると表示位置が移動し、Ctrl + drag (Windows/Linux) または ⌘ + drag (Mac) で選択範囲を描き、クリックすると選択が解除されます。本体の上にあるテーブル、メモ、リレーションシップの線は、通常どおりポインタの操作に応じます。

選択範囲がグループを選択するのは、グループの枠全体を囲んだときだけです。そのため、グループの内側に選択範囲を描くと、グループを含めずにテーブルだけを選択できます。複数選択を参照してください。
Ctrl + A (Windows/Linux) または ⌘ + A (Mac) でグループが選択されることはありません。

グループのコンテキストメニューの Select tables は、グループ自体を除いて、選択をグループのテーブルに置き換えるため、次のコマンドはテーブルだけに適用されます。
コピーやテーブルへのフォーカスのように、テーブルだけに作用し、選択しているグループを対象にしないコマンドの前に使います。

選択しているグループの枠線は選択の色になります。共同編集のセッションでは、ほかの参加者が選択しているグループが、その参加者の色で囲まれます。

グループの移動とサイズ変更​

グループのタイトルバーをドラッグすると、グループがそのすべてのテーブルとともに移動します。
グループがより大きな選択の一部である場合は選択全体が一緒に移動し、選択していて、かつそのグループにも含まれるテーブルは 1 回だけ移動します。
ドラッグはポインタが少し動いてから始まるため、タイトルバーのクリックやダブルクリックはクリックのまま扱われます。タイトルバーを Alt + drag すると、通常のドラッグと同じようにグループが移動します。グループが複製されることはありません。
移動は、それに伴って動くすべてのテーブルを含めて Undo の 1 ステップです。

テーブル自体をドラッグすると、そのテーブルだけが移動し、グループに入れたりグループから出したりできます。テーブルの追加と削除を参照してください。

メモと同じように、どのグループにも、選択しているかどうかにかかわらず、4 つの辺と 4 つの角にサイズ変更のハンドルがあります。
ハンドルをマウスの左ボタンでドラッグすると、枠がポインタに追従し、ボタンを離した時点で新しいサイズが Undo の 1 ステップとして保存されます。
グループは幅 160px、高さ 100px より小さくできず、24px の余白とタイトルバーを含めたテーブルの範囲よりも小さくできません。ポインタをどれだけ動かしても、辺はそこで止まります。

テーブルの追加と削除​

テーブルは、ドロップした位置によってグループに加わったりグループから外れたりします。
テーブルをドラッグしてボタンを離すと、選択しているグループに連れられて動いたのではない各テーブルが、その中心の位置で判定されます。テーブルは、中心を枠の内側に含むグループのうち最も上にあるグループに加わり、中心がどのグループの枠の内側にもない場合は、属していたグループから外れます。最も上にあるグループとは、最も前面に描かれているグループです。
ドラッグで動かないグループは、ドラッグを始めた時点の枠を保つため、自身のグループ内で少しずらしたテーブルはそのグループに残ります。グループから外すには、中心がその枠の外に出るまでドラッグする必要があります。
ドラッグしている間は、ドロップするとテーブルが加わることになる各グループに輪郭線が表示されます。

最後に動かしてから約 200ms 以内にボタンを離した場合、グループの変更はドラッグの Undo のステップに含まれるため、1 回の Undo でテーブルが元の位置と元のグループに戻ります。ボタンを離す前にそれより長く止まった場合、グループの変更は独立した 1 ステップになります。1 回の操作は 1 ステップを参照してください。
クリックや数ピクセルのドラッグではグループは変わらず、グループを非表示にしている間は、どのテーブルのグループも変わりません。

グループに含まれるテーブルを変更するほかの方法は次のとおりです。

  • テーブルのコンテキストメニューの Remove from group は、選択しているすべてのテーブルをそれぞれのグループから外します。選択しているテーブルがグループに属している間は、グループを非表示にしていても表示され、Undo の 1 ステップになります。
  • Group selected tables は、選択しているテーブルを新しいグループに移します。選択したテーブルのグループ化を参照してください。
  • グループを削除すると、そのテーブルはどのグループにも属さなくなります。

貼り付けたテーブルや Alt で複製したテーブルは、グループの枠の内側に置かれた場合でもどのグループにも属しません。その後でドラッグすると、ドロップの規則が適用されます。

グループの削除​

グループを削除しても、そのテーブルが削除されることはありません。テーブルはその場に残り、どのグループにも属さない状態になります。

  • タイトルバーの末尾にある x は、ポインタがグループの上にある間に表示され、そのグループだけを削除します。
  • グループのコンテキストメニューの Delete は、そのグループを削除します。グループが選択している 2 つ以上の対象の 1 つである場合、項目は Delete selected と表示され、テーブル、メモ、グループを問わず、選択しているものをすべて削除します。
  • グループを選択している場合、Delete または Backspace で、選択しているグループが、選択しているテーブルやメモとともに削除されます。Ctrl + Backspace と Ctrl + Delete (Windows/Linux)、⌘ + Backspace と ⌘ + Delete (Mac) も同様です。テーブルとメモの削除を参照してください。

削除は 1 回ごとに Undo の 1 ステップで、Undo するとグループがそのテーブルを含んだ状態で戻ります。

グループのメニュー​

グループのタイトルバー、本体、または縁を右クリックすると、そのメニューが開きます。Mac では Ctrl + click でも開き、タッチスクリーンでは長押しでも開きます。
右クリックはまずグループを選択します。グループがすでに選択に含まれていない限り、選択されるのはそのグループだけです。そのため、Color と Delete selected が選択のほかの対象にも適用されるのは、グループがすでに選択に含まれていた場合だけです。

  • Select tables: グループのテーブルだけを選択します。グループの選択を参照してください。
  • Rename: 名前の入力欄を開きます。グループの名前の設定を参照してください。
  • Color: カラーピッカーを開きます。グループの色指定を参照してください。
  • Remove color: 選択している対象のいずれかに色が付いている間に表示されます。
  • Delete、またはグループが選択している 2 つ以上の対象の 1 つである場合は Delete selected。どちらも右側に Delete キーが表示されます。グループの削除を参照してください。

テーブルのコンテキストメニューには、Color と Remove color の後、削除の項目の前に Group selected tables と Remove from group が加わり、キャンバスのコンテキストメニューには New Table Group が加わります。

グループの非表示​

キャンバスのコンテキストメニューの View Option → Table Groups で、すべてのグループを表示または非表示にします。既定ではチェックが付いています。テーブルの表示オプションを参照してください。
チェックを外すと、グループの枠とテーブルのヘッダーに付くグループの色が、キャンバス、ミニマップ、書き出した画像から消え、スクロールバーとミニマップはグループのための範囲を確保しなくなります。何も移動したりサイズが変わったりせず、すべてのテーブルは自身のグループに属したままです。
グループを非表示にすると、グループの選択が解除され、New Table Group の描画が終了し、開いている名前の入力欄が閉じます。

グループを非表示にしている間は、次のようになります。

  • メニューに New Table Group と Group selected tables は表示されず、クイック検索にも New Table Group と Group Selected Tables は表示されません。Remove from group は引き続き表示されます。
  • テーブルをドラッグしてもグループは変わらず、選択範囲はグループを選択しません。
  • 自動レイアウトは引き続き各グループのテーブルをまとめたまま配置し、Schema SQL タブでは引き続きグループを選べ、DBML にも引き続きグループが書き出され、Import and Add は引き続き非表示の枠の下に追加します。

この設定は、ほかの View Option の切り替えと同じように、ドキュメントに保存され、Undo の履歴に記録されます。

自動レイアウト​

どの自動レイアウトも、グループが表示されているかどうかにかかわらず、各グループのテーブルをまとめたまま配置します。

  • Force は、各グループをそのテーブルとともに 1 つの枠として動かし、テーブルは枠の中での位置を保ちます。各グループの枠は、ほかのグループや、どのグループにも属さないテーブルから少なくとも 100px 離れた位置に置かれます。プレビューには、各グループが移動先の位置に表示されます。
  • Flow、Tree - vertical、Tree - horizontal は、各グループのテーブルをグループの中で配置し、グループ同士はそれらの間のリレーションシップに従って配置して、どのグループにも属さないテーブルをその周りに配置します。

配置の後、テーブルを含む各グループはそのテーブルに合わせられ、グループの枠は、テーブルの範囲に 24px の余白とタイトルバーを加えた大きさになります。テーブルを含まないグループは、位置もサイズもそのままです。
テーブルとグループの配置は、Undo の 1 ステップになります。

DBML の読み込みでも、テーブルがどこに配置されるかにかかわらず、同じように各グループがそのテーブルを囲むように合わせられます。DBMLを参照してください。

グループ別の Schema SQL​

Schema SQL タブでは、選んだグループのテーブルだけを書き出せます。
ドキュメントにグループがある間は、表示しているか非表示かにかかわらず、タブのオプションパネルの This window only の下に Tables の行が表示されます。この行には、All、グループごとに 1 つ、そしてどのグループにも属さないテーブルを表す No group のチェックボックスが並びます。テーブルを参照してください。
この選択はエディタのウィンドウごとのもので、ドキュメントには保存されません。

読み込み、書き出し、コピー​

  • DBML は、読み込みと書き出しの両方向でグループを保持します。DBML の読み込みでは各 TableGroup ブロックがグループになり(DBMLを参照)、コード生成の DBML は、テーブルを含む各グループについて TableGroup ブロックを書き出します。コード生成を参照してください。
  • JSON ファイルはグループを保持します。ほかの形式はグループを保持しません。SQL、GraphQL、AML の読み込みではグループは取り込まれず、Schema SQL とコード生成のほかの対象もグループを書き出しません。
  • Import and Add は、ファイルのグループを、そのテーブルを含む新しいグループとして取り込みます。グループを表示している間は、取り込んだグループを新しいテーブルとともに選択するため、追加されたまとまりをドラッグするとそのグループも一緒に移動します。
  • 書き出した画像には、表示しているグループがテーブルの背後に描かれ、テーブルのヘッダーにはグループの色が付きます。
  • コピーと貼り付け、または Alt での複製では、グループはコピーされません。テーブルとメモのコピー / 貼り付けとテーブルの追加と削除を参照してください。

読み取り専用のエディタ​

readonly のエディタでは、グループは通常どおり描画され、選択もできますが、変更はできません。

  • タイトルバーを押すとグループが選択されますが、何も移動しません。サイズ変更のハンドルも x もありません。
  • タイトルバーをダブルクリックしても名前の入力欄は開かず、グループのメニューには Select tables だけがあります。
  • キャンバスのメニューに New Table Group はなく、テーブルのメニューにも Group selected tables と Remove from group はなく、クイック検索にはグループのコマンドがどちらも表示されません。エディタが読み取り専用になると、New Table Group の描画は終了します。
  • ほかのすべての View Option と同じく、表示オプションの Table Groups を切り替えても何も変わりません。
  • Schema SQL タブの Tables の選択は引き続き機能します。