ソフトウェアエンジニアのための
オフラインER図ツール

Schemity は、macOS、Windows、Linux で動くソフトウェアエンジニア向けのオフラインER図ツールです。買い切りで、クラウドもサブスクリプションもありません。複雑なスキーマは、関心ごとに絞り込んだコンテキストビューに分割できます。スキーマの実体はひとつのまま、見る角度をいくつも持てます。図は Git で扱いやすい JSON ファイルとして、あなたのマシンの外に出ることなく保存されます。

2週間の無料トライアル。全機能が使え、クレジットカードは不要です。 対応プラットフォームを見る

パンとズームができる実際のER図です。ブラウザ版の Schemity Lite で開いた PostgreSQL のスキーマを表示しています。デスクトップアプリではさらに、稼働中のデータベースへの接続と、手元のマシンに置かれる Git で扱いやすい JSON ファイルが使えます。


機能

作業の邪魔をしないビジュアルモデリング

ちょうどよい初期値、ドラッグ&ドロップで引けるリレーションシップ、そして前に出てこないビジュアルエディタ。チームがツールと格闘するのではなく、スキーマの理解に時間を使えるスキーマビジュアライザです。

スマートなリレーションシップ

1:N、1:1、N:N のリレーションシップを、ドラッグ&ドロップだけで引けます。中間テーブルの自動生成と外部キーの自動命名まで行うので、手作業でつなぎ直す必要はありません。

安全なマイグレーションの流れ

スキーマの変更は、必ずマイグレーションの明示的な確認を経てから適用されます。データベースが意図せず書き換わることはありません。適用する前に、生成されたER図のマイグレーション SQL 差分をそのまま確認できます。

SQL / DBML のインポート

CREATE TABLE 文、SQL のダンプファイル、DBML ファイルをインポートできます。Schemity がエンティティ、フィールド、リレーションシップを自動で組み立てるので、データベースへの接続は要りません。DBML への書き出しもいつでもできます。

素早いプロトタイピング

アイデアが消えないうちに、数秒でスキーマを描き出せます。

自由に曲げられるリレーションシップ線

カスタムウェイポイントとスマートルーティングで、どの接続線も好きな形に整えられます。

ドキュメントとしての CHECK 制約

IN 制約を持つフィールドには下線が引かれ、許可された値はキー操作ひとつで確認できます。

エンティティごとの配色

エンティティに色を付けると、そこから出るリレーションシップがすべて同じ色になります。

複合ユニーク制約がひと目でわかる

複合ユニーク制約は、名前が付いて色分けされたバッジとして表示されます。

タブでシステムを並べる

複数の図を同時に開けます。タブごとに独立した取り消し履歴を持ちます。

スキーマを構造として扱う

public スキーマだけでなく、PostgreSQL の複数のスキーマにまたがってモデリングできます。

AI アシスタント

BYOK かローカルの Ollama を使うため、スキーマが私たちのサーバーを通ることはありません。

ワークフロー

Schemity はどう動くのか - データベースからドキュメント化されたスキーマまでの3ステップ

データベースに接続し、関心ごとに絞り込んだコンテキストビューへ分割し、自信を持ってスキーマを育てていく。すべてを、正となるひとつの図から行えます。

1

接続する、インポートする、ゼロから始める

既存の PostgreSQL からER図を数秒で生成し、MySQL のスキーマをデスクトップで可視化し、あるいはまっさらな状態から描き始められます。何週間もかけて手作業でドキュメントを書かなくても、スキーマの全体像が視覚的に手に入ります。データはすべて手元のマシンに残ります。

Schemity の接続マネージャー。demo、default、work、erd、suberd が並ぶワークスペースの列の隣に、127.0.0.1 上の稼働中の PostgreSQL 接続、SQLite のファイルパス、Supabase のデータベース、そして Offline ERD と記された複数の図が混在するダイアグラムの列があり、その中に MySQL と SQL Server のアイコンも見える
稼働中の PostgreSQL、SQLite のファイル、Supabase、MySQL、SQL Server。そして、データベースに一切触れない Offline ERD と記された図。
2

