Công cụ tốt để trực quan hóa lược đồ cơ sở dữ liệu? [đóng cửa]


137

Có công cụ nào tốt để hiển thị lược đồ cơ sở dữ liệu có sẵn không? Tôi đang sử dụng MySQL nếu nó quan trọng.

Tôi hiện đang sử dụng MySQL Workbench để xử lý kết xuất tập lệnh tạo SQL, nhưng nó quá rắc rối, chậm và là một quy trình thủ công để kéo tất cả các bảng về (sẽ ổn nếu nó quá chậm).


không có cách nào khác để đọc điều này ... trừ khi bạn nghĩ rằng đây là hữu ích apidocs.sugarcrm.com/schema/6.5.14/ce/tables/campaign_log.html
gcb

2
Tôi đã hỏi câu hỏi này một lần nữa, trên softwarerecs.stackexchange.com , và rất hoan nghênh mọi giải pháp thay thế cho giải pháp hiện tại của riêng tôi.
Jeroen

Hình dung các lược đồ mysql bằng dbForge Studio cho MySQL. Nhà thiết kế cơ sở dữ liệu được bao gồm trong phiên bản Express miễn phí.
Khởi hành

Câu trả lời:


83

Tôi thấy SchemaSpy khá tốt - bạn phải chạy tập lệnh mỗi khi thay đổi lược đồ nhưng nó không phải là vấn đề lớn.

Như đã chỉ ra trong các bình luận cũng có GUI cho nó.

Một công cụ hay khác là SchemaCrawler .


3
Cảm ơn, tôi nghĩ rằng giao diện dòng lệnh là một nỗi đau, tất nhiên một khi tôi đã làm việc, tôi nhận thấy liên kết đến GUI ở trang đầu, joachim-uhl.de/projekte/schemaspygui . Cũng cần lưu ý rằng chương trình chèn quảng cáo Google vào HTML kết quả.
James McMahon

1
Điều này là tốt Và đáng chú ý là rất nhiều cạo râu yak phải được thực hiện để làm cho nó hoạt động.
Hoàng tử Ken

Điều đó thật tuyệt! Thật dễ dàng để làm cho nó hoạt động. Chỉ cần làm theo hướng dẫn. Ngoài ra, cần lưu ý rằng nó hoạt động không chỉ với MySQL và: DB2, Derby, Firebird, HSQLDB, Informix, MaxDB, MS SQL, Oracle, PostgreQuery, SQLite, Sbase, Teradata.
iled

Hãy tự cứu lấy công việc và đi với DbVisualizer ( dbvis.com ). Nó hoạt động với nhiều cơ sở dữ liệu bao gồm SQLite và EULA của họ cho phép phiên bản miễn phí được sử dụng cho các dự án thương mại.
Aralox

14

Tôi thường sử dụng SchemaSpy để làm điều này, nhưng gần đây tôi đã tìm thấy một bài viết thực sự đơn giản về sqlf Hộ chỉ sử dụng tệp kết xuất để tạo biểu đồ cấu trúc


2
+1 cho sqlf Hộ không yêu cầu JRE (giống như hầu hết các câu trả lời khác).
mikewaters

Tôi chỉ nhận được những gì tôi cần từ sqlferry. Đơn giản và nhanh chóng.
fiveogit

sqlf Hộ có thể sử dụng một lượng lớn dung lượng đĩa cho cơ sở dữ liệu lớn. Tôi đã chạy nó cho một cơ sở dữ liệu lớn 615mb và nó đã bị hỏng sau khi lấp đầy 18gb vẫn còn miễn phí trên ổ cứng của tôi.
Pascal

Đó là một nhận xét cũ ... Công cụ này vẫn đang được phát triển phải không?
Hons

11

Tôi thích công cụ này, được gọi đơn giản là DbSchema . Nó được viết bằng Java để nó chạy trên OS X, Windows hoặc Linux. Đó là một chút lộn xộn, đặc biệt là khi in, nhưng từ kinh nghiệm của tôi, tất cả đều như vậy. Đây là một trong những tốt nhất của một số tôi đã thử. Nó làm cho sơ đồ đẹp, rõ ràng. Dùng thử miễn phí. Chi phí khoảng $ 120 tùy thuộc vào số lượng giấy phép bạn mua.


Công cụ tuyệt vời. Ngoài ra còn có phiên bản miễn phí có hầu hết các tính năng tuyệt vời (ví dụ đồng bộ hóa với db trực tiếp).
wheleph

Đây là một công cụ tuyệt vời, nó thậm chí có thể tạo ra các khóa ngoại ảo, wow!
Nassim

10

trên Mac OS X, bạn có thể sử dụng Sequel Pro


1
+1Sequel Pro rất được khuyến khích.
Anne

6
Tôi nghĩ rằng câu trả lời này cần giải thích thêm: norbauer.com/rails-consulting/notes/ Kẻ
fguillen

