[PR] 本記事にはプロモーションが含まれています。

【draw.io】ER図の作り方|テーブルの配置からカラス足の線、整列、保存のしかたまで

開発・プログラミング

データベースを設計するときは、テーブルとそのつながりを ER 図(実体関連図)で描いておくと、全体が把握しやすくなります。この記事では、無料の作図ツール draw.io(ドローアイオー)で ER 図を作る手順を、実際の画面で紹介します。

ER図の作り方

draw.io とは

draw.io は、ブラウザで使える無料の作図ツールです。draw.io のアプリを開くだけで、アカウントを作らずに使い始められます。ER 図に向いているのは、次の点です。

  • ER 図用の図形(テーブルの形や、カラス足の線)が最初から用意されている
  • 自分のパソコンのほか、Google ドライブや GitHub などに保存できる
  • 図形をそろえる機能があり、見やすく並べられる

今回作る ER 図

「ユーザー(users)」と「注文(orders)」の2つのテーブルを例にします。orders には、どのユーザーの注文かを表す user_id(外部キー)を持たせます。

テーブル主なカラム
usersid(主キー)、name、email
ordersid(主キー)、user_id(外部キー)、total、ordered_at

1人のユーザーは注文をいくつも持ち、注文は必ず1人のユーザーのものです。この関係を「1対多」といいます。

ステップ1:テーブルを置く

画面の左側の図形の一覧から「実体関係」(ER)を開きます。見当たらないときは、一覧のいちばん下の「その他の図形」から追加します。

ER図の作り方:テーブルを置く

行が分かれたテーブルの形を、ドラッグしてキャンバスに置きます。

ER図の作り方:テーブルを置く(2)

ステップ2:テーブル名とカラムを入れる

テーブルのいちばん上をダブルクリックしてテーブル名(users)を入れ、各行をダブルクリックして、主キー(PK)やカラム名、データの型を入れます。同じように orders も作り、user_id には外部キー(FK)と書いておきます。

ER図の作り方:テーブル名とカラムを入れる

行を増やすときは、行を選んで Ctrl + Enter(Mac は Cmd + Enter)で複製します。消すときは、行を選んで Delete キーを押します。

ステップ3:テーブルどうしを線で結ぶ

テーブルの端にマウスを合わせると、つなぐための印(矢印や小さな丸)が出ます。そこから、つなぎたい相手の行までドラッグすると、線で結ばれます。users の id と orders の user_id を結びます。

ER図の作り方:テーブルどうしを線で結ぶ
ER図の作り方:テーブルどうしを線で結ぶ(2)
ER図の作り方:テーブルどうしを線で結ぶ(3)

ステップ4:線の端を「1」と「多」にする

ER 図では、線の端の形で「1対多」などの関係を表します。よく使われるのが、鳥の足のように分かれた「カラス足(Crow’s foot)」の記号です。

端の形意味
縦線2本必ず1つ
カラス足+縦線1つ以上
カラス足+丸0個以上(ないこともある)

今回の例では、users の側を「必ず1つ」、orders の側を「0個以上」(注文していないユーザーもいる)にします。

引いた線をクリックして選び、画面右側の「スタイル」タブを開きます。

ER図の作り方:線の端を「1」と「多」にする

線の始点と終点の形を選ぶプルダウンを開き、それぞれの端の形を選びます。

ER図の作り方:線の端を「1」と「多」にする(2)
ER図の作り方:線の端を「1」と「多」にする(3)
ER図の作り方:線の端を「1」と「多」にする(4)
ER図の作り方:線の端を「1」と「多」にする(5)

見やすく仕上げる3つのコツ

① 「配置」タブでそろえる

テーブルが増えると、並びがバラバラになって線も交差しやすくなります。そろえたいテーブルをまとめて選び、画面右側の「配置」タブにある整列のボタンを使うと、端をそろえたり、間隔を等しくしたりできます。

ER図の作り方:① 「配置」タブでそろえる

② テーブルの種類で色を分ける

ユーザーや商品のようにあまり変わらないデータ(マスター)と、注文や履歴のように増えていくデータ(トランザクション)で色を分けると、構造がひと目で分かります。色は、テーブルを選んで右側の「スタイル」タブで変えられます。

ER図の作り方:② テーブルの種類で色を分ける

③ 元のファイルを保存しておく

「ファイル」→「保存」で保存すると、.drawio のファイルになります。これがあとから直せる元のファイルです。資料に貼るときは、「ファイル」→「エクスポート」で PNG、SVG、PDF などに書き出します。

PNG に書き出すときに「図のコピーを含める」にチェックを入れると、画像の中に図のデータが入り、その PNG を draw.io で開いてまた直せます。

VS Code を使っているなら、拡張機能「Draw.io Integration」を入れると、.drawio のファイルを VS Code の中で開いて直せます。プロジェクトのフォルダーに入れておけば、コードと一緒に Git で管理できます。

ER 図ができたら

ER 図は設計図なので、このあと実際のテーブルを作ります。Laravel なら、ER 図のテーブルごとにマイグレーションを書き、user_id のような外部キーは foreignId() で作ります。

まとめ

  • draw.io は、ブラウザで使えて、ER 図の図形が最初からある無料の作図ツール
  • 左の「実体関係」からテーブルを置き、ダブルクリックでテーブル名とカラムを入れる
  • テーブルの端からドラッグして線で結び、「スタイル」で端の形(カラス足)を選ぶ
  • 「配置」でそろえ、色で種類を分ける
  • 元のファイルは .drawio で保存し、資料には PNG などで書き出す

ER 図に描いた表を、実際に CREATE TABLE で作る話は、データベース編 第2回の記事に書いています。

コメント