皆さんはMermaid(マーメイド )記法でER図を描く方法を知っていますか?Mermaidは、Markdownに似た簡単な記法を使って、さまざまな図を描けるツールです。特に、ER図(エンティティ・リレーション図)をMermaidで作成することで、複雑なデータベースの構造を簡単に視覚化できますが、その記述方法を把握しなければならなりません。この記事では、Mermaidを利用したER図の描き方について詳しく解説します。
Mermaid記法を勉強する必要がない、ドラッグ&ドロップだけでER図を作成するツール
1.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図として整理する必要のある情報を書き出す
② 前文で紹介した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図を作成することもできると思います。
④ ツールの右側に表示されるER図を確認し、満足するまでコードを調整する
⑤ ER図をダウンロードして保存する
簡単なER図ならMermaidで十分ですが、やはり以下のような短所も感じられます。
a. 記法の習得に時間がかかる
b. 複雑なER図を表現しにくい
c. カスタマイズ性が低い
これらの点を踏まえると、用途によっては他のツールも検討したほうがよいかもしれません。次はそんな便利なツールを紹介します。
4.より簡単な作成方法!ドラッグ&ドロップでER図を書くツール
EdrawMaxは、簡単にER図を作成できる便利なツールです。Part3で紹介したMermaid記法を使用してER図を作成する方法とは異なり、EdrawMaxではドラッグアンドドロップ操作で直感的に図を描くことができます。以下にその手順を紹介します。
まず、EdrawMaxを起動し、新しいプロジェクトを作成します。次に、ツールバーから「データベース図」を選択し、「ER図」のテンプレートを選びます。
テンプレートが開かれたら、左側のライブラリから「エンティティ」と「リレーションシップ」のシンボルをキャンバスにドラッグアンドドロップします。
エンティティをカスタマイズするために、ダブルクリックして属性や主キーを追加します。リレーションシップも線を選択して属性を設定するだけで完了です。このように、EdrawMaxを使うことで、ER図の作成が非常にスムーズで効率的になります。
EdrawMaxを利用するメリット
EdrawMaxには、多くのメリットがあります。まず、操作が直感的で使いやすい点です。ドラッグアンドドロップ操作だけでER図やその他の図表を簡単に作成できます。特に、テクニカルスキルがない人でもすぐに扱えるのが魅力です。
また、豊富なテンプレートとシンボルライブラリが揃っているため、多種多様な図表を短時間で作成可能です。これは、プロジェクトの効率を大幅に向上させることができます。
さらに、クラウドとの連携が強力で、チームでの共同作業が容易です。プロジェクトメンバーがリアルタイムで図表を編集し、更新できるので、コミュニケーションの円滑化にも繋がります。
最後に、カスタマ性の高さも大きなメリットです。コードではなく、パワポ感覚でER図の色、線などを変更することができますので、よりきれいなER図を作成することができます。ぜひ下のボタンから無料版をダウンロードしてみてください!
まとめ
Mermaid記法でER図を書く方法について紹介しましたが、いかがでしたでしょうか。Mermaidを活用することで、Markdownに近い感覚で複雑なER図やシーケンス図を簡単に作成することができます。これはデータベース設計や基本設計において非常に有用です。特にエンティティ間のリレーションをわかりやすく視覚化できるため、チームメンバーとのコミュニケーションが効率よく進むでしょう。
さらに、EdrawMaxのようなツールを使用することで、作業が一層効率的になります。ドラッグ&ドロップで簡単にER図を作成できるため、初心者でも直感的に操作できます。これにより、時間の節約やミスの低減を図ることが可能です。