DataGrip 2026.1 Help

データベースダイアグラム

Diagrams プラグインを有効化

この機能は、Diagrams プラグインに依存しており、DataGrip にはデフォルトでバンドルされて有効になっています。 関連機能が利用できない場合は、プラグインを無効化していないことを確認してください。

  1. Ctrl+Alt+S を押して設定を開き、 プラグイン を選択します。

  2. インストール済み​​ タブを開き、 Diagrams プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。

データベースダイアグラムは、データベースの構造とデータベースオブジェクト間の関係をグラフィカルに示します。 データソース、スキーマ、テーブルのダイアグラムを生成できます。 データベースオブジェクト間の関係を作成するには、 キーと 外部キーの使用を検討してください。

次のビデオは、DataGrip のダイアグラムの概要を示しています。

生成されたダイアグラムは、UML と PNG の 2 つの形式で保存できます。 UML 形式は、DataGrip 向けに特別に開発された内部形式です。 他の製品ではサポートされていません。 作成したダイアグラムを共有したい場合は、PNG の使用を検討してください。

また、実行計画を構築することもできます。 実行計画は、データベース内のデータにアクセスするために使用される一連のステップです。 実行計画の作成方法の詳細については、 クエリプランの視覚化 を参照してください。

データベースオブジェクトのダイアグラムを生成する

  • データベースエクスプローラー で、データベースオブジェクトを右クリックし、 ダイアグラム | ダイアグラムの表示 を選択します。

データベースオブジェクトのダイアグラムを生成する
データベースオブジェクトのダイアグラムを生成する

ダイアグラムに表を追加する

生成されたデータベースダイアグラムに、さらにテーブルを追加できます。

  • データベースエクスプローラー で、ダイアグラムに追加したいテーブルをダイアグラム領域にドラッグします。

ダイアグラムの表示と管理

パンとズーム

  • ダイアグラムをパンおよびズームするには、垂直スクロールにはタッチパッド、スクロールバー、またはマウスホイールを使用し、水平スクロールには Shift + マウスホイールを使用します。 Shift + マウスホイールを使用してズームすることもできます。

  • 拡大鏡ツールを使用するには、 Alt キーを押したまま、ダイアグラムの目的の領域にマウスカーソルを合わせます。 マウスホイールで拡大鏡ツール内のダイアグラム領域をさらにズームできます。

    拡大鏡ツール

列コメントを有効にする

  1. ダイアグラムを生成します。 ダイアグラムの生成の詳細については、「データベースオブジェクトのダイアグラムを生成する 」を参照してください。

  2. コメント ボタン (コメントボタン) をクリックします。

    列コメントを有効にする

ダイアグラムオブジェクトに色を適用する

  1. データベースエクスプローラー でオブジェクトを右クリックし、 ツール | 色の設定… を選択します。

  2. 色を選択し、 OK をクリックします。 リフレッシュ ボタン () をクリックして、ダイアグラムをリフレッシュして色を適用します。

    テーブルカラーの表示
  1. Ctrl+Alt+S を押して設定を開き、 エディター | カラースキームの切り替え | ダイアグラム に移動します。

  2. エッジ // 汎化エッジ をクリックしてください。

  3. フォアグラウンド チェックボックスの近くにあるカラーピッカーをクリックします。

    リンクの色を変更する

ダイアグラムの要素を見つける

ダイアグラム上で要素を見つけるには、次の手順を実行します。

  1. Ctrl+F を押すと、 ダイアグラムの要素 ポップアップウィンドウが開きます。

  2. 要素の名前を入力し始め、それを選択して、 Enter を押します。

ダイアグラム要素を見つける

ダイアグラムのエクスポート

DataGrip では、ダイアグラムをさまざまな形式でファイルやクリップボードにエクスポートしたり、Web エディターで開いたりできます。 ダイアグラムを印刷してイメージとして保存することもできます。 これを行うには、ダイアグラムのコンテキストメニューで対応するアクションを使用します。

Web エディターでダイアグラムを開く

