ERD Editor

نمودار پایگاه‌داده، در یک فایل

ویرایشگر محلی نمودار ER. کل پروژه‌ی شما یک فایل .erd.json است که می‌شود کامیت کرد، diff گرفت و به یک ایجنت هوش مصنوعی داد. بدون حساب کاربری و بدون ابر.

لینوکس · ویندوز · مک · رایگان و متن‌باز

ERD Editor با رابط فارسی: یک پایگاه‌داده‌ی وبلاگ با پنج جدول در دو سکشن، خطوط رابطه و پنل Inspector

چرا یک ابزار ERD دیگر؟

بیشتر ابزارهای نمودار، طرح پایگاه‌داده‌ی شما را در ابر خودشان یا در قالبی نگه می‌دارند که فقط خودشان می‌خوانند. این ابزار آن را در فایلی نگه می‌دارد که مال خودتان است.

یک فایل، یک منبع حقیقت

فایل .erd.json خودِ پروژه است. SQL، DBML، تصویر و Markdown از روی آن ساخته می‌شوند و هرگز دستی ویرایش نمی‌شوند. کلیدها با ترتیب ثابت نوشته می‌شوند و مقدارهای پیش‌فرض نمی‌آیند، پس diffهای Git کوچک می‌مانند.

محلی و خصوصی

هیچ چیز آپلود نمی‌شود. فایل را با Open with از مدیر فایل باز کنید، روی پنجره بکشید یا از دیالوگ انتخاب کنید. ذخیره اتمی است: خرابی هرگز نیمی از فایل را نمی‌گذارد.

برای ایجنت‌های هوش مصنوعی هم

یک فرمت مستند، JSON Schema و یک اسکیل آماده به ایجنت اجازه می‌دهد نمودار شما را مثل JSON ساده بخواند و بنویسد. یک خروجی هم هست که اصلاً یک بریف برای ایجنت است.

خط به ستون وصل می‌شود

رابطه‌ها ستون را به ستون وصل می‌کنند، نه جعبه را به جعبه، با نماد Crow's Foot. هر دو کاردینالیتی، ON DELETE و ON UPDATE روی خط تنظیم می‌شوند.

سکشنی که همراهش را می‌برد

جدول‌ها را بر اساس حوزه در یک قاب جمع کنید. با جابه‌جایی سکشن همه‌ی داخلش می‌روند و با کشیدن یک جدول به بیرون از گروه خارج می‌شود. عضویت از روی چیدمان به دست می‌آید و ذخیره نمی‌شود.

فارسی و انگلیسی

کل رابطه‌ی کاربری هم فارسی دارد هم انگلیسی، با چیدمان راست‌به‌چپ. داده‌ی جدول‌ها همیشه عدد لاتین دارد.

قابلیت‌ها

هر چه این‌جا آمده، همین حالا در برنامه هست.

رسم

جدول، ستون، نوع

با دابل‌کلیک روی بوم جدول اضافه کنید. Tab به ستون بعدی می‌رود. انتخابگر نوع، طول، دقت، مقیاس و مقدارهای enum را پر می‌کند و نوع‌هایی را که پایگاه‌داده‌ی شما ندارد پنهان می‌کند.

رسم

ایندکس و کلید

چند ستون را انتخاب کنید و Ctrl+I بزنید تا ایندکس ترکیبی با ترتیب دلخواه بسازید. PK، unique، not null، auto-increment و مقدار پیش‌فرض برای هر ستون جدا تنظیم می‌شود.

سازماندهی

Inspector و یادداشت

پنل کناری هر چه را انتخاب کرده‌اید ویرایش می‌کند. جدول، ستون و سکشن یادداشت دارند و یادداشت چسبان را می‌شود هر جا گذاشت. یادداشت‌ها به خروجی‌ها هم می‌روند.

سازماندهی

جستجو، تب، Undo

Ctrl+K جدول، ستون و یادداشت را پیدا می‌کند. چند بورد در تب‌ها باز می‌شوند. Undo و Redo ۵۰۰ مرحله نگه می‌دارند، با جابه‌جایی و تغییر اندازه.

اشتراک

خروجی SQL و DBML

CREATE TABLE، ایندکس و کلید خارجی برای MySQL، PostgreSQL، SQLite، SQL Server یا ANSI ساده، و DBML برای dbdiagram.io. هر چه پایگاه‌داده نتواند بیان کند گزارش می‌شود و بی‌صدا حذف نمی‌شود.

اشتراک

تصویر و خروجی از انتخاب

PNG یا SVG از کل بورد یا فقط از آنچه انتخاب کرده‌اید، تیره یا روشن.

اشتراک

وارد کردن SQL

یک dump طرح (CREATE TABLE، ایندکس، کلید خارجی، کامنت، enum) را باز کنید یا بچسبانید تا یک بورد جدید شود.

اشتراک

بریف ایجنت

خروجی Markdown با راهنمای کوتاه خواندن، همه‌ی جدول‌ها با یادداشت‌هایشان، رابطه‌ها و نکته‌های باز.

در یک دقیقه شروع کنید

بدون ثبت‌نام و بدون تنظیمات.

  1. نصب کنیدنصب‌کننده‌ی سیستم خود را از پایین بگیرید، یا در لینوکس AppImage را اجرا کنید.
  2. نمونه را ببینیدCtrl+N بزنید و بورد نمونه را انتخاب کنید: یک پایگاه‌داده‌ی وبلاگ کوچک با سکشن، کلید، رابطه و یادداشت.
  3. مال خودتان را بکشیدروی بوم دابل‌کلیک کنید تا جدول بسازید. از نقطه‌ی یک ستون به جدول دیگر بکشید تا رابطه بسازید. با ? راهنما باز می‌شود.
  4. ذخیره و خروجیCtrl+S فایل .erd.json را می‌نویسد. Ctrl+E خروجی SQL، DBML، تصویر یا Markdown می‌دهد.