コンテキストビューに分割する

50個のテーブルを、10個に絞り込んだビューまで減らせます。認証、課金、分析といった関心ごとにコンテキストビューを1つずつ作れば、監査にも、引き継ぎにも、新しいメンバーのオンボーディングにもそのまま使えます。

67エンティティの CMS 図の上に開かれた Schemity のコンテキストビューパネル。Main が Active と表示され、その下に Auth、catalog、mission、account、localization、targeting、assistant、attribute、progress、config、speech、learning という12の名前付きビューがそれぞれ色付きの点とともに並び、ステータスバーには Entities: 67、Relations: 101 と表示されている
Main にある67のエンティティと101のリレーションを、12の名前付きビューに分割。Auth ビューは8エンティティです。
3

自信を持ってスキーマを育てる

Schemity はER図と稼働中のデータベースを突き合わせて差分を取り、必要な SQL マイグレーションをそのまま生成します。ER図はリポジトリの中にプレーンな JSON として置かれるので、外部のサーバーがあなたのスキーマを見ることは一度もありません。

キャンバス上で address フィールドを追加した直後に出る Schemity のマイグレーション確認ダイアログ。生成された ALTER TABLE users ADD COLUMN address TEXT NOT NULL DEFAULT という文と、マイグレーションはトランザクションの中で実行されエラー時にはロールバックされるという注記、そして Apply SQL statement の隣に並ぶ Cancel ボタンが見える
キャンバス上で1フィールド追加したときに生成される ALTER TABLE 文と、Apply の隣に並ぶ Cancel ボタン。
コンテキストマップ

境界づけられたコンテキストは互いにどう依存しているのか

コンテキストビューは、スキーマの一部分に寄って見るための仕組みです。コンテキストマップはその逆で、引いて全体を見ます。ひとつのコンテキストがひとつのノードになり、その間の矢印は、データベースに実際に存在する外部キーから導かれます。だから、マップがスキーマからずれることはありません。

CMS スキーマに対する Schemity のコンテキストマップ。境界づけられたコンテキストがそれぞれ1つのノードになり、エンティティ数のラベルが付いている。learning は17エンティティ、progress は7、localization は5、attribute は4、catalog は3、account は3。ノード間の矢印にはその向きに流れる外部キーの本数のバッジが付き、ステータスバーには Contexts: 12、Dependencies: 20 と表示されている
  • すべての矢印に本数がついています。

    その向きに流れる外部キーが何本あるかがバッジで示されるので、コンテキスト間の結合の強さは感覚ではなく数字になります。

  • 循環依存は曲線として現れます。

    直線の矢印は一方向、曲線なら双方が互いに依存しているという意味です。

  • ダブルクリックすれば実際の外部キーが出ます。

    参照元のフィールド、参照先のエンティティ、制約名。怪しい矢印が、直すべきカラムの一覧に変わります。

  • アーキテクチャについて AI に聞けます。

    BYOK のアシスタントは、複数のコンテキストにまたがる間接的な循環まで見つけます。目で追うだけでは決して見えないものです。

Schemity で learning から account への矢印を開いたところ。この矢印は次のエンティティ間リレーションによって存在します、という見出しのパネルに、fk_trainees_member を介した trainees.member_id から members への参照、fk_training_sessions_presenter を介した training_sessions.presenter_id から members への参照、そして制約名の付いた tenant_id の外部キーがさらに3本並んでいる
矢印をダブルクリックすると、その下にある外部キーへ分解されます。参照元のフィールド、参照先のエンティティ、制約名。ここに手で描かれたものは何もありません。だからこのマップはスキーマからずれません。

コンテキストマップのドキュメントか、外部キーから DDD のコンテキストマップを導くという詳しい解説をお読みください。

他との違い

Schemity は他のER図ツールと何が違うのか

多くのER図ツールは、ブラウザの中で動く作図キャンバスです。Schemity は、記述する対象のデータベースに実際につながっているデスクトップツールです。以下の違いはどれも、トライアルの最初の10分で確かめられます。

