ClaudeはA5:SQL Mk-2のER図を書けるか


DE-TEIUです。

今のClaudeは、多少DB設計っぽいこともやろうと思えばできるので、せっかくならER図まで書いてくれないかな、と思ってちょっと試してみた話です。

ゆるWeb勉強会@札幌 #30で話したトピックを再編集したものです。

A5:SQL Mk-2

A5:SQL Mk-2という、最高のDBクライアントがあります。

image1
  • Windowsで動くフリーのDBクライアント
  • 様々なDBに接続できる(Oracle、PostgreSQL、MySQL、SQL Server などなど)
  • レコードの参照、更新が直感的にできる
  • 当然SQLの実行もできる
  • ER図を作れる
  • 業務系システムの開発をしている会社が使いがち(な気がする)


ER図はこんな感じで編集できます。

image2

テーブルのカラム定義の編集ウィンドウはこういう雰囲気。わかりやすい。

image3

そしてなんとこのER図からDDLを生成してくれたり。

image4 image5

ところで、このER図の中身はどうなってんの?

実はこれ、中身はテキストデータになっています。

# A5:ER FORMAT:19
# A5:ER ENCODING:UTF8
# A5:ER Mk-1 Copyright © 2007 m.matsubara
# A5:SQL Mk-2 Version 2.20.4 Copyright © 1997 - 2025 m.matsubara
#  https://a5m2.mmatsubara.com

[Manager]
ProjectName=テストプロジェクト
Author=DE-TEIU
MaxEntityRowShow=1000
...
...
...

ということは、これもしかしてファイルの記法ルールを学習させたらAIに作ってもらえるのでは?

とりあえず命令してみる

image6

さすがにこれを言うだけじゃダメだった。ClaudeはA5:SQLのER図についてのコンテキストは持ってなさそう。

このER図の記法をドキュメント化しよう

こんな流れでER図の仕様をドキュメント化できたりしないかね?

やってみよう。

  1. Claudeに適当なシステムのDDLを作らせる
  2. そのDDLを実行し、テーブルを作る
  3. A5:SQLの機能で、テーブルを作ったスキーマから ER図(.a5er)をリバース生成する
  4. 生成したa5erファイルをClaudeに渡して、このファイルの記述ルールを理解させる(ルールをテキストファイルで出力させる)
  5. 記述ルールをClaudeに渡して、同時に別のシステムのER図を作らせる(これができたら成功!)

Claudeに適当なシステムのDDLを作らせる

image7

そのDDLを実行し、テーブルを作る

image8

A5:SQLの機能で、テーブルを作ったスキーマから ER図(.a5er)をリバース生成する

image9
image10

生成したa5erファイルをClaudeに渡して、このファイルの記述ルールを理解させる

image11

記述ルールをClaudeに渡して、同時に別のシステムのER図を作らせる

image12

ER図をA5:SQLで開いてみよう

image13

できてそう。 ちなみにこれ、もちろん一発でできた訳ではなくて、何回かプロンプトを調整しながら試して最終的にこうなった。 最初のうちはいざA5:SQLで開いたら何も出てこない謎のa5erファイルとか作られてた。

結論

やろうと思えばできる

まとめ

今回、

  1. テキストベースのER図データをAIに与え、その記述ルールを学ばせる
  2. 学ばせた記述ルールをもとに、別のER図を生成させる

という手順でER図の生成を行った。

この方法は、テキストベースのデータであれば、恐らくどんなファイルの生成にも応用できる。 サンプルとなるデータを渡してやれば、たぶん何でも作れるようになりそう。何か他のことにも応用したい。

補足(と言いつつここが最重要)

イベントでこの話をした後、登壇資料を公開したら、なんとA5:SQL作者の方の目にとまり、下記のコメントをいただきました。

A5:SQL Mk-2 作者ですが仕様を公開していなかったので、LLMで出力できると思っていませんでした。とはいえ、問題はありそうですね。まだドラフト扱いのドキュメントですが、ER図ファイルの仕様を公開しました。 a5m2.mmatsubara.com/document/a5er_…

DE-TEIU🍟
DE-TEIU🍟
@de_teiu_tkg

さっきの資料公開しました #ゆるWeb札幌 docswell.com/s/8895128/5WM8…

そして公式のER図ファイルの仕様書を公開していただきました。ありがとうございます。

ちなみにこの仕様書を使ってa5erファイルを自動生成したところ、一発でいい感じのものが生成されました。 ということで、A5:SQLのER図をAIに作らせたくなったら上記の仕様書を読ませて作りましょう。