2 ポイント 投稿者 GN⁺ 4 시간 전 | 1件のコメント | WhatsAppで共有
  • SQL スキーマを貼り付けると、ブラウザ内でテーブル、カラム、キー、リレーションを即座に ERD として可視化
  • PostgreSQL、MySQL、SQLite、SQL Server の CREATE TABLEALTER TABLE DDL を解析し、主キー・外部キー、unique、not-null 制約を処理
  • テーブルのドラッグ、自動配置、メモ追加、ズーム、ダブルクリックでの名前変更など、インタラクティブ編集をサポート
  • 結果は高解像度 PNG、ベクター SVG、プロジェクトファイル、URL に図をエンコードした 共有リンクとしてエクスポート可能
  • アカウント、登録、インストール不要で、SQL スキーマはサーバーにアップロードも保存もされず、ローカル実行に重点を置く

SQL を貼り付け、スキーマを見る

  • 左側のエディタに CREATE TABLE 文を入力すると、SQL スキーマが ER 図として表示される
  • サンプルスキーマは小規模な EC 構造で、users、addresses、products、orders、order_items、reviews の 6 テーブル7 リレーションで構成される
  • テーブルはドラッグ可能で、スクロールでズームでき、ダブルクリックで名前を変更して完了後にエクスポートできる
  • サンプルスキーマを読み込む機能があり、画面にはズーム率 122% が表示される
  • すべての処理はブラウザで 100% ローカル実行され、スキーマはブラウザの外に出ない

SQL to ER Diagram — 無料オンライン ERD ジェネレーター

  • SQL to ER Diagram は、SQL スキーマをブラウザ内で インタラクティブ ERD に変換する無料のオープンソースツール
  • CREATE TABLE 文を貼り付けると、テーブル、カラム、主キー、外部キー、リレーションを即座に可視化
  • PostgreSQL、MySQL、SQLite、SQL Server で動作
  • テーブルのドラッグ、自動レイアウト整列、メモ追加、PNG または SVG へのエクスポートをサポート
  • 何もアップロードされず、スキーマはユーザーのデバイスに残る

よくある質問

  • SQL から ER 図を作成するには、エディタに SQL の CREATE TABLE 文を貼り付ければよく、ツールがインタラクティブ ERD を即座にレンダリングする
    • テーブルをドラッグして配置したあと、PNG または SVG としてエクスポートできる
  • 対応 SQL 方言は PostgreSQL、MySQL、SQLite、SQL Server で、標準的な CREATE TABLEALTER TABLE DDL を解析する
    • 主キー、外部キー、unique、not-null 制約を処理する
  • SQL to ER Diagram は完全無料かつオープンソースで、アカウントや登録は不要
  • すべての作業はブラウザでローカル実行され、SQL スキーマはサーバーにアップロードも保存もされない
  • 図は高解像度 PNG、ベクター SVG、完全なプロジェクトファイル、URL に図をエンコードした共有リンクとしてエクスポートできる
  • インストール不要で、デスクトップとモバイルの Web ブラウザで動作する

