Dobre narzędzie do wizualizacji schematu bazy danych? [Zamknięte]

137

Czy są jakieś dobre narzędzia do wizualizacji istniejącego wcześniej schematu bazy danych? Używam MySQL, jeśli ma to znaczenie.

Obecnie używam MySQL Workbench do przetwarzania zrzutu skryptu tworzenia SQL, ale jest to niezgrabny, powolny i ręczny proces przeciągania wszystkich tabel (co byłoby w porządku, gdyby nie było tak wolne).

Mata
źródło
nie ma alternatywy dla przeczytania tego ... chyba że uważasz, że to pomocne apidocs.sugarcrm.com/schema/6.5.14/ce/tables/campaign_log.html
gcb
2
Ponownie zadałem to pytanie na softwarerecs.stackexchange.com i cieszę się z wszelkich alternatyw dla mojego obecnego rozwiązania.
Jeroen
Wizualizuj schematy mysql za pomocą dbForge Studio for MySQL. Projektant bazy danych jest dołączony do bezpłatnej edycji Express.
Devart

Odpowiedzi:

83

Uważam, że SchemaSpy jest całkiem niezły - musisz uruchamiać skrypt za każdym razem, gdy zmienia się schemat, ale to nie jest taka wielka sprawa.

Jak wskazano w komentarzach, istnieje również GUI .

Kolejnym fajnym narzędziem jest SchemaCrawler .

rkj
źródło
3
Dzięki, pomyślałem, że interfejs wiersza poleceń jest trochę uciążliwy, oczywiście kiedy już go uruchomiłem, zauważyłem link do GUI na stronie głównej, joachim-uhl.de/projekte/schemaspygui . Należy również zauważyć, że program wstawia reklamy Google do powstałego kodu HTML.
James McMahon,
1
To jest dobre. Warto zauważyć, że aby to zadziałało, trzeba dużo golić jaka.
Ken Prince
To jest świetne! Łatwo było to uruchomić. Postępuj zgodnie z instrukcjami. Należy również zaznaczyć, że działa nie tylko z MySQL i: DB2, Derby, Firebird, HSQLDB, Informix, MaxDB, MS SQL, Oracle, PostgreSQL, SQLite, Sbase, Teradata.
iled
Oszczędź sobie pracy i korzystaj z DbVisualizer ( dbvis.com ). Działa z różnymi bazami danych, w tym SQLite, a ich umowa EULA pozwala na wykorzystanie darmowej wersji w projektach komercyjnych.
Aralox
14

Zwykle używam do tego SchemaSpy, ale ostatnio znalazłem naprawdę prosty artykuł o sqlfairy, który po prostu używa pliku zrzutu do utworzenia wykresu struktury

Hons
źródło
2
+1 dla sqlfairy nie wymagało środowiska JRE (jak większość innych odpowiedzi).
mikewaters
Właśnie dostałem to, czego potrzebowałem od sqlfairy. Prosto i szybko.
fivedogit
sqlfairy może zajmować ogromne ilości miejsca na dysku dla dużych baz danych. Uruchomiłem go dla bazy danych o wielkości 615 MB i zepsuła się po zapełnieniu 18 GB, które pozostało wolne na moim dysku twardym.
Pascal
To stary komentarz ... Czy te narzędzia są nadal w fazie rozwoju?
Wyróżnienia
11

Podoba mi się to narzędzie, zwane po prostu DbSchema . Jest napisany w Javie, więc działa na OS X, Windows lub Linux. Jest trochę niezgrabny, zwłaszcza jeśli chodzi o drukowanie, ale z mojego doświadczenia wynika, że ​​wszystkie takie są. Ten jest najlepszy z kilku, jakie wypróbowałem. Tworzy ładne, czytelne diagramy. Bezpłatna wersja próbna. Kosztuje około 120 USD w zależności od liczby kupionych licencji.

Ethan
źródło
Doskonałe narzędzie. Dostępna jest również bezpłatna edycja, która ma większość wspaniałych funkcji (na przykład synchronizacja z aktywną bazą danych).
wheleph
to świetne narzędzie, może nawet generować wirtualne klucze obce, wow!
Nassim
10

na Mac OS X możesz używać Sequel Pro