ダイアグラムをクリップボードにコピーする

  • ダイアグラムをクリップボードにコピーするには、ダイアグラムを右クリックし、 ダイアグラムのエクスポート | クリップボードにコピー に移動して、形式を選択します。

    または、ダイアグラムツールバーの ダイアグラムのエクスポート ボタン (ダイアグラムのエクスポートアイコン) をクリックし、対応するサブメニューで形式を選択します。

    サポートされている形式は次のとおりです:

    • Mermaid

      classDiagram direction BT class actor { varchar(45) first_name varchar(45) last_name timestamp last_update smallint unsigned actor_id } class node19 { smallint unsigned actor_id varchar(45) first_name varchar(45) last_name timestamp last_update blob column_nameimg } class actor_info { smallint unsigned actor_id varchar(45) first_name varchar(45) last_name text film_info } class address { varchar(50) address varchar(50) address2 varchar(20) district smallint unsigned city_id varchar(10) postal_code varchar(20) phone timestamp last_update smallint unsigned address_id } class category { varchar(25) name timestamp last_update tinyint unsigned category_id } class city { varchar(50) city smallint unsigned country_id timestamp last_update smallint unsigned city_id } class country { varchar(50) country timestamp last_update smallint unsigned country_id } class customer { tinyint unsigned store_id varchar(45) first_name varchar(45) last_name varchar(50) email smallint unsigned address_id tinyint(1) active datetime create_date timestamp last_update smallint unsigned customer_id } class customer_list { smallint unsigned ID varchar(91) name varchar(50) address varchar(10) zip code varchar(20) phone varchar(50) city varchar(50) country varchar(6) notes tinyint unsigned SID } class film { varchar(255) title text description year release_year tinyint unsigned language_id tinyint unsigned original_language_id tinyint unsigned rental_duration decimal(4,2) rental_rate smallint unsigned length decimal(5,2) replacement_cost enum('g', 'pg', 'pg-13', 'r', 'nc-17') rating set('trailers', 'commentaries', 'deleted scenes', 'behind the scenes') special_features timestamp last_update smallint unsigned film_id } class film_actor { timestamp last_update smallint unsigned actor_id smallint unsigned film_id } class film_category { timestamp last_update smallint unsigned film_id tinyint unsigned category_id } class film_text { varchar(255) title text description smallint film_id } class inventory { smallint unsigned film_id tinyint unsigned store_id timestamp last_update mediumint unsigned inventory_id } class language { char(20) name timestamp last_update tinyint unsigned language_id } class payment { smallint unsigned customer_id tinyint unsigned staff_id int rental_id decimal(5,2) amount datetime payment_date timestamp last_update smallint unsigned payment_id } class pet { varchar(150) pet varchar(150) name varchar(150) owner } class rental { datetime rental_date mediumint unsigned inventory_id smallint unsigned customer_id datetime return_date tinyint unsigned staff_id timestamp last_update int rental_id } class sales_by_film_category { varchar(25) category decimal(27,2) total_sales } class sales_by_store { varchar(101) store varchar(91) manager decimal(27,2) total_sales } class staff { varchar(45) first_name varchar(45) last_name smallint unsigned address_id blob picture varchar(50) email tinyint unsigned store_id tinyint(1) active varchar(16) username varchar(40) password timestamp last_update tinyint unsigned staff_id } class staff_list { tinyint unsigned ID varchar(91) name varchar(50) address varchar(10) zip code varchar(20) phone varchar(50) city varchar(50) country tinyint unsigned SID } class store { tinyint unsigned manager_staff_id smallint unsigned address_id timestamp last_update tinyint unsigned store_id } address --> city : city_id city --> country : country_id customer --> address : address_id customer --> store : store_id film --> language : original_language_id:language_id film --> language : language_id film_actor --> actor : actor_id film_actor --> film : film_id film_category --> category : category_id film_category --> film : film_id inventory --> film : film_id inventory --> store : store_id payment --> customer : customer_id payment --> rental : rental_id payment --> staff : staff_id rental --> customer : customer_id rental --> inventory : inventory_id rental --> staff : staff_id staff --> address : address_id staff --> store : store_id store --> address : address_id store --> staff : manager_staff_id:staff_id
    • PlantUML

      @startuml !theme plain top to bottom direction skinparam linetype ortho class actor { first_name: varchar(45) last_name: varchar(45) last_update: timestamp actor_id: smallint unsigned } class node16 as "actor_1 /* backup table */" { actor_id: smallint unsigned first_name: varchar(45) last_name: varchar(45) last_update: timestamp column_nameimg: blob } class actor_info { actor_id: smallint unsigned first_name: varchar(45) last_name: varchar(45) film_info: text } class address { address: varchar(50) address2: varchar(50) district: varchar(20) city_id: smallint unsigned postal_code: varchar(10) phone: varchar(20) last_update: timestamp address_id: smallint unsigned } class category { name: varchar(25) last_update: timestamp category_id: tinyint unsigned } class city { city: varchar(50) country_id: smallint unsigned last_update: timestamp city_id: smallint unsigned } class country { country: varchar(50) last_update: timestamp country_id: smallint unsigned } class customer { store_id: tinyint unsigned first_name: varchar(45) last_name: varchar(45) email: varchar(50) address_id: smallint unsigned active: tinyint(1) create_date: datetime last_update: timestamp customer_id: smallint unsigned } class customer_list { ID: smallint unsigned name: varchar(91) address: varchar(50) zip code: varchar(10) phone: varchar(20) city: varchar(50) country: varchar(50) notes: varchar(6) SID: tinyint unsigned } class film { title: varchar(255) description: text release_year: year language_id: tinyint unsigned original_language_id: tinyint unsigned rental_duration: tinyint unsigned rental_rate: decimal(4,2) length: smallint unsigned replacement_cost: decimal(5,2) rating: enum('g', 'pg', 'pg-13', 'r', 'nc-17') special_features: set('trailers', 'commentaries', 'deleted scenes', 'behind the scenes') last_update: timestamp film_id: smallint unsigned } class film_actor { last_update: timestamp actor_id: smallint unsigned film_id: smallint unsigned } class film_category { last_update: timestamp film_id: smallint unsigned category_id: tinyint unsigned } class film_text { title: varchar(255) description: text film_id: smallint } class inventory { film_id: smallint unsigned store_id: tinyint unsigned last_update: timestamp inventory_id: mediumint unsigned } class language { name: char(20) last_update: timestamp language_id: tinyint unsigned } class payment { customer_id: smallint unsigned staff_id: tinyint unsigned rental_id: int amount: decimal(5,2) payment_date: datetime last_update: timestamp payment_id: smallint unsigned } class pet { pet: varchar(150) name: varchar(150) owner: varchar(150) } class rental { rental_date: datetime inventory_id: mediumint unsigned customer_id: smallint unsigned return_date: datetime staff_id: tinyint unsigned last_update: timestamp rental_id: int } class sales_by_film_category { category: varchar(25) total_sales: decimal(27,2) } class sales_by_store { store: varchar(101) manager: varchar(91) total_sales: decimal(27,2) } class staff { first_name: varchar(45) last_name: varchar(45) address_id: smallint unsigned picture: blob email: varchar(50) store_id: tinyint unsigned active: tinyint(1) username: varchar(16) password: varchar(40) last_update: timestamp staff_id: tinyint unsigned } class staff_list { ID: tinyint unsigned name: varchar(91) address: varchar(50) zip code: varchar(10) phone: varchar(20) city: varchar(50) country: varchar(50) SID: tinyint unsigned } class store { manager_staff_id: tinyint unsigned address_id: smallint unsigned last_update: timestamp store_id: tinyint unsigned } address -[#595959,plain]-^ city : "city_id" city -[#595959,plain]-^ country : "country_id" customer -[#595959,plain]-^ address : "address_id" customer -[#595959,plain]-^ store : "store_id" film -[#595959,plain]-^ language : "language_id" film -[#595959,plain]-^ language : "original_language_id:language_id" film_actor -[#595959,plain]-^ actor : "actor_id" film_actor -[#595959,plain]-^ film : "film_id" film_category -[#595959,plain]-^ category : "category_id" film_category -[#595959,plain]-^ film : "film_id" inventory -[#595959,plain]-^ film : "film_id" inventory -[#595959,plain]-^ store : "store_id" payment -[#595959,plain]-^ customer : "customer_id" payment -[#595959,plain]-^ rental : "rental_id" payment -[#595959,plain]-^ staff : "staff_id" rental -[#595959,plain]-^ customer : "customer_id" rental -[#595959,plain]-^ inventory : "inventory_id" rental -[#595959,plain]-^ staff : "staff_id" staff -[#595959,plain]-^ address : "address_id" staff -[#595959,plain]-^ store : "store_id" store -[#595959,plain]-^ address : "address_id" store -[#595959,plain]-^ staff : "manager_staff_id:staff_id" @enduml
    • Graphviz DOT

      digraph "sakila" { splines = ortho; fontname = "Inconsolata"; node [colorscheme = ylgnbu4]; edge [colorscheme = dark28, dir = both]; actor [shape = record, label = "{ actor | first_name : varchar(45)\l last_name : varchar(45)\l last_update : timestamp\l| actor_id : smallint unsigned\l }"]; "actor_1 /* backup table */" [shape = record, label = "{ actor_1 /* backup table */ | actor_id : smallint unsigned\l first_name : varchar(45)\l last_name : varchar(45)\l last_update : timestamp\l column_nameimg : blob\l }"]; actor_info [shape = record, label = "{ actor_info | actor_id : smallint unsigned\l first_name : varchar(45)\l last_name : varchar(45)\l film_info : text\l }"]; address [shape = record, label = "{ address | address : varchar(50)\l address2 : varchar(50)\l district : varchar(20)\l city_id : smallint unsigned\l postal_code : varchar(10)\l phone : varchar(20)\l last_update : timestamp\l| address_id : smallint unsigned\l }"]; category [shape = record, label = "{ category | name : varchar(25)\l last_update : timestamp\l| category_id : tinyint unsigned\l }"]; city [shape = record, label = "{ city | city : varchar(50)\l country_id : smallint unsigned\l last_update : timestamp\l| city_id : smallint unsigned\l }"]; country [shape = record, label = "{ country | country : varchar(50)\l last_update : timestamp\l| country_id : smallint unsigned\l }"]; customer [shape = record, label = "{ customer | store_id : tinyint unsigned\l first_name : varchar(45)\l last_name : varchar(45)\l email : varchar(50)\l address_id : smallint unsigned\l active : tinyint(1)\l create_date : datetime\l last_update : timestamp\l| customer_id : smallint unsigned\l }"]; customer_list [shape = record, label = "{ customer_list | ID : smallint unsigned\l name : varchar(91)\l address : varchar(50)\l zip code : varchar(10)\l phone : varchar(20)\l city : varchar(50)\l country : varchar(50)\l notes : varchar(6)\l SID : tinyint unsigned\l }"]; film [shape = record, label = "{ film | title : varchar(255)\l description : text\l release_year : year\l language_id : tinyint unsigned\l original_language_id : tinyint unsigned\l rental_duration : tinyint unsigned\l rental_rate : decimal(4,2)\l length : smallint unsigned\l replacement_cost : decimal(5,2)\l rating : enum('g', 'pg', 'pg-13', 'r', 'nc-17')\l special_features : set('trailers', 'commentaries', 'deleted scenes', 'behind the scenes')\l last_update : timestamp\l| film_id : smallint unsigned\l }"]; film_actor [shape = record, label = "{ film_actor | last_update : timestamp\l| actor_id : smallint unsigned\l film_id : smallint unsigned\l }"]; film_category [shape = record, label = "{ film_category | last_update : timestamp\l| film_id : smallint unsigned\l category_id : tinyint unsigned\l }"]; film_text [shape = record, label = "{ film_text | title : varchar(255)\l description : text\l| film_id : smallint\l }"]; inventory [shape = record, label = "{ inventory | film_id : smallint unsigned\l store_id : tinyint unsigned\l last_update : timestamp\l| inventory_id : mediumint unsigned\l }"]; language [shape = record, label = "{ language | name : char(20)\l last_update : timestamp\l| language_id : tinyint unsigned\l }"]; payment [shape = record, label = "{ payment | customer_id : smallint unsigned\l staff_id : tinyint unsigned\l rental_id : int\l amount : decimal(5,2)\l payment_date : datetime\l last_update : timestamp\l| payment_id : smallint unsigned\l }"]; pet [shape = record, label = "{ pet | pet : varchar(150)\l name : varchar(150)\l owner : varchar(150)\l }"]; rental [shape = record, label = "{ rental | rental_date : datetime\l inventory_id : mediumint unsigned\l customer_id : smallint unsigned\l return_date : datetime\l staff_id : tinyint unsigned\l last_update : timestamp\l| rental_id : int\l }"]; sales_by_film_category [shape = record, label = "{ sales_by_film_category | category : varchar(25)\l total_sales : decimal(27,2)\l }"]; sales_by_store [shape = record, label = "{ sales_by_store | store : varchar(101)\l manager : varchar(91)\l total_sales : decimal(27,2)\l }"]; staff [shape = record, label = "{ staff | first_name : varchar(45)\l last_name : varchar(45)\l address_id : smallint unsigned\l picture : blob\l email : varchar(50)\l store_id : tinyint unsigned\l active : tinyint(1)\l username : varchar(16)\l password : varchar(40)\l last_update : timestamp\l| staff_id : tinyint unsigned\l }"]; staff_list [shape = record, label = "{ staff_list | ID : tinyint unsigned\l name : varchar(91)\l address : varchar(50)\l zip code : varchar(10)\l phone : varchar(20)\l city : varchar(50)\l country : varchar(50)\l SID : tinyint unsigned\l }"]; store [shape = record, label = "{ store | manager_staff_id : tinyint unsigned\l address_id : smallint unsigned\l last_update : timestamp\l| store_id : tinyint unsigned\l }"]; address -> city [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "city_id", headlabel = ""]; city -> country [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "country_id", headlabel = ""]; customer -> address [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "address_id", headlabel = ""]; customer -> store [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "store_id", headlabel = ""]; film -> language [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "language_id", headlabel = ""]; film -> language [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "original_language_id:language_id", headlabel = ""]; film_actor -> actor [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "actor_id", headlabel = ""]; film_actor -> film [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "film_id", headlabel = ""]; film_category -> category [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "category_id", headlabel = ""]; film_category -> film [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "film_id", headlabel = ""]; inventory -> film [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "film_id", headlabel = ""]; inventory -> store [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "store_id", headlabel = ""]; payment -> customer [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "customer_id", headlabel = ""]; payment -> rental [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "rental_id", headlabel = ""]; payment -> staff [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "staff_id", headlabel = ""]; rental -> customer [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "customer_id", headlabel = ""]; rental -> inventory [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "inventory_id", headlabel = ""]; rental -> staff [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "staff_id", headlabel = ""]; staff -> address [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "address_id", headlabel = ""]; staff -> store [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "store_id", headlabel = ""]; store -> address [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "address_id", headlabel = ""]; store -> staff [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "manager_staff_id:staff_id", headlabel = ""]; }
    • Graphviz DOT とポジション

      digraph "sakila" { splines = ortho; fontname = "Inconsolata"; node [colorscheme = ylgnbu4]; edge [colorscheme = dark28, dir = both]; actor [shape = record, pos = "4.333,20.917!" , label = "{ actor | first_name : varchar(45)\l last_name : varchar(45)\l last_update : timestamp\l| actor_id : smallint unsigned\l }"]; "actor_1 /* backup table */" [shape = record, pos = "-4.111,4.681!" , label = "{ actor_1 /* backup table */ | actor_id : smallint unsigned\l first_name : varchar(45)\l last_name : varchar(45)\l last_update : timestamp\l column_nameimg : blob\l }"]; actor_info [shape = record, pos = "-0.611,4.681!" , label = "{ actor_info | actor_id : smallint unsigned\l first_name : varchar(45)\l last_name : varchar(45)\l film_info : text\l }"]; address [shape = record, pos = "-2.564,26.375!" , label = "{ address | address : varchar(50)\l address2 : varchar(50)\l district : varchar(20)\l city_id : smallint unsigned\l postal_code : varchar(10)\l phone : varchar(20)\l last_update : timestamp\l| address_id : smallint unsigned\l }"]; category [shape = record, pos = "15.972,20.750!" , label = "{ category | name : varchar(25)\l last_update : timestamp\l| category_id : tinyint unsigned\l }"]; city [shape = record, pos = "-2.550,28.972!" , label = "{ city | city : varchar(50)\l country_id : smallint unsigned\l last_update : timestamp\l| city_id : smallint unsigned\l }"]; country [shape = record, pos = "-2.550,31.236!" , label = "{ country | country : varchar(50)\l last_update : timestamp\l| country_id : smallint unsigned\l }"]; customer [shape = record, pos = "-0.681,16.458!" , label = "{ customer | store_id : tinyint unsigned\l first_name : varchar(45)\l last_name : varchar(45)\l email : varchar(50)\l address_id : smallint unsigned\l active : tinyint(1)\l create_date : datetime\l last_update : timestamp\l| customer_id : smallint unsigned\l }"]; customer_list [shape = record, pos = "19.694,31.236!" , label = "{ customer_list | ID : smallint unsigned\l name : varchar(91)\l address : varchar(50)\l zip code : varchar(10)\l phone : varchar(20)\l city : varchar(50)\l country : varchar(50)\l notes : varchar(6)\l SID : tinyint unsigned\l }"]; film [shape = record, pos = "7.486,22.417!" , label = "{ film | title : varchar(255)\l description : text\l release_year : year\l language_id : tinyint unsigned\l original_language_id : tinyint unsigned\l rental_duration : tinyint unsigned\l rental_rate : decimal(4,2)\l length : smallint unsigned\l replacement_cost : decimal(5,2)\l rating : enum('g', 'pg', 'pg-13', 'r', 'nc-17')\l special_features : set('trailers', 'commentaries', 'deleted scenes', 'behind the scenes')\l last_update : timestamp\l| film_id : smallint unsigned\l }"]; film_actor [shape = record, pos = "9.174,15.458!" , label = "{ film_actor | last_update : timestamp\l| actor_id : smallint unsigned\l film_id : smallint unsigned\l }"]; film_category [shape = record, pos = "14.592,15.458!" , label = "{ film_category | last_update : timestamp\l| film_id : smallint unsigned\l category_id : tinyint unsigned\l }"]; film_text [shape = record, pos = "2.889,4.681!" , label = "{ film_text | title : varchar(255)\l description : text\l| film_id : smallint\l }"]; inventory [shape = record, pos = "2.889,15.625!" , label = "{ inventory | film_id : smallint unsigned\l store_id : tinyint unsigned\l last_update : timestamp\l| inventory_id : mediumint unsigned\l }"]; language [shape = record, pos = "10.731,25.542!" , label = "{ language | name : char(20)\l last_update : timestamp\l| language_id : tinyint unsigned\l }"]; payment [shape = record, pos = "-1.459,8.208!" , label = "{ payment | customer_id : smallint unsigned\l staff_id : tinyint unsigned\l rental_id : int\l amount : decimal(5,2)\l payment_date : datetime\l last_update : timestamp\l| payment_id : smallint unsigned\l }"]; pet [shape = record, pos = "9.028,4.681!" , label = "{ pet | pet : varchar(150)\l name : varchar(150)\l owner : varchar(150)\l }"]; rental [shape = record, pos = "1.321,11.833!" , label = "{ rental | rental_date : datetime\l inventory_id : mediumint unsigned\l customer_id : smallint unsigned\l return_date : datetime\l staff_id : tinyint unsigned\l last_update : timestamp\l| rental_id : int\l }"]; sales_by_film_category [shape = record, pos = "11.917,4.681!" , label = "{ sales_by_film_category | category : varchar(25)\l total_sales : decimal(27,2)\l }"]; sales_by_store [shape = record, pos = "5.583,4.681!" , label = "{ sales_by_store | store : varchar(101)\l manager : varchar(91)\l total_sales : decimal(27,2)\l }"]; staff [shape = record, pos = "-4.111,16.792!" , label = "{ staff | first_name : varchar(45)\l last_name : varchar(45)\l address_id : smallint unsigned\l picture : blob\l email : varchar(50)\l store_id : tinyint unsigned\l active : tinyint(1)\l username : varchar(16)\l password : varchar(40)\l last_update : timestamp\l| staff_id : tinyint unsigned\l }"]; staff_list [shape = record, pos = "22.666,31.236!" , label = "{ staff_list | ID : tinyint unsigned\l name : varchar(91)\l address : varchar(50)\l zip code : varchar(10)\l phone : varchar(20)\l city : varchar(50)\l country : varchar(50)\l SID : tinyint unsigned\l }"]; store [shape = record, pos = "-2.638,20.917!" , label = "{ store | manager_staff_id : tinyint unsigned\l address_id : smallint unsigned\l last_update : timestamp\l| store_id : tinyint unsigned\l }"]; address -> city [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "city_id", headlabel = ""]; city -> country [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "country_id", headlabel = ""]; customer -> address [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "address_id", headlabel = ""]; customer -> store [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "store_id", headlabel = ""]; film -> language [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "language_id", headlabel = ""]; film -> language [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "original_language_id:language_id", headlabel = ""]; film_actor -> actor [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "actor_id", headlabel = ""]; film_actor -> film [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "film_id", headlabel = ""]; film_category -> category [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "category_id", headlabel = ""]; film_category -> film [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "film_id", headlabel = ""]; inventory -> film [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "film_id", headlabel = ""]; inventory -> store [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "store_id", headlabel = ""]; payment -> customer [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "customer_id", headlabel = ""]; payment -> rental [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "rental_id", headlabel = ""]; payment -> staff [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "staff_id", headlabel = ""]; rental -> customer [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "customer_id", headlabel = ""]; rental -> inventory [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "inventory_id", headlabel = ""]; rental -> staff [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "staff_id", headlabel = ""]; staff -> address [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "address_id", headlabel = ""]; staff -> store [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "store_id", headlabel = ""]; store -> address [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "address_id", headlabel = ""]; store -> staff [color = "#595959", style = solid , arrowtail = none , arrowhead = normal , taillabel = "", label = "manager_staff_id:staff_id", headlabel = ""]; }
    コンテキストメニューからダイアグラムをクリップボードにコピー

ダイアグラムをファイルにエクスポートする

  • ダイアグラムをファイルにエクスポートするには、ダイアグラムを右クリックし、 ダイアグラムのエクスポート | ファイルへエクスポート に移動して、形式を選択します。

    または、ダイアグラムツールバーの ダイアグラムのエクスポート ボタン (ダイアグラムのエクスポートアイコン) をクリックし、対応するサブメニューで形式を選択します。

    サポートされている形式は次のとおりです:

    • YEd .graphml

    • JGraph .drawio

    • Graphviz .dot

    • Graphviz .dot とポジション

    • Mermaid .md

    • PlantUML

    • IDEA .uml : UML 形式は、DataGrip のみがサポートする内部形式です。 保存したダイアグラムを開くには、UML ファイルをエディターにドラッグします。

      UML ファイルのスコープは元のプロジェクトに限定されていることに注意してください。 UML ファイルは、作成されたプロジェクト内でのみ開いて使用できます。

    コンテキストメニューからダイアグラムをファイルにエクスポート

ダイアグラムを PNG 形式のイメージとしてエクスポート

  • ダイアグラムを PNG 形式のイメージとしてエクスポートするには、ダイアグラムを右クリックして ダイアグラムのエクスポート | 画像にエクスポート… を選択します。

    または、ダイアグラムツールバーの ダイアグラムのエクスポート ボタン (ダイアグラムのエクスポートアイコン) をクリックし、 画像にエクスポート… を選択します。

グラフの分析

グラフの分析 アクショングループを使用すると、自動クラスター化の実行、ノードの中心性の測定、検索サイクル、2 つのノード間のパスのフィルター処理など、さまざまな方法でグラフを分析できます。

2 つのノード間のパスをフィルタリングする

ほとんどの場合、生成されるダイアグラムは大きくて複雑です。 通常、ダイアグラムの特定の部分のみに集中する必要があります。 DataGrip ではダイアグラム要素間のパスをフィルタリングできます。

  1. ダイアグラムエディターで、フォーカスする 2 つのノードを選択し、そのうちの 1 つを右クリックして、コンテキストメニューを開きます。

  2. コンテキストメニューから グラフを分析 | 2 ノード間のパスに注目 を選択します。

  3. 開いたダイアログで、必要に応じて追加のオプションを選択し、 検索 をクリックします。

    2 つのノード間のパスに焦点を当てるダイアログ

    DataGrip は、選択したノードにのみ関連付けられている接続を表示します。

ダイアグラムの中心性を測定する

このアクションを使用して、グラフ内の重要なノードを特定できます。

  1. ダイアグラムエディターで、エディター内の任意の場所を右クリックして、コンテキストメニューを開きます。

  2. コンテキストメニューから グラフの分析 | 中心性の測定 を選択します。

  3. 開いたダイアログで、必要に応じて追加のオプションを選択し、 計測 をクリックします。

    中心性の測定

    ノードの「重要性」は0.0から1.0までの小数値で表され、最も明るいノードの選択から探索する必要があります。

    ノードを測定する

リファレンス

アイコン

ダイアグラム内の列の可能なアイコンの組み合わせは次のとおりです:

アイコン

外部キー

主キー

インデックス付き

非 null

列

外部キーを持つ列

外部キーがある

主キーを持つ列

主キーがある

インデックス付き列

インデックス付き

NULL 値を受け入れない列

NOT NULL 制約がある

NULL 値を受け入れないインデックス付き列

インデックス付き

NOT NULL 制約がある

NULL 値を受け入れない主キーと外部キーを持つインデックス付き列

外部キーがある

主キーがある

インデックス付き

NOT NULL 制約がある

主キーと外部キーを含むインデックス付き列

外部キーがある

主キーがある

インデックス付き

NULL 値を受け入れない主キーと外部キーを持つ列

外部キーがある

主キーがある

NOT NULL 制約がある

主キーと外部キーを含む列

外部キーがある

主キーがある

NULL 値を受け入れない外部キーを持つインデックス付き列

外部キーがある

インデックス付き

NOT NULL 制約がある

NULL 値を受け入れない外部キーを持つ列

外部キーがある

NOT NULL 制約がある

NULL 値を受け入れる外部キーを持つインデックス付き列

外部キーがある

インデックス付き

NULL 値を受け入れない主キーを持つインデックス付き列

主キーがある

インデックス付き

NOT NULL 制約がある

NULL 値を受け入れない主キーを持つ列

主キーがある

NOT NULL 制約がある

主キーを持つインデックス付き列

主キーがある

インデックス付き

ダイアグラムの構成設定

ダイアグラムのデフォルトの表示設定やレイアウトを構成するには、 Ctrl+Alt+S を押して設定を開き、 ツール | ダイアグラム に移動します。 .

ダイアグラムメニュー

コンテンツペイン

ダイアグラムに表示される要素の横にあるチェックボックスを選択します。

項目

説明

差分を表示

詳細

このチェックボックスが選択されている場合、指定されたすべての要素の詳細がリビジョンの UML クラスダイアグラムに表示されます。 このチェックボックスが選択されていない場合、ノード要素のみがダイアグラムに含まれます。

データベーススキーマダイアグラム

キー列

ダイアグラムが開いたときに主キー列を表示したい場合は、このチェックボックスを選択します。

エディターでダイアグラムを表示するときは、ツールバーの 「キー列」ボタン を使用して対応する列を表示または非表示にします。

ダイアグラムが開いたときに表示する主キー列以外の列は、このチェックボックスを選択します。

エディターでダイアグラムを表示するときは、ツールバーの 「列」ボタン を使用して対応する列を表示または非表示にします。

グラフィカルな Explain Plan

属性

クエリマップ上のクエリ属性の表示を切り替えます。 これらの属性には、行数、インデックス名、クエリに関するその他の追加情報を指定できます。

クエリプランの有効属性と無効属性
クエリプランの無効な属性と無効な属性

コントロール

項目

説明

デフォルトレイアウト

デフォルトレイアウト リストから希望のレイアウトを選択します。 新しく作成したダイアグラムのノード要素は、選択したレイアウトに従って配置されます。

デフォルトスコープ

デフォルトスコープ リストからスコープを選択します。 スコープを指定すると、不要な階層をダイアグラムに表示するのを避けることができます。 スコープページは、 設定Ctrl+Alt+S )ダイアログ内でプロジェクトのスコープを定義できます。

