ErdDocs

Công cụ vẽ sơ đồ ERD online

ErdDocs không bắt bạn vẽ sơ đồ ERD mà tự tạo ra nó. Hãy dán bản dump SQL, lược đồ Prisma, migration hoặc model ORM. Chỉ sau vài giây, các thực thể, thuộc tính và quan hệ sẽ hiện ra theo ký hiệu chân quạ. Công cụ miễn phí, không cần tài khoản hay cài đặt. Lược đồ không được tải lên đâu cả.

Lược đồ của bạn

Danh mục phim, được tạo từ SQL bên trái. Hãy dán lược đồ của bạn đè lên.

Sơ đồ ERD tạo từ lược đồ danh mục phim: studios, people, films, film_credits, theaters và screenings, có dấu chân quạ trên mọi quan hệ.Sơ đồ ERD tạo từ lược đồ danh mục phim: studios, people, films, film_credits, theaters và screenings, có dấu chân quạ trên mọi quan hệ.
Cùng lược đồ danh mục phim, đúng như bản xuất SVG vẽ ra.

Đây có phải công cụ vẽ không?

Không. ErdDocs lấy sơ đồ từ lược đồ bạn dán. Không có bảng hình mẫu, không có công cụ kẻ đường, không có khung trống để bắt đầu. Ở đây, sơ đồ ERD là kết quả của việc đọc lược đồ, không phải thứ bạn tự lắp ghép. Bạn dán đoạn văn bản vốn đã mô tả cơ sở dữ liệu. Từ đó công cụ dựng ra các hộp, cột, khóa và bản số. Bạn vẫn kéo được các bảng để sắp xếp, và liên kết chia sẻ giữ lại cách sắp xếp đó. Nhưng mọi thứ sơ đồ hiển thị đều lấy từ lược đồ của bạn, không có gì phải gõ lại bằng tay.

Gần như mọi công cụ khác xuất hiện khi tìm kiếm cụm từ này đều làm ngược lại. Phần tiếp theo nói về trường hợp duy nhất ErdDocs để lại cho công cụ vẽ: cơ sở dữ liệu chưa tồn tại.

Vẽ hay tạo?

Tất cả phụ thuộc vào một điều: lược đồ đã có hay chưa.

  • Lược đồ chưa có: hãy vẽ. ErdDocs đọc lược đồ, nên đây là trường hợp duy nhất nó không lo được. Khi chưa có cơ sở dữ liệu, mô hình dữ liệu được bàn bạc và phác thảo: có những thực thể nào và chúng liên kết ra sao. Đơn hàng tự giữ địa chỉ hay chỉ trỏ tới một địa chỉ? Quan hệ này có thật là nhiều-nhiều không? Khung vẽ hoặc bảng trắng là nơi phù hợp để bàn những câu hỏi đó. Khi mô hình đã thành một migration hay một câu CREATE TABLE, ErdDocs đọc tiếp từ đó.
  • Lược đồ đã có: hãy tạo. Khi các bảng đã có thật, chúng đã được mô tả chính xác trong câu lệnh CREATE TABLE, trong lược đồ Prisma, trong tệp migration, trong lớp model ORM. Vẽ tay lại một lược đồ đã có nghĩa là chép lại thứ đã được mô tả. Việc đó tốn thời gian của bạn, và kết quả chỉ là thêm một bản sao kém tin cậy hơn. Bản chép đó sẽ lỗi thời ngay từ migration tiếp theo.

Trong các công cụ vẽ sơ đồ ERD, ErdDocs là công cụ làm cho cơ sở dữ liệu đã tồn tại. Phần còn lại dành cho việc phác thảo từ đầu. Phần lớn người tìm công cụ ERD đã có sẵn lược đồ. Họ vẫn chọn công cụ vẽ, vì kết quả tìm kiếm chỉ đưa ra công cụ vẽ.

Những gì ErdDocs làm được mà các công cụ vẽ sơ đồ ERD khác không làm được

Mọi công cụ dưới đây đều vẽ sơ đồ ERD. Bảng bên dưới so sánh những việc ErdDocs làm được.