źródło
1
+1Sequel Pro jest bardzo godny polecenia.
Anne,
6
Myślę, że ta odpowiedź wymaga dodatkowego wyjaśnienia: norbauer.com/rails-consulting/notes/ ...
fguillen
1
Dzięki @fguillen! Dodajmy wyjaśnienie tutaj (zanim link może się zepsuć…). To tylko 4 proste kroki: 1.) Zainstaluj graphviz , jest dostępny w MacPorts ( sudo port install graphviz) i Homebrew ( brew install graphviz). 2.) Eksportuj plik z kropkami (w SequelPro przejdź do Plik> Eksportuj> Graphviz Dot i wyeksportuj swoją bazę danych) 3.) Otwórz terminal i przekonwertuj plik z kropką na SVG dot -Tsvg your_database.dot > your_database.svg 4.) Opcjonalnie przekonwertuj wygenerowany SVG do JPG lub PNG za pomocą dowolnego narzędzia (Inkscape, ImageMagick, GraphicsMagick itp.)
Arvid
2

Czy wypróbowałeś już funkcję aranżuj> automatyczna aranżacja w MySQL Workbench? Może to uchronić Cię przed ręcznym przenoszeniem tabel.

Brian Fisher
źródło
2
Tak, trochę pomogło, ale nie było świetne.
Mat
Warto spróbować, zawsze sam się aranżuję - ale czasami może mi to pomóc.
Brian Fisher,
2

DeZign for Databases może być dla Ciebie interesujące. Możesz odtwarzać i modyfikować istniejące bazy danych. Ma funkcję automatycznego układu, a układ diagramu nie jest wyświetlany podczas synchronizacji modelu danych z bazą danych.


