転職したらスマレジだった件

スマレジのエンジニアやまてのテックブログです。マジレス大歓迎です。

ER図の作図などに関する自動化について A5M2, dbdiagram.io, DBeaver を使ってみる - ①コメントまとめ

こんにちは!

スマレジ・テックファームのWebエンジニアやまてと申します。



暑いし、熱い夏です。


はじめに

※ タイトルにあるツール(A5M2, dbdiagram.io, DBeaver)を使ってみた様子と感想は次回投稿予定です


qiita.com

先日、こちらの記事をQiitaに投稿したところ、有り難いことに多くの方に記事を見ていただきました。有用なコメントも多数いただき有り難い気持ちです。


スマレジ社内のSlackのチャンネルでも、実務ではどう使っているかということをコメントいただいて、私はSESの部署なので、自社プロダクトでの様子はわかっていないためとても参考になりました。



中にはツールを紹介いただいたコメントもありましたので、いただいたコメントを抜粋して、今回の記事の中でコメント自体とツールをご紹介させていただきたいと思います。



記事を書く目的

せっかくなので、今回ER図関連のツールについては深堀し切ってしまおう、と思っています。

今回は言ってしまえば、それほど深掘りするつもりのなかった内容ですが、せっかく「実務ではこうする」というコメントを聞けたので、試しておくといつか良いことがある気がしています。


今回は、いただいたコメントのまとめをして、

次回、気になった3つのツールを使ってみた様子と感想を書こうと思います。


INDEX


いただいたコメントまとめ

まずは、いただいたコメントを以下の場所から収集してまとめます。


Qiitaのコメント欄

A5:SQL Mk-2(A5M2)

a5m2というフリーツールでER図が書けるので良かったらこちらも評価頂けると幸いです。こちらのツールの主機能は、RDBクライアントになりますが。

a5m2.mmatsubara.com

正式名称は「A5:SQL Mk-2」なんですね。ER図を書いて、そのER図のとおりに作成できるDDLを生成して、データベースにテーブルを作成できるツールのようです。

ER図に関連した機能について、簡単なフローチャートで書くとこんな感じでしょうか。 Notion のコードブロックで Mermaid を書いてみたので、コードも参考に載せています( Mermaid も先日知ったばかりなので修行中です)。



概念モデル(列は書かずテーブルの関連まで)までは、PlantUMLで良いかと思います。 論理モデル以降は、他のかたが紹介しているER図からコードを自動生成できるA5m2を利用するで良いかと思います。 以前、実務で上記で対応した実績あります。

ER図を書くときはこれを使う、というような1対1の関係ではなく、ステップに応じてツールを使い分けていくんですね。



DBeaver

DBeaverも良いかと思います。 A5:SQL Mk-2と同様に、主機能はRDBクライアントです。

dbeaver.com

作成したテーブルについては、ER図を自分で書かなくても、自動生成してくれる機能があるようです。


ER図からDDLを生成して、DDLからテーブルを作成したい場合には、A5M2がより自由自在で良さそうです。



はてなブックマークのコメント欄

はてなブックマークでコメントする勢がいらっしゃることを今回記事にコメントいただくことで初めて知りました。コメント20件もいただいていました。

気軽に呟いた独り言の内容を共有いただけている感覚で、とても参考になりました。


dbdiagram.io

ER図の作図について、 Draw.io, PlantUML, Mermaid を比較してみる。(VSCode拡張機能など) - Qiita

使ったこと無いけどDBML+dbdiagram.ioとか。でも有料なのかこれ

2022/07/31 12:16
b.hatena.ne.jp

一部機能は無料でも使えるみたいで、ER図からDDLの生成や、DDLからER図の生成は無料枠でもできそうなので、図の見た目が個人的に好きそうだし試してみることにします。

このように使えそう。

ER図を書くのは DBML という言語を使います。初めて知りましたが、記法としては簡単そうな印象です。

www.dbml.org



その他、有用なコメント

ER図の作図について、 Draw.io, PlantUML, Mermaid を比較してみる。(VSCode拡張機能など) - Qiita

mermaidはnotion使って共同編集できるのがとても良いね。同様にesaではplantumlが使えた記憶がある

2022/07/31 08:30
b.hatena.ne.jp

esa.io

ER図はどのように共有、編集するか、というのも考慮する要素の一つなんですね。




ER図の作図について、 Draw.io, PlantUML, Mermaid を比較してみる。(VSCode拡張機能など) - Qiita

ER図を書いたらそこからDDLを生成してほしいのだけど、それを求めると古いER Masterか有料のJetBrainのやつ2択になる気がする

2022/07/31 19:57
b.hatena.ne.jp

ermaster.sourceforge.net

ER Master これは確かに古そう…今回はお見送りします。

www.jetbrains.com

www.jetbrains.com

こちらは、使い始めるには IDE の鞍替えになる感じで、有料でもあるので、気軽には試せない感じですね。




ER図の作図について、 Draw.io, PlantUML, Mermaid を比較してみる。(VSCode拡張機能など) - Qiita

記法などに気を取られて設計に集中できないので結局、astah にもどった

2022/08/01 16:29
b.hatena.ne.jp

astah.change-vision.com

astah は有料ですが、SQL出力ができるんですね。




ER図の作図について、 Draw.io, PlantUML, Mermaid を比較してみる。(VSCode拡張機能など) - Qiita

こういうツール、結局分かりづらくて、もうExcelでも何でも良いから概念ERの大雑把なやつだけ書いて、詳細は項目定義から読み取れや、ってスタイルにここ数年なってる。ERは大まかに把握する、っていう目的に限定させる

2022/07/31 21:48
b.hatena.ne.jp

目的を大まかに把握することに限定して、ER図を作り込まない、というのはとても参考になる考え方でした。

ER図を作り込んだり、図の正確さを保守するというのは、コストがかかりますし、それを自動でやってくれるツールがあればそれを使った方が良い、という他の方のご意見にも通ずるところですね。


いただいたコメントの抜粋は以上です。


ご紹介いただいたツールで無料のものから、下記のツールを試しに使ってみようと思います。

  • A5M2
  • dbdiagram.io
  • DBeaver

それぞれ使うまでの手順、やってみたこと、感想あたりを書ければと考えています。


今回、アウトプットのメリットを享受することができ、有用なコメントを投稿いただいた方には、本当に感謝です。

来週、タイトルにあるツール(A5M2, dbdiagram.io, DBeaver)を使ってみた様子と感想について投稿します。

ありがとうございました。