レイアウト後の内容に合わせる

このチェックボックスを選択すると、ダイアグラムのコンテキストメニューで選択したレイアウトを適用した後、すべてのダイアグラム要素が現在のダイアグラム領域に収まるようにサイズが変更されます。 ダイアグラムでは、 「内容に合わせる」アイコン ツールバーボタンを使用します。

新規要素が追加されたときに再レイアウトする

このチェックボックスをオンにすると、新しい要素を追加した後で自動的にダイアグラムのレイアウトが実行されます。

ツールバーとコンテキストメニュー

ダイアグラムエディターのツールバーを使ってアクションにすばやくアクセスし、コンテキストメニューで表示内容を管理できます。

ツールバー

項目

説明

「キー列」ボタン

このボタンをクリックして、ダイアグラムに主キー列を表示します。

「列」ボタン

以下の表示を切り替えます。

  • データベースオブジェクトの視覚化の場合: ダイアグラムの主キー列以外の列を表示または非表示にします。

  • クエリマップの場合: クエリ属性を表示または非表示にします。 これらの属性には、行数、インデックス名、クエリに関するその他の追加情報を指定できます。

「仮想外部キー」ボタン

このボタンをクリックして、ダイアグラム内の仮想外部キーを表示または非表示にします。

コメントボタン