1件のコメント

 
GN⁺ 4 시간 전
Hacker Newsのコメント
  • 数か月前に v0 と一緒に作ったツール https://v0-yaerd.vercel.app を思い出した
    Laravel のマイグレーションファイルを解釈して ERD を作れるツールを見かけなかったので作り、その後プロンプトで基本的な SQL サポートも追加した

  • ツールはとても素晴らしいが、SQL だけでは ER 図は作れないと思う
    エンティティテーブルは根本的に異なり、非常によく似てはいても、SQL だけでは ER 図を作るのに十分な情報がない
    このツールが役に立たないとか、この種の図が有用でないという意味ではなく、やや原論的な話なので他の人は同意しないかもしれない

    • エンティティとテーブルがおおむね対応関係にあるというのが、多くの ORM の基本原理ではないかと思う
      もちろん DDL がエンティティのライフサイクルについて多くを語るわけではないが、関係・フィールド・カーディナリティをグラフで表す程度が基準なら十分に見える
    • より正確に言えば、Chen の定義基準では SQL から抽出した ER 図は最も低レベルの物理ダイアグラムであり、そこから論理/概念ダイアグラムを再構成することはできない
      最近はこの違いを気にする人はあまり多くないようだ
    • SQL から ER に変換する用途は、初見のデータベースを把握するためのものだ
      すでに DB は存在するが ERD がなく、ドキュメントもほとんどないことがある
      だから探索ツールに近く、理想的にはビューを作成してメモを付けられるべきだ
      テーブル数が非常に多かったり、外部キーが欠けたテーブルが多いときに、全体 ERD を一度に見なくて済むからだ
    • 違いをもう少し説明してもらえるとありがたい
      実務的にはほぼ置き換えて使えるが、概念的にはエンティティと関係の上にもっと豊かな意味の層があるようにも思える
      たとえば関係に対する説明や、エンティティに付く追加注釈のようなものだ
    • もう少し詳しく説明してもらえると助かる
      エンティティは常にテーブルと1:1 の関係だと理解していたので、例があるととてもありがたい
  • モバイルでの使い勝手は 100 点満点で 1000 点だ
    パン、拡大縮小、選択、移動があまりに滑らかで、自分の勘違いかと思った

    • コードベース全体が正直新鮮だ: https://github.com/royalbhati/sqltoerdiagram/blob/main/src/m...
      複雑な問題を単純な解法へ磨き上げる開発者が好きだが、この開発者は本当にすごい
      開発者に送れるこれ以上の賛辞は思いつかない
    • 最初に思ったのは、ダイアグラム部分を別ライブラリとして切り出すべきだということだった
      ERD 以外にもこのダイアグラム機能を使える場面が多そうだ
    • 本当に素晴らしい
      ダブルタップで編集しても拡大縮小レベルがリセットされない
      これまで見たモバイル向けサイトの中でも間違いなくトップクラスだ
    • Safari モバイルでテキストフィールドを押すと拡大される点だけが惜しいが、これはみんなが抱える問題だ
  • 大したものではなく小さなツールだが、他の人にも役立つと思った
    データベーススキーマを可視化しなければならないことが何度もあったが、たいていのツールには有料の壁、必須登録、SQL を他人のサーバーへ送らなければならない問題があった
    バックエンドなし、アカウントなし、データは自分の端末から出ない
    実装で面白かった点もある。DOM/SVG の代わりにテーブルをキャッシュされたビットマップへラスタライズし、ビューポートカリングを使って、画面上に何百ものテーブルがあっても滑らかさを保っている
    SQL パーサーはすべてのトークンのソース範囲を追跡しているので、テーブル名変更のような編集でも関連する識別子と参照だけを正確に変更し、コメントとフォーマットはそのまま維持する
    URL にスキーマ全体が入り、共有はスキーマを URL 自体にシリアライズする方式なので、バックエンド・保存状態・アカウントが不要だ
    Rust/WASM 版も試したが、JS↔WASM 境界のコストが計算節約分より大きく、パーサーは約 37% 遅くなった。一方で O(n^2) の重なり解消パスは約 2.2 倍速くなった
    結局は純粋な JavaScript のままにしており、フレームワークなしで gzip ベース約 32KB だ

    • タイトルには無料とあるが、だとするとどの自由ソフトウェアライセンスを使っているのか気になる
      ライセンスが明示されていなければ、オープンソースではあり得ても自由ソフトウェアではない
    • URL にスキーマ全体が入るなら、URL 長制限のために問題にならないだろうか
      「すべての送信者と受信者は、プロトコル要素内で少なくとも 8000 オクテット長の URI をサポートすることが推奨される。」
      https://www.rfc-editor.org/rfc/rfc9110#section-4.1-5
    • とてもよくできている
      レスポンシブでクリーンで、登録の壁がないオンボーディング体験が素晴らしい
  • 「エンティティ vs テーブル」の区別は実際に存在するが、既存スキーマを素早く可視化したい大多数の開発者にとっては、これで十分だと思う
    ここでは完全さは有用さの敵
    ほとんどの人は ORM 抽象化を作りたいのではなく、何が何とつながっているかを見たいだけだ

  • https://explain.dalibo.com/ を思い出す
    クエリ実行計画を可視化するツールで、SQL クエリ最適化に使ったツールの中でも最も有用なものの一つだった
    機密データに使うなら、下の完全オフラインな v2 版をダウンロードするのがよい

  • 直線と90 度に折れた線のオプションもあるとよい
    曲線はあまり好きではないが、見た目は美しく、よくできている

    • TODO リストに追加しておく
  • これらの SVG を CLI で生成する方法があるのか気になる
    本当に気に入っているし、似た機能を持つ VSCode の Postgres 拡張も良かったが VSCode に縛られている
    やはりリポジトリに入れておける、エクスポート可能な CLI オプションがない

  • https://github.com/ondras/wwwsqldesigner を使っているが、比較対象として考慮する価値があると思う

    • V8CGI のあの Ondras か?
      あのプロジェクトは本当に好きで、最初期のサーバーサイド JS 実装の一つだった
      自分だけがフォロワーだったのかもしれないが、Ondřej、仕事ぶりは本当に素晴らしかった
  • 悪くないが、GitHub に LICENSE ファイルがない: https://github.com/royalbhati/sqltoerdiagram