データベース-ER図 How-Tos

MermaidでER図を書く方法【初心者向け】

edraw編集者
編集者: Edraw

皆さんはMermaid(マーメイド )記法でER図を描く方法を知っていますか?Mermaidは、Markdownに似た簡単な記法を使って、さまざまな図を描けるツールです。特に、ER図(エンティティ・リレーション図)をMermaidで作成することで、複雑なデータベースの構造を簡単に視覚化できますが、その記述方法を把握しなければならなりません。この記事では、Mermaidを利用したER図の描き方について詳しく解説します。

ER図作成ツール

Mermaid記法を勉強する必要がない、ドラッグ&ドロップだけでER図を作成するツール

1.ER図の構成

ER図はデータベース設計において非常に重要な役割を果たします。ER図の基本要素には、エンティティ(テーブル)、エンティティ間のリレーション(関係)、そして各エンティティの属性(カラム)があります。エンティティはデータベース内で重要なオブジェクトを表し、それぞれが独自のプロパティ(カラム)を持ちます。また、エンティティ間のリレーションはテーブル同士の結びつきを示し、通常は線で表されます。

ER図の構成

Mermaid記法でER図を書く方法は、この基本構成をそのまま表現することから始まります。Mermaid記法では、特定のシンタックスを使用してエンティティや属性、リレーションを記述できます。具体的には、ユーザーテーブルや商品のテーブル、そしてそれらの間に存在するリレーションをMermaid記法で簡単に表現できるのです。

例えば、Mermaid記法を使用することで「ユーザー」と「注文」というエンティティを定義し、それぞれのエンティティが持つ属性を記述します。その次に、ユーザーが注文を管理するというリレーションを線で描画します。こうすることで、データベースの構成要素やその関連性を視覚的に理解しやすくなります。

2.ER図作成に必要なMermaid記述方法

ER図をMermaidで描くには、以下のMermaid記法の基本的な構文を理解することが重要です。

基本構文: erDiagram というキーワードを使います。

エンティティの定義: エンティティを定義するには、以下のように記述します。

erDiagram  // ER図を定義する

CUSTOMER { //  エンティティの名前+ { }  でエンティティを定義する

int id PK       //  属性を定義する

string name

string email

}

エンティティの定義

ここでは、CUSTOMERというテーブルを定義し、それにid, name, emailというカラムを追加しています。

リレーションの定義: エンティティ間のリレーションを定義するには以下のように記述します。

erDiagram

CUSTOMER ||--o{ ORDER : places  

リレーションの定義

この例では、CUSTOMERテーブルとORDERテーブルの間に「places」というリレーションを定義しています。

リレーションには1対1、1対多、多対多などの種類があります。 それぞれの記法は以下の表をご覧ください。

1対1  ||--||
1対多  ||--o{
多対多  }o--o{

3.Mermaid記法でER図を描く実例

上記の内容を復習するとともに、具体的な例を交えて練習してみましょう。

① 白紙に、ER図として整理する必要のある情報を書き出す

ER図として整理する必要のある情報

② 前文で紹介したMermaid記法に従い、図の種類(erDiagram)、エンティティ1、属性1、エンティティ2、属性2、リレーションの順に、上記の情報をコードとして記述する

erDiagram 

USER {

 int id

string name

string email }

ORDER {

int id

int user_id

string product

float price }

USER ||--o{ ORDER: places 

この記法では、データベースのエンティティ(テーブル)とその属性を定義します。例えば、「USER」はユーザーテーブルで、「id」「name」「email」というカラムを持っています。そして、「ORDER」は注文テーブルで、「id」「user_id」「product」「price」というカラムを持っています。

さらに、Mermaidを使ってテーブル間のリレーションも定義できます。ここでは、ユーザーテーブルと注文テーブルの間に「places」というリレーションを表現しています。具体的には、「USER(ユーザーテーブル)」が「ORDER(注文テーブル)」を持つ(places)関係になっています。

③ Mermaid Editorツールを開き、コードを貼り付ける

エディター(https://mermaid.live/edit)にアクセスします。もちろん、VSCODEでもMerMaidエディターのプラグインがありますので、それを使ってER図を作成することもできると思います。

Mermaidで描いたER図
④ ツールの右側に表示されるER図を確認し、満足するまでコードを調整する

⑤ ER図をダウンロードして保存する

簡単なER図ならMermaidで十分ですが、やはり以下のような短所も感じられます。

a. 記法の習得に時間がかかる
b. 複雑なER図を表現しにくい
c. カスタマイズ性が低い

これらの点を踏まえると、用途によっては他のツールも検討したほうがよいかもしれません。次はそんな便利なツールを紹介します。

4.より簡単な作成方法!ドラッグ&ドロップでER図を書くツール

EdrawMaxは、簡単にER図を作成できる便利なツールです。Part3で紹介したMermaid記法を使用してER図を作成する方法とは異なり、EdrawMaxではドラッグアンドドロップ操作で直感的に図を描くことができます。以下にその手順を紹介します。

ドラッグアンドドロップでER図を書く

まず、EdrawMaxを起動し、新しいプロジェクトを作成します。次に、ツールバーから「データベース図」を選択し、「ER図」のテンプレートを選びます。

「ER図」のテンプレートを選びます

テンプレートが開かれたら、左側のライブラリから「エンティティ」と「リレーションシップ」のシンボルをキャンバスにドラッグアンドドロップします。

「エンティティ」と「リレーションシップ」のシンボルをキャンバスにドラッグアンドドロップ

エンティティをカスタマイズするために、ダブルクリックして属性や主キーを追加します。リレーションシップも線を選択して属性を設定するだけで完了です。このように、EdrawMaxを使うことで、ER図の作成が非常にスムーズで効率的になります。

EdrawMaxを利用するメリット

EdrawMaxには、多くのメリットがあります。まず、操作が直感的で使いやすい点です。ドラッグアンドドロップ操作だけでER図やその他の図表を簡単に作成できます。特に、テクニカルスキルがない人でもすぐに扱えるのが魅力です。

また、豊富なテンプレートとシンボルライブラリが揃っているため、多種多様な図表を短時間で作成可能です。これは、プロジェクトの効率を大幅に向上させることができます。

豊富なテンプレートとシンボルライブラリが揃っている

さらに、クラウドとの連携が強力で、チームでの共同作業が容易です。プロジェクトメンバーがリアルタイムで図表を編集し、更新できるので、コミュニケーションの円滑化にも繋がります。

最後に、カスタマ性の高さも大きなメリットです。コードではなく、パワポ感覚でER図の色、線などを変更することができますので、よりきれいなER図を作成することができます。ぜひ下のボタンから無料版をダウンロードしてみてください!

まとめ

Mermaid記法でER図を書く方法について紹介しましたが、いかがでしたでしょうか。Mermaidを活用することで、Markdownに近い感覚で複雑なER図やシーケンス図を簡単に作成することができます。これはデータベース設計や基本設計において非常に有用です。特にエンティティ間のリレーションをわかりやすく視覚化できるため、チームメンバーとのコミュニケーションが効率よく進むでしょう。

さらに、EdrawMaxのようなツールを使用することで、作業が一層効率的になります。ドラッグ&ドロップで簡単にER図を作成できるため、初心者でも直感的に操作できます。これにより、時間の節約やミスの低減を図ることが可能です。

関連記事