このボタンをクリックして、ダイアグラムのコメントを表示または非表示にします。

拡大

このアイコンをクリックすると、ダイアグラムの縮尺が拡大されます。 または、 NumPad+ を押します。

縮小

このアイコンをクリックすると、ダイアグラムの縮尺が縮小されます。 または、 NumPad- を押します。

実際のサイズ

このアイコンをクリックすると、ダイアグラムの実際のサイズに戻ります。

内容に合わせる

このアイコンをクリックして、内容を現在のダイアグラムのサイズに合わせます。

現在のレイアウトを適用

このアイコンをクリックして、ダイアグラムのコンテキストメニューの レイアウト ノードから選択した現在のレイアウトを適用します。

ルートエッジ

このアイコンをクリックして、ダイアグラムをウィンドウの端に合わせて拡大縮小します。

ダイアグラムをクリップボードにコピー

このアイコンをクリックして、ダイアグラムをクリップボードにコピーします。

選択範囲をクリップボードにコピー

このアイコンをクリックし、マウスで任意のダイアグラム領域を選択すると、選択した領域がクリップボードにコピーされます。

ダイアグラムのエクスポート

このアイコンをクリックして、サードパーティ ツールと互換性のあるさまざまな形式でダイアグラムをファイルや画像にエクスポートしたり、ブラウザーでダイアグラムを開いたりできます。

