無料ツール

DBML を ER 図に変換

DBML を貼り付けると、開いて編集できる ER 図ができます。テーブルは列とキー付きで描かれ、Ref はすべて列どうしを結ぶ線に、テーブルグループは枠になります。手書きの DBML でも、SQL や他のエディターから生成した DBML でも使えます。

出力例

DBML のサンプルから描いた図の例
サンプルを試すオンラインショップ

使い方

  1. DBML を貼り付けるかドロップ

    .dbml ファイルや、他のエディターからコピーした DBML を使えます。Project、Enum、TableGroup のブロックが含まれていても構いません。メモやサンプルレコードもテキストに残したままで大丈夫です。

  2. テーブル、Ref、グループを確認

    Table はそれぞれ列を載せたカードになり、Ref は外部キーの列から参照先の列への線に、TableGroup は枠になります。

  3. Archboard で開く

    新しい図として保存すれば、配置の変更、注釈の追加、リンクの共有、SVG・PNG へのエクスポートができます。登録は Google か GitHub のアカウントだけで済みます。

DBML から描かれるもの

図は DBML の次の部分から作られます。

  • Table

    Table ごとに、列ごと 1 行のカードを作ります。各行には列名、型、PK と UK の印が付きます。NULL を許す列は型の後に疑問符が付きます。DBML では、not null の設定がなく主キーにも含まれない列がこれに当たります。as で書いたエイリアスは、Ref のどこで使われていても解決します。

  • Ref<>-<>

    長い形式、短い形式、インラインの Ref を読み込みます。< は 1 対多、> は多対 1、- は 1 対 1、<> は多対多で、鳥の足記法(IE記法)の線端で描きます。複合 Ref やスキーマをまたぐ Ref にも対応し、inactive の Ref は破線になります。

  • indexespkunique

    列の設定や indexes ブロックで指定した主キー。(order_id, line_no) [pk] のような複合キーも含みます。一意な列には、列の設定でも 1 列だけの一意インデックスでも UK の印が付きます。複数列にまたがる一意インデックスと通常のインデックスには印が付きません。

  • TableGroup

    TableGroup ブロックはテーブルを囲む枠になります。グループに入ったテーブルは、スキーマに独自の枠があってもグループの枠に入ります。

  • schema.table

    sales.orders のようにスキーマで修飾した名前。DBML が複数のスキーマを使う場合は、スキーマごとに 1 つの枠にまとめます。

  • TablePartial~partial

    ~名前 でテーブルに取り込む TablePartial ブロック。id やタイムスタンプのような共通の列が、それを使うすべてのテーブルに表示されます。テーブル自体に書いた列は、TablePartial の列より優先されます。

DBML から描いた図に含まれないもの

  • ノート類。テーブルや列のノート、プロジェクトのノート、付箋の Note ブロックは読み飛ばして件数を数えます。
  • use と reuse によるインポート。貼り付けたテキストから他の DBML ファイルはたどれないため、これらの行は警告付きで読み飛ばし、そのファイルにあるテーブルへの Ref は描きません。
  • 色。テーブルの headercolor、Ref やグループの color は使いません。カードと線は Archboard の標準スタイルで描かれます。
  • サンプル行を書いた Records ブロックと、DiagramView、Dep のブロック。データは読み込みません。

DBML に関する質問

他のツールの DBML も使えますか?

はい。DBML は dbdiagram.io のために作られたオープンな言語で、そこで書いたファイル、そこからエクスポートしたファイル、DBML CLI の sql2dbml コマンドで生成したファイルも同じように読めます。色など Archboard が使わない設定は、エラーにせず読み飛ばします。

TableGroup はどう表示されますか?

テーブルを含む TableGroup はそれぞれ、テーブルを中に収めた枠になり、スキーマの枠より優先されます。DBML が複数のスキーマを使う場合、どのグループにも入らないテーブルはそれぞれのスキーマの枠に入ります。グループの色やノートは使いません。

他の DBML ファイルをインポートしているプロジェクトも図にできますか?

ファイルを順に同じテキストボックスへ貼り付けてください。use と reuse の行は警告付きで読み飛ばし、貼り付けたテキストにあるテーブルと Ref はすべて描きます。ツールが読むのは渡されたテキストだけなので、インポート先を自動でたどることはしません。

Archboard で開くと何が保存されますか?

プレビューは保存されません。「Archboard で開く」を選ぶと、テーブルのカード、列名と型、グループの枠、線を含む描かれた図が、新しい図としてワークスペースに保存されます。あとで DBML を変更しても図は更新されません。

DBML から ER 図を作るツールは無料ですか?

はい。DBML の貼り付けと図の表示にアカウントは不要です。図を Archboard で開くには無料アカウントが必要です。

1分でキャンバスを開く

Google または GitHub でサインイン。1シートは無料で、チームが加わったらアップグレード。