この記事では、VSCodeとPlantUMLを使用して、ER図を作成する方法を説明します。
PlantUMLのインストール
VSCodeを起動し、拡張機能のタブから”PlantUML”を検索してインストールします。
また、PlantUMLはJavaを必要とするので、Javaのランタイム環境もインストールする必要があります。
Javaはこちらからダウンロードできます。
Javaのインストールができたら以下のコマンドでJavaのバージョンを確認します。
java -version
Graphvizのインストール
PlantUMLは、ER図を描画する際にGraphvizというツールを内部で使用します。
Graphvizの公式サイトからインストーラをダウンロードしてインストールします。
Homebrewを使用して以下のコマンドでインストールします。
brew install graphviz
インストール後、コマンドプロンプトまたはターミナルを開き、以下のコマンドを実行してGraphvizが正しくインストールされたことを確認します。
dot -version
VSCodeとPlantUMLでER図を作成する方法
それでは実際にER図を作成してみましょう。
エンティティの関係は以下のように書くことができます。
Entity01 }|..|| Entity02
:Entity01とEntity02の間には1対1の関係があります。}|..||
の記号がこれを示しています。Entity03 }o..o| Entity04
:Entity03とEntity04の間には0または1対1の関係があります。}o..o|
の記号がこれを示しています。Entity05 ||--o{ Entity06
:Entity05とEntity06の間には1対0または多の関係があります。||--o{
の記号がこれを示しています。Entity07 |o--|| Entity08
:Entity07とEntity08の間には0または1対1の関係があります。|o--||
の記号がこれを示しています。
上記のコードにすると以下のようになります。
@startuml
Entity01 }|..|| Entity02
Entity03 }o..o| Entity04
Entity05 ||--o{ Entity06
Entity07 |o--|| Entity08
@enduml
上記のコードを.puml
の拡張子で保存します。
その後、VSCodeの画面右上の”Preview”ボタン(眼鏡のアイコン)をクリックすれば、PlantUMLのER図が表示されます。
例としてEntity01「Users」、Entity02を「Orders」テーブルとし、これらが1対多の関係を持つようなER図を作成してみます。
@startuml
entity "Users" as users {
+ id: integer [PK]
---
name: varchar
}
entity "Orders" as orders {
+ id: integer [PK]
---
user_id: integer [FK]
date: date
}
users ||--o{ orders
@enduml
Users
テーブルは主キー(PK)としてid
、そしてユーザ名を表すname
カラムを持つエンティティです。
Orders
テーブルは主キー(PK)としてid
、外部キー(FK)としてuser_id
を持つエンティティです。さらに注文日を表すdate
カラムも持ちます。
users ||--o{ orders
の行はUsers
テーブルとOrders
テーブルの間に1対多の関係があることを示しています。Users
は複数のOrders
を持つことができ、それぞれのOrder
は特定のUser
に所属します。
このようにPlantUMLを使用すると、エンティティとその間の関係性を視覚的に表現することができ、データベースの設計や理解に役立ちます。