1
Cảm ơn @fguillen! Hãy thêm lời giải thích ngay tại đây (trước khi liên kết có thể phá vỡ). Chỉ với 4 bước đơn giản: 1.) Cài đặt graphviz , nó có sẵn trong MacPorts ( sudo port install graphviz) và Homebrew ( brew install graphviz). 2.) Xuất tệp Dot (trong SequelPro đi tới Tệp> Xuất> Dotvvvvv và xuất cơ sở dữ liệu của bạn) 3.) Mở thiết bị đầu cuối và chuyển đổi tệp chấm sang SVG dot -Tsvg your_database.dot > your_database.svg 4.) Tùy chọn chuyển đổi SVG được tạo thành JPG hoặc PNG bằng bất kỳ công cụ nào bạn chọn (Inkscape, ImageMagick, GraphicsMagick, v.v.)
Arvid



2

Bạn đã thử chức năng sắp xếp> tự động sắp xếp trong MySQL Workbench. Nó có thể giúp bạn tiết kiệm từ việc di chuyển các bàn xung quanh.


2
Vâng, nó có ích nhưng không tuyệt vời.
Mat

Đáng để thử, tôi luôn luôn tự sắp xếp bản thân mình - nhưng đôi khi nó có thể giúp tôi bắt đầu.
Brian Fisher

2

DeZign cho cơ sở dữ liệu có thể thú vị cho bạn. Bạn có thể đảo ngược kỹ sư và sửa đổi cơ sở dữ liệu hiện có. Đã có chức năng bố trí tự động và bố trí sơ đồ không được chia lưới khi đồng bộ hóa mô hình dữ liệu của bạn với cơ sở dữ liệu.