Tính năngErdDocsdbdiagramEraserdiagrams.netLucidchartSmartDrawMiroFigma FigJam
Tự dựng sơ đồ từ SQL, đủ cả bảng lẫn mọi quan hệ✓ Có✓ CóMột phần: SQL làm lời nhắc cho AIMột phần: chỉ có bảng, đường nối vẽ tayMột phần: kéo bảng lên khung vẽ bằng tayMột phần: từ CSV, không phải SQLMột phần: bằng AI hoặc mã MermaidMột phần: chỉ từ mã Mermaid
Đọc Prisma và model ORM✓ Có× KhôngMột phần: mã làm lời nhắc cho AI× Không× Không× Không× Không× Không
Tìm quan hệ không có khóa ngoại, miễn phí✓ CóMột phần: AI trong gói trả phíKhông nêu× Không× Không× KhôngMột phần: AI gợi ý quan hệKhông nêu
Lược đồ không bị gửi lên máy chủ của nhà cung cấp✓ CóMột phần: chỉ trong trình tạo liên kết× Không✓ Có× Không× Không× Không× Không
Xuất ảnh không cần tài khoản✓ CóKhông nêu× Không✓ Có× Không× KhôngMột phần: chỉ với bảng trắng cơ bản× Không
Xuất Mermaid, DBML và PlantUML✓ CóMột phần: chỉ DBML× Không× KhôngMột phần: Mermaid, chỉ qua MCP× KhôngMột phần: chỉ Mermaid× Không
Từ điển dữ liệu in được✓ CóMột phần: tài liệu web, không có PDFKhông nêu× Không× Không× KhôngKhông nêu× Không
Không cần thuê bao✓ Có× Không× Không✓ CóMột phần: gói miễn phí không nhập được ERD× Không× Không× Không

Bảng dựa trên trang web của chính từng nhà cung cấp, tính đến tháng 11 năm 2026. «Không nêu» nghĩa là nhà cung cấp không nói đến điều đó. Tên sản phẩm thuộc về chủ sở hữu tương ứng.

Gần ErdDocs nhất là dbdiagram. Nó cũng dựng sơ đồ từ SQL. Nhưng nó không đọc Prisma hay model ORM, và không xuất ra Mermaid hay PlantUML. Quan hệ không có khóa ngoại chỉ được tìm bằng AI, trong gói trả phí. Gói trả phí của dbdiagram chỉ có dạng thuê bao, còn ErdDocs chỉ cần trả một lần.

Eraser không phân tích SQL. Nó đưa SQL cho một mô hình AI làm lời nhắc, nên lược đồ rời khỏi máy bạn. Muốn xuất thì phải có tài khoản. Mermaid, DBML và PlantUML không nằm trong các định dạng xuất của nó.

diagrams.net biến SQL dán vào thành các bảng, nhưng quan hệ giữa chúng bạn phải tự vẽ bằng tay. Nó không đọc model ORM và không tạo từ điển dữ liệu.

Lucidchart cần một tài khoản và một truy vấn được thực thi trên cơ sở dữ liệu đang chạy. Sau khi nhập, các bảng phải được xếp lên khung vẽ bằng tay. Quan hệ chỉ được lấy từ những khóa ngoại đã khai báo.

SmartDraw dựng ERD từ một tệp CSV mà bạn xuất ra bằng truy vấn trên cơ sở dữ liệu đang chạy. Nó không đọc bản dump SQL hay model ORM, và chỉ chạy online.

Miro và Figma FigJam dựng ERD bằng AI hoặc từ mã Mermaid, không phải từ SQL. Lược đồ được lưu trên đám mây của họ. Muốn xuất thì phải qua tài khoản.

Vì sao ERD vẽ tay lỗi thời, còn ERD được tạo ra thì không

Sơ đồ vẽ tay là một bức ảnh chụp, không có liên kết nào với cơ sở dữ liệu. Migration tiếp theo thêm một cột, đổi tên một bảng hoặc bỏ một khóa ngoại. Sơ đồ vẫn hiện hình dạng cũ. Nó chỉ được sửa khi có người nhớ ra nó, tìm được tệp, có giấy phép trình chỉnh sửa và có thời gian. Thường thì việc đó chỉ xảy ra đúng tuần sơ đồ được vẽ, rồi không bao giờ nữa. Nhiều kho mã chứa một sơ đồ mâu thuẫn với lược đồ nằm ngay cạnh.

Sơ đồ được tạo ra không có phiên bản nào phải giữ cho khớp. Nó là một cách nhìn vào văn bản lược đồ. Chạy lại trên bản dump hiện tại chỉ mất vài giây, và kết quả chắc chắn đúng. Bạn có thể tạo lại sơ đồ ở mỗi lần phát hành. Từ cùng nội dung dán vào, bạn có thể xuất Mermaid cho README, SVG cho trang tài liệu, hoặc một từ điển dữ liệu đầy đủ để bàn giao.

Có thể dán những gì?

Mười định dạng, nhận biết tự động. Bạn dán tệp nguyên trạng, công cụ tự hiểu nó đang đọc gì.

  • SQL: script PostgreSQL, MySQL, SQL Server và SQLite, đúng như máy chủ và công cụ của chúng tạo ra, chẳng hạn kết quả của pg_dump, mysqldump hoặc «Generate Scripts» trong SSMS. Công cụ đọc được dấu backtick, AUTO_INCREMENT, các lô GO của SSMS và các khóa khai báo trong một câu ALTER TABLE phía sau. Xem trang về MySQL để biết một bản dump chứa gì.
  • Ngôn ngữ lược đồ: Prisma, DBML, Mermaid và PlantUML. Chúng vốn đã là sơ đồ dạng văn bản, chỉ cần vẽ ra.
  • Model ORM: lớp Django, SQLAlchemy, Sequelize và TypeORM, cùng migration Laravel. Đây chính là những dự án chưa bao giờ có sơ đồ, vì cơ sở dữ liệu được định nghĩa trong mã ứng dụng.