次のオプションを選択して構成できます:

  • Web エディターで開くWeb エディターで開く: このオプションを使用して、ダイアグラムをエクスポートできるサードパーティのエディターを選択します。

  • ダイアグラムをクリップボードにコピークリップボードにコピー: このオプションを使用して、使用可能な形式の 1 つを使用してダイアグラムをクリップボードに保存します。

  • ダイアグラムを保存ファイルにエクスポートする: このオプションを使用して、現在のダイアグラムをファイルとして保存します。 リストから利用可能な形式の 1 つを使用できます。

  • Export to Image画像にエクスポート…: このオプションをクリックして、ダイアグラムをイメージとして保存します。

  • 印刷印刷…: このオプションをクリックして、ダイアグラムを印刷します。

データモデルの更新

このボタンをクリックして、ダイアグラム全体をリフレッシュします。

ダイアグラムの設定を開く

このボタンをクリックして ダイアグラムの設定を開き、追加のオプションを構成できます。

コンテキストメニュー

以下の表には、ツールバーからは利用できないコマンドが含まれています。

項目

説明

選択した要素のアクション

このオプションを使用して、ダイアグラム内の選択した要素に適用されるアクションのリストを開きます。 アクションを選択して、要素のコピー、その定義とドキュメントの表示、 移動 アクションの使用などを行うことができます。