Xin lưu ý rằng tính năng tự động thanh toán không phù hợp với cơ sở dữ liệu lớn hơn - nó chỉ là một mớ hỗn độn lớn. (ví dụ: không gian cho sơ đồ dường như bị giới hạn và do đó có rất nhiều bảng được nhồi nhét ở viền bên phải (trong trường hợp của chúng tôi là 75 bảng ở một nơi). trong số các lựa chọn.
Lonzak

2

Visio chuyên nghiệp có một công cụ kỹ thuật đảo ngược cơ sở dữ liệu được tích hợp trong nó. Bạn sẽ có thể sử dụng nó với MySQL thông qua trình điều khiển ODBC. Nó hoạt động tốt nhất khi bạn đảo ngược cơ sở dữ liệu và sau đó tạo sơ đồ bằng cách kéo chúng ra khỏi bảng và bảng xem. Nó sẽ kéo bất kỳ đối tượng khóa ngoại nào và đưa chúng vào sơ đồ.




2

Tôi đã tìm kiếm một công cụ tốt và tốt nhất là miễn phí cho linux và tìm thấy ứng dụng java này khá tốt (cuối cùng !!):

http://sqldeveloper.solyp.com/

Là Java, nó là nền tảng chéo (tôi chạy nó trên Linux mà không gặp vấn đề gì) và nó sẽ kết nối với bất kỳ cơ sở dữ liệu nào mà bạn có thể có trình điều khiển JDBC. tức là: khá nhiều cơ sở dữ liệu .

Khá dễ dàng để nhập cơ sở dữ liệu của bạn và có được một hình ảnh ( ERM ) của lược đồ cơ sở dữ liệu. Tính năng bố trí tự động cũng tốt, nhưng lưu ý rằng nó không được thực hiện tự động và bạn cần nhấp vào nút "bố cục tự động" sau khi nhập đối tượng của bạn vào sơ đồ.

Ứng dụng này cũng là một công cụ quản trị / duyệt cơ sở dữ liệu chung khá tốt. Một ví dụ nhỏ, tôi sử dụng nó thay vì pgadmin cho một số công việc phát triển cơ sở vì các tính năng đơn giản như độ rộng cột của kết quả truy vấn SQL tự động định cỡ để phù hợp với nội dung (khiến tôi phát điên trong pgadmin).


Tôi đồng ý với điều này. Tôi đã tìm kiếm bất kỳ công cụ GUI nào để trực quan hóa cơ sở dữ liệu postgresql trên linux và hầu hết chúng đều nằm trên mặt. Tôi mới bắt đầu sử dụng SQL Developer nhưng đây là tùy chọn miễn phí tốt nhất tôi tìm thấy cho đến nay.
Adam Plumb

1
Tôi không thể cung cấp câu trả lời mới vì câu hỏi hiện đã bị đóng, nhưng công cụ bạn thực sự muốn là DbVisualizer ( dbvis.com ). Thật tuyệt vời ... tốt hơn nhiều so với những gì tôi đề xuất trong câu hỏi của mình (nếu việc sử dụng của tôi trong vài năm qua là bất kỳ dấu hiệu nào).
Nga

1

Tôi sử dụng SQL :: Translator với DBIx :: Class

Dù sao tôi cũng có DBIx :: Class trong toolchain của mình và việc kết hợp nó với SQL :: Translator cho phép tôi chuyển đổi lược đồ thành nhiều định dạng khác nhau. Chủ yếu là khởi tạo các tập lệnh SQL cho các máy chủ cơ sở dữ liệu khác nhau (giúp dễ dàng phát triển trên SQLite và chuyển sang Postgresql để sản xuất) nhưng nó cũng có thể xuất dữ liệu GraphViz, do đó sơ đồ rất đơn giản để tạo.


1

ER / Studio của Embarcadero là một trong những cái đắt hơn, nhưng chế độ phân cấp mà nó hiện diện cho đến nay là chế độ tốt nhất để hiểu các mô hình cơ sở dữ liệu. Nó làm cho truy vấn viết các nhiệm vụ dễ dàng nhất trên thế giới.

Nó cũng là không thể tin được với bình thường hóa, không chuẩn hóa, lưu kho, tài liệu, vv

Nhược điểm của nó là một công cụ khá đắt tiền đặc biệt là khi bạn đi đa nền tảng.


1

Adminer (trước đây là phpMinAdmin), ứng dụng web để quản lý cơ sở dữ liệu MySQL, vẽ sơ đồ đơn giản.

Bản thân phần mềm này tương tự như phpMyAdmin, nhưng có nhiều tính năng hơn, nhẹ hơn và nó có trong một tệp PHP.

văn bản thay thế


1
Có thể điều này hoạt động cho các lược đồ tầm thường, nhưng tôi đã thử nó trên một lược đồ với 28 bảng và nó chỉ cho tôi một danh sách hoàn toàn theo chiều dọc của tất cả các bảng theo thứ tự bảng chữ cái, với một mớ các đường thẳng đứng cố gắng minh họa các mối quan hệ. Không thể vô dụng hơn nữa.
Dolph

Chính xác, trong trường hợp của tôi 40 bảng. Bạn có thể nhấp để kéo nó, nhưng một khi bạn chọn, bạn không thể chọn.
Ziyan Junaideen

0

Khi bạn nói trực quan hóa lược đồ cơ sở dữ liệu, bạn đang đề cập đến một tài liệu văn bản của tất cả các bảng, sprocs, v.v., hoặc bạn đang đề cập đến một biểu diễn trực quan của lược đồ và các phụ thuộc của bạn?

Tôi biết bạn đã đề cập đến MySQL (và rất có thể nó được hỗ trợ ngay bây giờ, nhưng tôi không chắc chắn), nhưng RedGate có một số công cụ giúp việc đó trở nên khá đơn giản. Chương trình SQL Doc có thể lấy toàn bộ cơ sở dữ liệu của bạn và tạo tài liệu cơ sở dữ liệu đầy đủ cho nó. Trình theo dõi phụ thuộc SQL có thể cung cấp cho bạn một biểu diễn trực quan của tất cả các bảng của bạn và hiển thị các liên kết của chúng hoặc bạn có thể tải vào chỉ một số bảng hoặc sprocs để hiển thị những gì đang sử dụng chúng hoặc những gì chúng đang sử dụng.


Các công cụ của Red Gate chỉ là SQL Server.
Dave R.

Tôi đã theo một biểu diễn đồ họa trực quan hơn là một tài liệu cơ sở dữ liệu đầy đủ, nhưng vẫn nghe có vẻ thú vị (ngay cả khi đó chỉ là SQL Server - có một số nội dung khác sử dụng điều đó).
Mat

0

Nhiều năm trước, tôi đã từng sử dụng Data Architect. Tôi không biết nếu nó vẫn còn ở ngoài đó.

Bạn có thể đảo ngược một lược đồ hiện có thành một sơ đồ bảng quan hệ.

Hoặc bạn có thể đi xa hơn nữa và thiết kế ngược lại mô hình Mối quan hệ thực thể với sơ đồ đi kèm. Sơ đồ ER thực sự hữu ích với tôi khi thảo luận về dữ liệu với những người không phải là lập trình viên cũng như chuyên gia cơ sở dữ liệu.

Đôi khi một vài bản sửa lỗi thủ công cho mô hình ER và sơ đồ ER là cần thiết trước khi nó là một công cụ giao tiếp hữu ích với các bên liên quan.



0

Tôi đã thử DBSchema. Các tính năng đẹp, nhưng cực kỳ chậm đối với cơ sở dữ liệu với khoảng 75 bảng. Không sử dụng được.


0

Hãy thử PHPMyAdmin có một số tính năng chỉnh sửa và hiển thị thực sự tốt. Tôi khá chắc chắn rằng bạn thậm chí có thể xuất khẩu để thoát khỏi nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.