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).
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
+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.
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!
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.svg4.) Opcjonalnie przekonwertuj wygenerowany SVG do JPG lub PNG za pomocą dowolnego narzędzia (Inkscape, ImageMagick, GraphicsMagick itp.)
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.
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.
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).
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ą).
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.
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.
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ą.
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.
Odpowiedzi:
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 .
źródło
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
źródło
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.
źródło
na Mac OS X możesz używać Sequel Pro
źródło
+1
Sequel Pro jest bardzo godny polecenia.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 SVGdot -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.)Polecam danych Toad modelarza
źródło
A co z klientem SQuirreL SQL ? Jak wspomniano w innym pytaniu SO , programy te mają możliwość generowania prostego diagramu ER.
źródło
Czy wypróbowałeś już funkcję aranżuj> automatyczna aranżacja w MySQL Workbench? Może to uchronić Cię przed ręcznym przenoszeniem tabel.
źródło
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
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.
źródło
Zaczynam tworzyć własny skrypt Perla oparty na module SQL :: Translator (GraphViz). Oto pierwsze wyniki .
źródło
Inne podejście, ale jeśli używasz Ruby on Rails, wypróbuj RailRoad: http://railroad.rubyforge.org
źródło
gem install railroady
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).
źródło
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.
źródło
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.
źródło
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.
źródło
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ą.
źródło
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.
źródło
SchemaBall robi wizualizację na swój własny ciekawy sposób.
źródło
Próbowałem DBSchema. Ładne funkcje, ale szalenie powolne dla bazy danych zawierającej około 75 tabel. Bezużyteczne.
źródło
Wypróbuj PHPMyAdmin, który ma naprawdę fajną funkcję wizualizacji i edycji. Jestem prawie pewien, że możesz nawet eksportować z niego do programu.
źródło