źródło
Należy pamiętać, że funkcja autoukładu nie jest odpowiednia dla większych baz danych - to po prostu duży bałagan. (np. miejsce na diagram wydaje się być ograniczone i dlatego jest tam wiele stołów stłoczonych na prawej krawędzi (w naszym przypadku 75 stołów w jednym miejscu). Bawiłem się różnymi opcjami układu, ale wynik nie jest dobry w żadnym opcji
Lonzak
2

Visio Professional ma wbudowane narzędzie do inżynierii odwrotnej bazy danych. Powinieneś móc go używać z MySQL przez sterownik ODBC. Działa najlepiej, gdy wykonujesz inżynierię wsteczną bazy danych, a następnie utworzysz diagramy, przeciągając je z panelu tabel i widoków. Przeciągnie wszelkie obiekty kluczy obcych i umieści je również na diagramie.

ConcernedOfTunbridgeWells
źródło
2

Zaczynam tworzyć własny skrypt Perla oparty na module SQL :: Translator (GraphViz). Oto pierwsze wyniki .

mj41
źródło
2

Długo szukałem przyzwoitego, a najlepiej darmowego narzędzia dla Linuksa i znalazłem tę aplikację java, która jest całkiem dobra (w końcu !!):

http://sqldeveloper.solyp.com/

Będąc Javą, jest wieloplatformowy (uruchamiam go na Linuksie bez problemów) i połączy się z każdą bazą danych, dla której możesz pobrać sterownik JDBC. tj .: prawie każda baza danych .

Importowanie bazy danych i uzyskanie wizualizacji ( ERM ) schematu bazy danych jest dość łatwe . Funkcja automatycznego układu jest również dobra, ale pamiętaj, że nie jest wykonywana automatycznie i po zaimportowaniu obiektów do diagramu musisz kliknąć przycisk „automatyczny układ”.

Aplikacja jest również całkiem dobrym narzędziem do administrowania / przeglądania baz danych. Jako jeden mały przykład używam go zamiast pgadmin do niektórych podstawowych prac programistycznych z powodu prostych subtelności, takich jak szerokość kolumny wyników zapytania SQL, które automatycznie dopasowują się do zawartości (co doprowadza mnie do szaleństwa w pgadmin).

Russ
źródło
Zgadzam się z tym. Szukałem dowolnego narzędzia GUI do wizualizacji baz danych postgresql w systemie Linux i większość z nich spada płasko na twarz. Właśnie zacząłem używać SQL Developer, ale jest to najlepsza darmowa opcja, jaką do tej pory znalazłem.
Adam Plumb,
1
Nie mogę udzielić nowej odpowiedzi, ponieważ pytanie jest teraz zamknięte, ale narzędziem, którego faktycznie potrzebujesz, jest DbVisualizer ( dbvis.com ). Jest fantastyczny ... o wiele lepszy niż to, co poleciłem w moim pytaniu (jeśli moje użycie w ciągu ostatnich kilku lat jest jakąś wskazówką).
Russ,
1

Używam SQL :: Translator z DBIx :: Class

I tak mam DBIx :: Class w moim toolchainie, a połączenie go z SQL :: Translator pozwala mi przekonwertować schemat na wiele różnych formatów. Głównie inicjalizacyjne skrypty SQL dla różnych serwerów baz danych (co ułatwia tworzenie w SQLite i przenoszenie do Postgresql w celu produkcji), ale może również wyświetlać dane GraphViz, więc generowanie diagramów jest banalne.

Quentin
źródło
1

ER / Studio firmy Embarcadero jest jednym z droższych, ale obecny w nim tryb hierarchiczny jest zdecydowanie najlepszy do zrozumienia modeli baz danych. To sprawia, że ​​pisanie zapytań jest najłatwiejszym zadaniem na świecie.

Jest również niesamowity w przypadku normalizacji, denormalizacji, magazynowania, dokumentacji itp.

Wadą jest to, że jest to dość drogie narzędzie, zwłaszcza gdy korzystasz z wielu platform.

Raj Więcej
źródło
1

Adminer (dawniej phpMinAdmin), aplikacja internetowa do zarządzania bazami danych MySQL, rysuje prosty diagram.

Samo oprogramowanie jest podobne do phpMyAdmin, ale ma więcej funkcji, jest lekkie i jest dostępne w jednym pliku PHP.

tekst alternatywny

Tom Pažourek
źródło
1
Może to działa dla trywialnych schematów, ale wypróbowałem to na schemacie z 28 tabelami i dało mi to czysto pionową listę wszystkich tabel w porządku alfabetycznym, z bałaganem pionowych linii próbujących zilustrować relacje. Nie może być już bezużyteczne.
Dolph
Dokładnie w moim przypadku 40 stolików. Możesz kliknąć, aby go przeciągnąć, ale po wybraniu nie można odznaczyć.
Ziyan Junaideen
0

Kiedy mówisz wizualizuj schemat bazy danych, czy odnosisz się do dokumentu tekstowego zawierającego wszystkie tabele, sprocesy itp., Czy też odnosisz się do wizualnej reprezentacji schematu i zależności?

Wiem, że wspomniałeś o MySQL (i jest bardzo możliwe, że jest teraz obsługiwany, ale nie jestem pewien), ale RedGate ma wiele narzędzi, które sprawiają, że jest to całkiem proste. Jego program SQL Doc może pobrać całą bazę danych i stworzyć dla niej pełną dokumentację bazy danych. SQL Dependency Tracker może zapewnić wizualną reprezentację wszystkich twoich tabel i pokazać ich powiązania lub możesz załadować tylko niektóre tabele lub sproces, aby pokazać, co ich używa lub czego używają.

TheTXI
źródło
Obawiam się, że narzędzia Red Gate to SQL Server.
Dave R.
Byłem bardziej zainteresowany wizualną reprezentacją graficzną niż pełnowymiarową dokumentacją bazy danych, ale nadal brzmi interesująco (nawet jeśli jest to tylko SQL Server - skorzystaj z innych rzeczy).
Mat
0

Wiele lat temu korzystałem z Data Architect. Nie wiem, czy wciąż tam jest.

Możesz odtworzyć istniejący schemat w diagramie tabeli relacyjnej.

Lub możesz pójść jeszcze dalej i przeprowadzić inżynierię wsteczną modelu encji-relacji z towarzyszącym diagramem. Diagramy ER były dla mnie bardzo przydatne podczas omawiania danych z osobami, które nie były ani programistami, ani ekspertami od baz danych.

Czasami kilka ręcznych poprawek modelu ER i diagramu ER było konieczne, zanim stał się on użytecznym narzędziem komunikacji z interesariuszami.

Walter Mitty
źródło
0

SchemaBall robi wizualizację na swój własny ciekawy sposób.

mj41
źródło
0

Próbowałem DBSchema. Ładne funkcje, ale szalenie powolne dla bazy danych zawierającej około 75 tabel. Bezużyteczne.

deeeptext
źródło
0

Wypróbuj PHPMyAdmin, który ma naprawdę fajną funkcję wizualizacji i edycji. Jestem prawie pewien, że możesz nawet eksportować z niego do programu.

byteSlayer
źródło