Công cụ SQL→sơ đồ ER miễn phí, chạy trong trình duyệt và không tải lên bất cứ thứ gì
(sqltoerdiagram.com)- Dán schema SQL vào là có thể trực quan hóa ngay bảng, cột, khóa và quan hệ thành ERD ngay trong trình duyệt
- Phân tích DDL
CREATE TABLEvàALTER TABLEcủa PostgreSQL, MySQL, SQLite, SQL Server, đồng thời xử lý khóa chính·khóa ngoại cùng các ràng buộc unique, not-null - Hỗ trợ chỉnh sửa tương tác như kéo thả bảng, bố trí tự động, thêm ghi chú, phóng to/thu nhỏ, đổi tên bằng nhấp đúp
- Có thể xuất kết quả thành PNG độ phân giải cao, SVG vector, tệp dự án và liên kết chia sẻ mã hóa sơ đồ trong URL
- Không cần tài khoản, đăng ký hay cài đặt, và schema SQL không bị tải lên hoặc lưu trên máy chủ, tập trung vào chạy cục bộ
Dán SQL, xem schema
- Nhập câu lệnh
CREATE TABLEvào trình soạn thảo bên trái, schema SQL sẽ được hiển thị dưới dạng sơ đồ ER - Schema mẫu là một cấu trúc thương mại điện tử nhỏ, gồm 6 bảng và 7 quan hệ: users, addresses, products, orders, order_items, reviews
- Có thể kéo thả bảng, dùng cuộn chuột để phóng to/thu nhỏ, đổi tên bằng nhấp đúp rồi xuất kết quả sau khi hoàn tất
- Có chức năng tải schema mẫu, và trên màn hình hiển thị tỷ lệ phóng to 122%
- Mọi xử lý đều chạy 100% cục bộ trong trình duyệt, schema không rời khỏi trình duyệt
SQL to ER Diagram — trình tạo ERD trực tuyến miễn phí
- SQL to ER Diagram là công cụ mã nguồn mở miễn phí, chuyển schema SQL thành ERD tương tác ngay trong trình duyệt
- Chỉ cần dán câu lệnh
CREATE TABLE, công cụ sẽ trực quan hóa ngay bảng, cột, khóa chính, khóa ngoại và quan hệ - Hoạt động với PostgreSQL, MySQL, SQLite, SQL Server
- Hỗ trợ kéo thả bảng, căn chỉnh bố cục tự động, thêm ghi chú, xuất PNG hoặc SVG
- Không có gì bị tải lên, schema vẫn nằm trên thiết bị của người dùng
Câu hỏi thường gặp
- Để tạo sơ đồ ER từ SQL, chỉ cần dán câu lệnh SQL
CREATE TABLEvào trình soạn thảo, công cụ sẽ render ngay một ERD tương tác- Có thể kéo thả để sắp xếp bảng rồi xuất dưới dạng PNG hoặc SVG
- Các phương ngữ SQL được hỗ trợ là PostgreSQL, MySQL, SQLite, SQL Server, và công cụ phân tích DDL
CREATE TABLEvàALTER TABLEtiêu chuẩn- Xử lý khóa chính, khóa ngoại, unique và các ràng buộc not-null
- SQL to ER Diagram hoàn toàn miễn phí và là mã nguồn mở, không cần tài khoản hay đăng ký
- Mọi thao tác đều chạy cục bộ trong trình duyệt, schema SQL không bị tải lên hoặc lưu trên máy chủ
- Có thể xuất sơ đồ thành PNG độ phân giải cao, SVG vector, toàn bộ tệp dự án và liên kết chia sẻ mã hóa sơ đồ trong URL
- Không cần cài đặt, chạy trên trình duyệt web của máy tính để bàn và thiết bị di động
1 bình luận
Ý kiến Hacker News
Công cụ https://v0-yaerd.vercel.app mà tôi đã cùng làm với v0 vài tháng trước khiến tôi nhớ tới bài này
Tôi tạo ra nó vì chưa thấy công cụ nào có thể phân tích file migration của Laravel để tạo ERD, rồi sau đó cũng thêm hỗ trợ SQL cơ bản thông qua prompt
Công cụ này rất tuyệt, nhưng tôi không nghĩ chỉ riêng SQL là đủ để tạo sơ đồ ER
Thực thể và bảng về bản chất là khác nhau; dù rất giống nhau, SQL vẫn thiếu thông tin để tạo ra một sơ đồ ER đúng nghĩa
Không phải tôi cho rằng công cụ này vô dụng hay loại sơ đồ này không hữu ích; chỉ là một ý kiến hơi mang tính nguyên lý nên có thể người khác sẽ không đồng ý
Đúng là DDL không nói lên nhiều điều về vòng đời của thực thể, nhưng nếu tiêu chí chỉ là biểu diễn quan hệ, trường và lực lượng bằng biểu đồ thì có vẻ vẫn đủ
Có vẻ ngày nay không nhiều người còn bận tâm đến sự khác biệt này
DB đã tồn tại sẵn nhưng có thể không có ERD và hầu như cũng không có tài liệu
Vì vậy nó gần với một công cụ khám phá hơn, và lý tưởng nhất là nên cho phép tạo view và gắn ghi chú
Bởi khi số lượng bảng quá nhiều hoặc nhiều bảng thiếu khóa ngoại, bạn không nhất thiết phải xem toàn bộ ERD cùng một lúc
Về mặt thực tế thì gần như có thể dùng thay thế cho nhau, nhưng về mặt khái niệm dường như phía trên thực thể và quan hệ còn có một tầng ý nghĩa phong phú hơn
Ví dụ như mô tả cho quan hệ hoặc chú thích bổ sung gắn với thực thể
Tôi vẫn luôn hiểu rằng thực thể luôn có quan hệ 1:1 với bảng, nên nếu có ví dụ thì sẽ cực kỳ hữu ích
Khả năng dùng trên di động phải là 1000/100 điểm
Pan, phóng to/thu nhỏ, chọn và di chuyển đều mượt đến mức tôi tưởng mình bị nhầm
Tôi thích những lập trình viên có thể chắt lọc vấn đề phức tạp thành lời giải đơn giản, và người này thật sự xuất sắc
Tôi không nghĩ ra lời khen nào cao hơn dành cho một lập trình viên
Có vẻ tính năng sơ đồ này còn dùng được ở nhiều chỗ khác ngoài ERD
Ngay cả khi chỉnh sửa bằng double tap thì mức zoom cũng không bị đặt lại
Chắc chắn đây là một trong những trang thân thiện với di động nhất mà tôi từng thấy
Không phải thứ gì to tát, chỉ là một công cụ nhỏ, nhưng tôi nghĩ nó cũng sẽ hữu ích cho người khác
Tôi liên tục gặp việc phải trực quan hóa schema cơ sở dữ liệu, mà hầu hết công cụ đều có rào cản trả phí, bắt buộc đăng ký, hoặc phải gửi SQL lên máy chủ của người khác
Không có backend, không có tài khoản, dữ liệu không rời khỏi thiết bị của tôi
Phần thú vị khi triển khai là: thay vì dùng DOM/SVG, tôi raster hóa các bảng thành bitmap được cache và dùng viewport culling để vẫn mượt ngay cả khi có hàng trăm bảng trên màn hình
Trình phân tích SQL theo dõi phạm vi nguồn của mọi token, nên các chỉnh sửa như đổi tên bảng chỉ thay đúng những định danh và tham chiếu liên quan, còn comment và định dạng vẫn được giữ nguyên
Toàn bộ schema nằm trong URL, và việc chia sẻ hoạt động bằng cách serialize schema ngay vào chính URL, nên không cần backend, trạng thái lưu trữ hay tài khoản
Tôi cũng đã thử một bản Rust/WASM, nhưng chi phí qua lại ở ranh giới JS↔WASM lớn hơn phần tiết kiệm được trong tính toán, khiến parser chậm hơn khoảng 37%; tuy vậy, pass xử lý gỡ chồng lấp O(n^2) lại nhanh hơn khoảng 2,2 lần
Cuối cùng tôi giữ nguyên JavaScript thuần, không framework, và dung lượng khoảng 32KB tính theo gzip
Nếu không ghi rõ giấy phép thì có thể là mã nguồn mở, nhưng không phải phần mềm tự do
“Khuyến nghị rằng mọi bên gửi và nhận đều hỗ trợ URI có độ dài tối thiểu 8000 octet trong các phần tử giao thức.”
https://www.rfc-editor.org/rfc/rfc9110#section-4.1-5
Giao diện responsive, gọn gàng, và trải nghiệm onboarding không có rào cản đăng ký thật sự rất xuất sắc
Sự phân biệt giữa “thực thể vs bảng” là có thật, nhưng với đa số lập trình viên chỉ muốn nhanh chóng trực quan hóa một schema có sẵn thì mức này là quá đủ
Ở đây hoàn hảo là kẻ thù của hữu ích
Phần lớn mọi người không định xây dựng một lớp trừu tượng ORM; họ chỉ muốn xem cái gì đang nối với cái gì
https://explain.dalibo.com/ làm tôi nhớ tới công cụ này
Đây là một công cụ trực quan hóa query execution plan, và là một trong những công cụ hữu ích nhất tôi từng dùng để tối ưu truy vấn SQL
Nếu định dùng với dữ liệu nhạy cảm thì tốt hơn nên tải bản v2 hoàn toàn offline ở phía dưới
Sẽ hay hơn nếu có thêm tùy chọn đường thẳng và đường gấp khúc 90 độ
Tôi chưa bao giờ thật sự thích các đường cong, nhưng nhìn thì rất đẹp và được làm tốt
Không biết có cách nào tạo các SVG này bằng CLI không
Tôi rất thích nó, và extension Postgres của VSCode có tính năng tương tự cũng rất ổn, nhưng lại bị buộc vào VSCode
Tương tự, nó cũng không có tùy chọn CLI để export có thể đưa vào kho lưu trữ
Tôi đang dùng https://github.com/ondras/wwwsqldesigner, và nghĩ rằng đây là một lựa chọn đáng để đem ra so sánh
Tôi thực sự rất thích dự án đó, nó là một trong những bản triển khai JS phía máy chủ đầu tiên
Có thể chỉ mình tôi là follower, nhưng Ondřej, các sản phẩm của bạn thật sự rất tuyệt
Cũng ổn, nhưng trên GitHub không có file LICENSE: https://github.com/royalbhati/sqltoerdiagram