میان‌برها

بورد جدیدCtrl N
باز کردنCtrl O
ذخیرهCtrl S
خروجیCtrl E
وارد کردن SQLCtrl Shift I
جستجوCtrl K
Undo / RedoCtrl Z Ctrl Y
InspectorCtrl \
نمایش همهShift 1
تغییر نامF2
ایندکس ترکیبیCtrl I
راهنما? F1

میان‌برها روی کیبورد فارسی هم کار می‌کنند، چون کلید فیزیکی را می‌خوانند.

برای آدم‌ها و ایجنت‌های هوش مصنوعی

چون پروژه JSON ساده با یک schema است، ایجنت می‌تواند طرح پایگاه‌داده‌ی شما را بخواند، تغییر دهد و پس بدهد، و شما نتیجه را در ویرایشگر باز می‌کنید.

۱. فرمت فایل

همه‌ی فیلدها در docs/FORMAT.md توضیح داده شده‌اند، همراه با JSON Schema قابل‌خواندن برای ماشین. شناسه‌ها ثابت‌اند، پس تغییر نام هیچ ارجاعی را خراب نمی‌کند.

۲. اسکیل ایجنت

یک فایل Markdown که به هر ایجنت کدنویسی فرمت، قواعد ویرایش امن و راه بررسی کارش را یاد می‌دهد. اسکیل را بخوانید، یا این لینک را به ایجنت خود بدهید:

https://raw.githubusercontent.com/mnr73/erd-editor/main/skills/erd-editor/SKILL.md

۳. توسعه‌ی خود برنامه

مشارکت‌کننده‌هایی که از ایجنت استفاده می‌کنند فایل AGENTS.md را دارند: قراردادها و تله‌هایی که از روی کد معلوم نیست.

{
  "format": "erd-editor",
  "version": 1,
  "meta": { "name": "shop", "dbType": "postgres" },
  "tables": [
    {
      "id": "t_orders", "name": "orders",
      "columns": [
        { "id": "c_orders_id", "name": "id",
          "type": "bigint", "pk": true },
        { "id": "c_orders_user", "name": "user_id",
          "type": "bigint", "notNull": true }
      ]
    }
  ],
  "refs": [
    {
      "id": "r_orders_user", "label": "places",
      "from": { "table": "t_orders",
                "columns": ["c_orders_user"],
                "cardinality": "0..*" },
      "to":   { "table": "t_users",
                "columns": ["c_users_id"],
                "cardinality": "1" },
      "onDelete": "cascade"
    }
  ]
}

خلاصه‌شده است. فایل کامل: example.erd.json.

استفاده از اسکیل در ۳۰ ثانیه

اسکیل یک فایل Markdown ساده است، پس با هر ایجنتی کار می‌کند: Claude Code، Codex، Cursor، Copilot، Gemini و غیره. یا آن را جایی بگذارید که ایجنت شما اسکیل یا دستورالعمل را می‌خواند (مثلاً skills/erd-editor/SKILL.md یا AGENTS.md)، یا همین متن را در چت بچسبانید:

Read https://raw.githubusercontent.com/mnr73/erd-editor/main/skills/erd-editor/SKILL.md and follow it.
Then, in db/shop.erd.json, add an "invoices" table linked to "orders" with ON DELETE CASCADE, and validate the file.

اسکیل ساختار فایل، قواعدی که نمودار را معتبر نگه می‌دارند (شناسه‌ها، جهت رابطه، کاردینالیتی)، دستورالعمل تغییرهای رایج و راه بررسی کار را به ایجنت می‌دهد. بررسی با یک اسکریپت مستقل انجام می‌شود که فقط Node می‌خواهد. فایل ویرایش‌شده مثل همیشه در ویرایشگر باز می‌شود.

مقایسه با ابزارهای مشابه

ابزارهای مختلف به کارهای مختلف می‌خورند. جای این ابزار این‌جاست.

ERD Editordbdiagram.iodrawDBMySQL Workbenchdraw.io
بدون اینترنت و بدون حساب کاربریبلهسرویس آنلاینداخل مرورگربلهبله (نسخه‌ی دسکتاپ)
کل پروژه یک فایل متنی ساده که مال شماستJSON همراه با schemaدر خود سرویس ذخیره می‌شوددر مرورگر ذخیره می‌شودقالب پروژه‌ی خودشفایل نمودار (XML)
ستون، کلید و رابطه را می‌شناسد (فقط شکل نیست)بلهبلهبلهبلهنه، شکل‌های عمومی
JSON Schema مستند و اسکیل ایجنتبلهنهنهنهنه
اتصال به پایگاه‌داده‌ی زنده و مهندسی معکوسنه (dump ‏SQL را وارد می‌کند)نهنهبلهنه

ستون‌های ابزارهای دیگر برداشت ماست و ممکن است قدیمی شده باشد، پس پیش از تصمیم سایت خودشان را ببینید. اگر خانه‌ای غلط است یک issue بازکنید تا درست کنیم. ERD Editor به پایگاه‌داده‌ی در حال اجرا وصل نمی‌شود: با dump ‏SQL کار می‌کند.

دانلود

آخرین نسخه، ساخته‌شده با GitHub Actions برای هر سیستم.

نسخه‌ها هنوز امضای دیجیتال ندارند. ویندوز ممکن است SmartScreen با «ناشر ناشناس» هشدار بدهد: More info و بعد Run anyway را بزنید. در مک بار اول روی برنامه راست‌کلیک و Open را انتخاب کنید.

یا خودتان بسازید: git clone https://github.com/mnr73/erd-editor && cd erd-editor && npm install && npm run tauri build