drawDB: Sơ Đồ ERD Miễn Phí Trên Trình Duyệt
drawDB là một trình chỉnh sửa ERD chạy ngay trên trình duyệt, miễn phí, cho phép bạn phác thảo schema database và có ngay SQL thật mà không cần cài đặt gì hay tạo tài khoản. Hãy chọn drawDB khi bạn cần một sơ đồ nhanh, không vướng bận, trước khi đụng vào database thật; bỏ qua nếu bạn cần tính năng cộng tác nhóm tích hợp sẵn hoặc lịch sử phiên bản, vì cả hai đều không có trong gói mã nguồn mở này.
drawDB Là Gì?
drawDB là một trình chỉnh sửa sơ đồ quan hệ thực thể (ERD) chạy hoàn toàn trên trình duyệt, được xây dựng bằng React và Tailwind CSS. Bạn kéo thả để tạo bảng, định nghĩa cột và quan hệ, rồi drawDB biến sơ đồ đó thành một script SQL để xuất ra — nó cũng đọc lại một script SQL có sẵn để dựng thành sơ đồ. Sơ đồ được lưu vào IndexedDB ngay trên trình duyệt, nên luồng chỉnh sửa chính không cần gọi tới server.
Năng Lực Cốt Lõi
- ✓Trình chỉnh sửa ERD trực quan để dựng bảng, cột và quan hệ chỉ với vài cú click, không cần tài khoản hay đăng ký.
- ✓Luồng SQL hai chiều: xuất một sơ đồ thành script SQL, hoặc import một script SQL có sẵn để có lại sơ đồ.
- ✓Tạo migration, nên thay đổi schema ra thẳng dưới dạng SQL có thể chạy trên database thật, thay vì so sánh ảnh chụp màn hình bằng tay.
- ✓Nhận biết nhiều loại database — các topic của repo liệt kê rõ hỗ trợ PostgreSQL, MariaDB, SQL Server, SQLite và Oracle Database, chứ không chỉ một dialect SQL cố định.
- ✓Sơ đồ được lưu cục bộ qua IndexedDB, nên reload trang không mất công sức dù không có backend.
- ✓Tính năng chia sẻ file tuỳ chọn qua một server đi kèm, drawdb-io/drawdb-server, cấu hình bằng biến môi trường riêng — chỉ cần khi bạn muốn chia sẻ sơ đồ cho người khác.
- ✓Tuỳ biến editor, theo README, ngoài luồng chính là vẽ sơ đồ và xuất SQL.
Bắt Đầu Với drawDB
Chạy local cần Node và npm: git clone https://github.com/drawdb-io/drawdb, sau đó npm install và npm run dev. Build production là npm run build với cùng các bước clone và install. Để chạy trong container, docker build -t drawdb . rồi docker run -p 3000:80 drawdb sẽ phục vụ ứng dụng ở port 3000. Không bước nào trong số này cần tài khoản hay connection string database — drawDB chạy độc lập cho tới khi bạn thật sự cần tính năng chia sẻ, lúc đó mới cần tới project drawdb-server riêng và các biến môi trường trong .env.sample của nó.
Điểm Mạnh
- ✓Không tài khoản, không đăng ký, không phụ thuộc server cho editor chính — clone về hoặc dùng bản hosted là bắt đầu vẽ sơ đồ ngay.
- ✓Hỗ trợ SQL hai chiều (export và import) nghĩa là drawDB không chỉ là công cụ vẽ có SQL như một tính năng phụ — một script bạn đã có sẽ biến thành sơ đồ.
- ✓Nhận biết rõ nhiều database (PostgreSQL, MariaDB, SQL Server, SQLite, Oracle Database, theo topic của repo) thay vì chỉ hard-code một dialect SQL.
- ✓Tự host được chỉ với một dòng lệnh Docker build và run, quan trọng nếu sơ đồ mô tả một schema bạn không muốn rời khỏi hạ tầng của mình.
- ✓Toàn bộ luồng — modeling, export/import SQL, migration — nằm gọn trong một tab trình duyệt, không phải nhảy qua lại giữa app vẽ sơ đồ và một SQL client riêng.
Những Điều Cần Cân Nhắc
- △Chia sẻ sơ đồ cho người khác không có sẵn trong client — cần dựng riêng project drawdb-server và cấu hình .env.sample của nó, là công sức thật với đa số setup một người dùng.
- △README không mô tả chi tiết từng bước sử dụng trong app ngoài 'vài cú click', nên chi tiết luồng thao tác chưa được xác nhận ở đây.
- △AGPL-3.0 là giấy phép copyleft, không permissive như MIT — chạy một bản đã chỉnh sửa như một network service thường kéo theo nghĩa vụ công khai source mà một lựa chọn giấy phép permissive khác sẽ không có.
- △README không nhắc tới tính năng cộng tác hay lịch sử phiên bản, nên việc nhiều người cùng sửa một sơ đồ không nằm trong gói mã nguồn mở như được ghi nhận.
Các Công Cụ Diagram Khác
Câu Hỏi Thường Gặp
drawDB phát hành theo giấy phép AGPL-3.0, nên dùng cho mục đích thương mại là được phép, nhưng AGPL là copyleft: nếu bạn chỉnh sửa drawDB và chạy nó như một network service, thông thường bạn phải công khai source đã sửa. Hãy đọc kỹ toàn văn giấy phép trước khi triển khai bản đã chỉnh sửa cho mục đích thương mại.
Theo chính các topic của repository, drawDB nhắm tới PostgreSQL, MariaDB, SQL Server, SQLite và Oracle Database cho việc xuất/import SQL, cùng với khả năng tạo SQL chung.
drawDB được thiết kế để tự host: clone repo rồi chạy npm run dev hoặc npm run build ở local, hoặc build và chạy Dockerfile có sẵn bằng docker build -t drawdb . và docker run -p 3000:80 drawdb.
Trình chỉnh sửa chính của drawDB hoạt động được mà không cần tạo tài khoản, theo README; sơ đồ được lưu cục bộ qua IndexedDB. Tài khoản chỉ liên quan khi bạn dựng riêng server chia sẻ tuỳ chọn.
Repository của drawDB có file CONTRIBUTING.md hướng dẫn cho người đóng góp, và dự án còn duy trì một server Discord để thảo luận ngoài GitHub issue và pull request.
Vấn đề nó giải quyết
Phác thảo một schema database trước khi xây dựng gì cả thường buộc bạn chọn một trong hai: vẽ tay các ô và mũi tên trong một công cụ diagram chung chung không hiểu SQL là gì, hoặc mở một database client đầy đủ tính năng vốn giả định bạn đã có kết nối sống để modeling theo. drawDB nằm ở giữa hai lựa chọn đó — được xây riêng xoay quanh việc modeling entity-relationship với SQL là output hạng nhất, nên bạn thiết kế schema, xuất ra script, hoặc import một script có sẵn để trực quan hoá nó, tất cả trước khi database thật sự tồn tại để kết nối.
Trường hợp sử dụng tốt nhất
- •Whiteboard một schema mới cùng team trước khi viết file migration nào, rồi xuất kết quả thành SQL để seed migration đầu tiên.
- •Reverse-engineer một schema lạ bằng cách import một script SQL có sẵn và có lại sơ đồ ERD trực quan.
- •Làm việc trên stack nhiều loại database — PostgreSQL, MariaDB, SQL Server, SQLite hoặc Oracle — mà không phải đổi công cụ theo từng vendor.
- •Chạy một instance tự host riêng tư qua Docker cho các team không muốn sơ đồ schema chạm vào một SaaS bên thứ ba.
- •Vẽ nhanh sơ đồ cho tài liệu hoặc mô tả pull request, vì editor chính không cần tài khoản hay bước setup nào.
Ai nên dùng — và ai nên bỏ qua
Chọn drawDB nếu bạn muốn một cách nhanh, không cần cài đặt, để phác thảo schema và có ngay SQL thật — hợp với dev solo, team nhỏ đang prototype data model, hoặc bất kỳ ai muốn có ERD mà không phải mở một database client nặng nề. Bỏ qua nếu bạn cần cộng tác nhiều người tích hợp sẵn, lịch sử phiên bản của sơ đồ, hoặc bạn không thoải mái với điều khoản copyleft của AGPL-3.0 cho một triển khai thương mại — không cái nào trong số đó được giải quyết bởi gói mã nguồn mở như đã ghi nhận.
Repo liên quan
Vẫn đang phân vân về drawdb?
Một cú bấm sẽ gửi câu hỏi kèm trang này cho AI — xem AI nói gì về drawdb.