コンテンツ

このオプションを使用して、新しいメモの追加、属性の表示と非表示に役立つアクションのリストを開きます。

  • 新規Alt+Insert):

    このコマンドを選択して、新しいメモを作成します。

  • カテゴリの表示: 属性などのカテゴリを表示および非表示にするには、このコマンドを選択します。

削除

選択したダイアグラムを削除します。

グラフの分析

このノードを使用して、ダイアグラムを分析するコマンドの 1 つを選択します。 グラフの特性を確認したり、グラフの焦点を変更したり、グラフの中心性を測定したりすることができます。

レイアウト

サブメニューから目的のダイアグラムレイアウトを選択します。

方向

次の方向オプションを提供します: 下から上、上から下など。

現在のレイアウトを適用

ダイアグラムのコンテキストメニューの レイアウト ノードから選択された現在のレイアウトを適用します

自動ルートエッジ

ダイアグラムのコンテンツをダイアグラムウィンドウの端に合わせて拡大縮小します。

外観

グリッド、エッジラベル、ブリッジを表示することにより、ダイアグラムの表示方法を管理します。 エッジをマージしてエッジ形状を選択できます。

振る舞い

このオプションを使用して、グリッドに対する要素の整列、選択したノードの構造ビューの表示、レイアウト後のコンテンツのフィッティングなど、ダイアグラムの動作に関連するコマンドを選択します。