Trang định dạng liệt kê từng định dạng, kèm phần nào được đọc và phần nào được cố ý bỏ qua.

Kết quả cũng xuất được sang Mermaid, DBML, PlantUML hoặc SQL, để dán vào README hay tài liệu dự án.

Sơ đồ được tạo ra cho thấy những gì?

Mỗi bảng là một hộp. Bên trong là các cột với kiểu thật của chúng, các khóa được đánh dấu. Hai đầu mỗi quan hệ dùng ký hiệu chân quạ. Nhờ vậy, sơ đồ ghi rõ bản số chứ không để người xem tự đoán. Trong danh mục phim ở trên, film_credits là bảng trung gian có cột riêng. Quan hệ nhiều-nhiều trông đúng như vậy khi đã vào cơ sở dữ liệu.

Nhiều dự án Rails, Django hay Laravel không khai báo khóa ngoại trong cơ sở dữ liệu. Khi đó, ErdDocs suy ra quan hệ từ tên cột: film_id trỏ tới films, user_id trỏ tới users. Quan hệ này được vẽ bằng nét đứt để không nhầm với quan hệ do cơ sở dữ liệu ràng buộc. Bước này quan trọng nhất với cơ sở dữ liệu thật mà bạn được giao lại. Trang công cụ vẽ sơ đồ cơ sở dữ liệu giải thích lý do.

Câu hỏi thường gặp

Đây có phải công cụ vẽ ERD kiểu kéo thả hộp không?

Không. ErdDocs tạo sơ đồ từ lược đồ bạn dán. Không có bảng hình mẫu, không có công cụ kẻ đường, và đó là chủ ý. Bạn vẫn kéo được các bảng để sắp xếp bố cục, và liên kết chia sẻ giữ lại bố cục đó. Nhưng không có gì được vẽ bằng tay. Mọi hộp và mọi đường đều lấy từ SQL.

Có nên vẽ ERD bằng tay thay vì tạo tự động không?

ErdDocs tạo ERD khi các bảng đã có thật. Đây là tình huống của phần lớn người dùng, vì lược đồ thường có trước khi ai đó cần một hình vẽ. Trường hợp duy nhất nó bỏ qua là cơ sở dữ liệu chưa được xây. Trước khi có ai viết migration, mô hình dữ liệu được bàn bằng cách phác các thực thể trên khung vẽ. Việc đó dành cho các công cụ vẽ thông thường. Khi bản phác đã thành migration hay câu CREATE TABLE, hãy dán vào đây. Sơ đồ sẽ được lấy từ chính lược đồ.

Tôi có thể dán những gì vào?

Mười định dạng: SQL của PostgreSQL, MySQL, SQL Server và SQLite, lược đồ Prisma, DBML, Mermaid, PlantUML, model Django, SQLAlchemy, Sequelize, entity TypeORM và migration Laravel. Định dạng được nhận biết tự động. Hãy dán tệp nguyên trạng, không cần dọn dẹp hay xuất trước.

Có cần tài khoản, cài đặt hay kết nối cơ sở dữ liệu không?

Không cần thứ nào cả. Bộ phân tích là JavaScript chạy trong trình duyệt. Không có máy chủ để kết nối, không có lược đồ nào phải tải lên. Tên bảng và tên cột không rời máy bạn. Mở trang, dán vào, là có sơ đồ.

Khi lược đồ thay đổi thì sao?

Dán bản dump mới, sơ đồ sẽ được tạo lại trong vài giây. ERD vẽ tay chỉ được sửa khi có người nhớ ra nó, nên nó bắt đầu lệch khỏi cơ sở dữ liệu từ migration tiếp theo. Sơ đồ được tạo ra thì không thể lệch, vì lần nào nó cũng được lấy từ lược đồ.

Có miễn phí không?

Có, với sơ đồ. Lược đồ tới 25 bảng được vẽ đầy đủ, không cần tài khoản. Xuất PNG, SVG, Mermaid, DBML, PlantUML và SQL đều miễn phí. Lược đồ lớn hơn vẫn được phân tích trọn vẹn, nhưng các bảng vượt giới hạn hiện ở dạng khóa. Một lần thanh toán 9 USD sẽ bỏ giới hạn và mở từ điển dữ liệu.

Có dùng được cho bài tập hay đồ án cơ sở dữ liệu không?

Được. Hãy viết các bảng bằng SQL rồi dán vào đây. Bạn sẽ có sơ đồ ERD kèm bản số, cùng một từ điển dữ liệu để in. Nếu giảng viên yêu cầu mô hình trước khi có bảng, bạn cần thiết kế mô hình trước. ErdDocs vẽ những gì đã được viết.

Xem thêm