hiro08gh

ソフトウェアに関すること

ER図を作成できる「DrawSQL」が便利!!画像とSQLのファイル出力に対応


こんにちはかみむらです。SQLのER図を書けるツールを探していたところ、DrawSQLというサービスを見つけました。


DrawSQLは、SQLのER図を簡単に作成できるほか、SQLファイルとして出力できる特徴があります。つまり、DrawSQL上で設計したテーブル設計を、そのままデータベースに適用することができます。

私みたいにSQL設計に慣れていない方にとっては、便利なサービスになると思います。ではさっそく紹介していきます。

DrawSQLの公式サイト

DrawSQL - 🔥 Database schema diagrams

料金プラン

DrawSQLの料金プランはブログ執筆時点(2020/1/17)で4つあります。HOBBYISTが無料、SOLOが15ドル、TEMAが35ドル、ENTERPRISEが99ドルです。HOBBYISTは無料で使えますが、パブリックなダイアグラムしか作成できません。

DrawSQL - 🔥 Database schema diagrams

DrawSQLの便利なところ

ここからはDrawSQLの3つの便利な機能について、実際にサービスを触りながら紹介します。

1、3種類のSQLに対応
2、GUIベースでSQLを設計
3、画像とSQLファイルの出力

3種類のSQLに対応

DrawSQLでは、MySQLPostgreSQLSQL Serverの3種類に対応しています。では実際にダイアグラムを作成してER図を作成してみましょう。アカウントの作成後、ダッシュボードからCreate Diagramをクリックして下さい。

するとダイアグラムの作成画面がでます。ここでは3種類のデータベースを選べます。Privateで作りたい場合は有料プランに加入する必要があります。ダイアグラムの名前を入力後、Createをクリックして作成しましょう。


GUIベースでSQLを設計

ダイアグラムが作成できました。ここからはER図を作成していきます。まずはNew Tableでテーブルを作成してください。私はuserテーブルと、profileテーブルを作成しました。そして、New Columnでテーブル毎のカラムを作成できます。

テーブルのカラムはPrimary KeyUnique Keyだけでなく、Indexを作ることもできます。

そして、各テーブルのカラム同士を繋ぐことで、リレーションを作成することもできます。ここではOne-To-Oneのリレーションを実現しています。

画像とSQLファイルの出力

作成したER図を出力します。現在は.sqlのファイルと.pngの画像ファイルに対応しています。今後はJSONにも対応予定みたいです。

こちらが実際に出力された画像です。非常に綺麗なER図を画像化することができました。

また、SQLファイルの出力はこんな感じです。

create table `user` (
  `id` int not null, `username` text not null, 
  `email` int not null
); 
alter table 
  `user` 
add 
  primary key `user_id_primary`(`id`); 

create table `profile` (
    `id` int not null, `description` text not null, 
    `user_id` int not null
  ); 
alter table 
  `profile` 
add 
  primary key `profile_id_primary`(`id`); 
alter table 
  `profile` 
add 
  constraint `profile_user_id_foreign` foreign key (`user_id`) references `user` (`id`)

最後に

今回はDrawSQLを紹介しました。私みたいにSQLの設計に慣れていない方は、DrawSQLから設計に着手してみてもいいかもしれません。設計、勉強、テストなどさまざまな用途がありそうですね。