ダイアグラムをクリップボードにコピー

このアイコンをクリックして、ダイアグラムをクリップボードにコピーします。

選択範囲をクリップボードにコピー

このアイコンをクリックし、マウスで任意のダイアグラム領域を選択すると、選択した領域がクリップボードにコピーされます。

ダイアグラムのエクスポート

このオプションを使用して、サードパーティのツールと互換性のあるさまざまな形式を使用してダイアグラムをファイルやイメージにエクスポートしたり、ブラウザーでダイアグラムを開いたりします。

次のオプションを選択して構成できます:

  • Web エディターで開くWeb エディターで開く: このオプションを使用して、ダイアグラムをエクスポートできるサードパーティのエディターを選択します。

  • ダイアグラムをクリップボードにコピークリップボードにコピー: このオプションを使用して、使用可能な形式の 1 つを使用してダイアグラムをクリップボードに保存します。

  • ダイアグラムを保存ファイルにエクスポートする: このオプションを使用して、現在のダイアグラムをファイルとして保存します。 リストから利用可能な形式の 1 つを使用できます。

  • Export to Image画像にエクスポート…: このオプションをクリックして、ダイアグラムをイメージとして保存します。

  • 印刷印刷…: このオプションをクリックして、ダイアグラムを印刷します。

2026 年 5 月 22 日