データベースを読み取り、その後も追いかけます

ブラウザ版のER図ツールは、貼り付けたテキストとしてスキーマを受け取ります。だから次のマイグレーションが入った瞬間から、図はずれ始めます。Schemity は実際の接続を開いてスキーマを読み取り、図を開くたびに再同期します。エンティティは指定したレイアウトを保ち、削除されたテーブルは消え、新しいテーブルは配置を待つ状態で現れます。

視点はいくつも、正となる図はひとつ

テーブルが30を超えたあたりから、1枚のキャンバスは読めなくなります。多くのツールはそれにズームと自動レイアウトで答えます。Schemity はコンテキストビューで答えます。スキーマ自体には手を触れないまま自由に並べ替えられる、絞り込んだサブダイアグラムです。さらに、その間の依存関係を実際の外部キーから描き出すコンテキストマップがあります。

図はあなたが持つファイルです

多くのツールでは、図はベンダーのデータベースにある1行で、支払いを続けているあいだだけ手が届きます。Schemity はあなたが選んだフォルダにプレーンな JSON を書き出します。だからスキーマの変更はプルリクエストでレビューできる差分になります。すでに使っているツールで、バージョン管理し、ブランチを切り、元に戻せます。

データベースが受け付けるものしか描けません

多くのキャンバスは、どのカラムからどのカラムへでも線を引かせ、多重度はメニューから選ばせます。Schemity では、外部キーは親の主キーを参照し、多重度はその主キーの一意性から決まり、参照アクションはリレーションシップごとに設定し、テーブル名の重複は拒否されます。だから、妥当に見える図は実際に妥当です。

私たちを経由しない AI サポート

クラウド型のツールは AI を従量課金の機能として組み込み、そのためにあなたのスキーマを自社のサーバーへ送ります。Schemity のアシスタントは bring-your-own-key です。スキーマはあなたが選んだプロバイダへ、あなたのアカウントで直接送られます。Ollama 経由でローカルモデルを指定すれば、どこにも送られません

一度の購入で、モデルにメーターは付きません

サブスクリプション型のツールは席数で課金し、モデリングできるテーブル数に上限を設けます。それは設計のしかたを静かに変えてしまいます。Schemity は買い切りで、テーブル、図、ワークスペース、コンテキストビューのいずれにも上限がありません。割り当てに収めるために2つのエンティティを1つにまとめる理由は、どこにもありません。

特定のツールから移ってくる方へ。率直な比較記事があります。ChartDBdbdiagram.ioDbSchemaDrawSQLLucidchart

セキュリティ

セキュリティ - スキーマは手元のマシンから出ません

クラウドを持たないER図ツールなら、クライアントのスキーマが外部のサーバーに触れることはありません。保存しないものは、守る必要も、監査してもらう必要もありません。NDA のあるプロジェクト、受託案件、そしてネットワークから切り離された環境でも安心して使えます。

個人データは保存しません

保存するのは、自動生成されたデバイス ID と国だけです。ライセンス管理と地域ごとのサポートのために使います。氏名もメールアドレスも、利用状況の追跡もありません。あなたを特定できるものは何も持ちません。

決済は LemonSqueezy が扱います

決済処理と請求はすべて LemonSqueezy が管理します。Schemity があなたの支払い情報を見ることも、保存することもありません。

SOC 2 と ISO 27001 に対応しやすい設計

Schemity はほとんど何も保存しないため、SOC 2 と ISO 27001 の要件の多くを設計上そのまま満たします。ER図のファイルはあなたのリポジトリの中にあり、私たちのサーバーにはありません。

クロスプラットフォーム

どのプラットフォームでもネイティブに動きます

主要なオペレーティングシステムのすべてで、なめらかな動作とネイティブな操作感が得られます。

スキーマを、あるべき場所で設計する。手元のマシンで。

買い切りです。全機能が使える2週間のトライアルにクレジットカードは要りません。購入してもしなくても、作った図はあなたのものです。