Automatycznie generuj schemat bazy danych MySQL [zamknięte]


349

Mam dość otwierania Dii i tworzenia schematu bazy danych na początku każdego projektu. Czy istnieje narzędzie, które pozwoli mi wybrać określone tabele, a następnie utworzyć dla mnie schemat bazy danych na podstawie bazy danych MySQL? Najlepiej pozwoli mi to później edytować diagram, ponieważ żaden z kluczy obcych nie jest ustawiony ...

Oto, co obrazuję schematycznie (przepraszam za okropny projekt danych, nie zaprojektowałem go. Skupmy się na koncepcji diagramu, a nie na faktycznych danych, które reprezentuje on w tym przykładzie;)):

diagram zobacz pełny schemat


możesz użyć projektanta phpmyadmin
— Tamer Awad

W tym celu można również użyć wbudowanego projektanta bazy danych w dbForge Studio for MySQL.
— Devart,

Odpowiedzi:


425

Wypróbuj MySQL Workbench, wcześniej DBDesigner 4:

http://dev.mysql.com/workbench/

Ma to tryb „Reverse Engineer Database”:

Baza danych -> Inżynier odwrotny

wprowadź opis zdjęcia tutaj


7
@James: Nadal działa dobrze, kliknij Pobierz Workbench 5.2.16 (prawy górny róg), a następnie „Nie, dziękuję, zabierz mnie do pobierania” i powinno działać - przynajmniej dla Windows, nie wypróbowałem żadnej innej platformy .
— Michael Stum

5
@ michael-stum Uważam, że MySQL workbench jest bardzo pomocny, ale okazuje się, że funkcja bazy danych inżynierii wstecznej nie łączy automatycznie tabel, więc tabele nadal wymagają zmiany układu.
— David LeBauer,

5
Zauważ, że jest to w repozytoriach Ubuntu jako mysql-workbench.
— mlissner

37
Znajdziesz to w menu „Baza danych -> Inżynier odwrotny” pod zakładkami DB.
— h2ooooooo

11
W tym celu nie musisz nawet łączyć się z bazą danych. Wyeksportuj bazę danych MySQL przy użyciu opcji „tylko struktura”. W MySQL Workbench przejdź do „Plik -> Nowy model”, a następnie „Plik -> Import -> Inżynieria wsteczna MySQL Utwórz skrypt ...” i zaznacz pole „Umieść zaimportowane obiekty na diagramie”.
— Liam,

65

Ostatnio zacząłem używać http://schemaspy.sourceforge.net/ . Korzysta z GraphViz i uderza mnie równowaga między użytecznością a prostotą.


3
Używam go też to świetne narzędzie, tutaj jak to skonfigurować progrnotes.blogspot.com/2011/05/…
— Sergey

1
schemaspy tworzy interaktywny schemat (patrz schemaspy.sourceforge.net/sample ), który jest po prostu statycznymi plikami HTML, które można przechowywać i używać wszędzie. MySQL Workbench nie tworzy interaktywnego schematu (tylko pliki graficzne lub pdf), a ponadto nie automatycznie i ładnie przestawia tabele. W przypadku automatyzacji (kompilacje nocne tworzą zaktualizowany schemat), schemaspy również pasuje do rachunku, ponieważ jest to całkowicie wiersz poleceń.
— Long Vu,

+1 To było jedyne narzędzie, które zrobiło to, co chciałem: automatycznie wygenerowało dokumentację DB w momencie wydania.
— Lennart Rolland

Uderza mnie wiele błędów, które otrzymuję, oraz instalacje, które muszę wykonać, aby działały w systemie Linux.
— Damir Olejar

1
@DamirOlejar musisz mieć zainstalowaną stabilną wersję graphviz (alias dot), nie polecam kompilowania jej samodzielnie. doprowadzi to do innej wersji, która nie rozpoznaje PNG i tym samym zawiedzie Schemaspy. / zresztą po skonfigurowaniu to narzędzie jest całkiem
— fajne


6

Ten http://code.google.com/p/database-diagram/ przebuduje Twoją bazę danych. Po prostu wykonaj eksport „tylko struktury”, a następnie wklej kod SQL do narzędzia.


Nie łączy kluczy obcych (mysql), po prostu wyświetla tabele z wartościami i nie pozwala na większy ekran, aby dopasować je wszystkie razem.
— Damir Olejar


4

Wierzę, że DB Designer robi coś takiego. I myślę, że mają nawet darmową wersję.

edytuj Nieważne. Link Michaela jest znacznie lepszy.


4

MySQL Workbench działał jak urok.

Właśnie wykonałem kopię zapasową struktury bazy danych w skrypcie SQL i użyłem jej w „Utwórz model EER z skryptu SQL” programu MWB 5.2.37 dla systemu Windows.


4

W MySql Workbench (6.0) możliwe jest wygenerowanie jednego diagramu na podstawie utworzonych tabel. W tym celu należy uzyskać dostęp do paska narzędzi, nacisnąć Model i przesłać Utwórz schemat z obiektów katalogu i gotowe!


3

Visual Paradigm dla UML 9.0

To niesamowite, że kiedyś pracowałem z ławką mysql, ale w przypadku dużych baz danych (coś w rodzaju ponad 300 tabel) nie będzie działać zbyt dobrze, ale odwrotna baza danych według paradygmatu działa o wiele lepiej.


Którą edycję VP posiadasz? Mam starą kopię v7, ale w tej wersji inżynieria wsteczna jest tylko w (drogiej!) Edycji dla przedsiębiorstw.
— Guy Rixon,

Czy mogę wygenerować diagram z bazy danych na żywo za pomocą wydania społeczności?
— David Ferenczy Rogožan




0

Oto narzędzie, które generuje diagramy relacyjne z MySQL (obecnie w systemie Windows). Użyłem go w bazie danych zawierającej 400 tabel. Jeśli schemat jest zbyt duży dla pojedynczego diagramu, dzieli się na mniejsze. Prawdopodobnie skończysz z wieloma diagramami i możesz nawigować między nimi, klikając prawym przyciskiem myszy. Wszystko to wyjaśniono w linku poniżej. Narzędzie jest bezpłatne (jak w darmowym piwie), autor sam korzysta z niego przy konsultacjach i pozwala innym osobom z niego korzystać. http://www.scmlite.com/Quick%20overview


2
Obecnie ta domena nie istnieje
— dstudeba

-1

Tryb „Reverse Engineer Database” w Workbench jest tylko częścią wersji płatnej, a nie darmowej.


37
Jeśli to prawda, już nie jest.
— Ian Hunter,

1
Działa dobrze na nowej, bezpłatnej kopii Workbench pobranej dzisiaj.
— Guy Rixon,

Tak, działa w wersji darmowej, ale ponieważ jest dość przekonany o modyfikowaniu schematu dla niektórych rodzajów relacji, więc nie jest tak użyteczny, jak można by pomyśleć do dokumentowania istniejącego schematu, który nie przestrzega jego konwencji.
— jerseyboy

Nie jestem pewien, gdzie znaleźć wersję ławki sql z kartą inżynierii odwrotnej, ponieważ w linku jest obsługiwana w wersji komercyjnej, a nie w społeczności dev.mysql.com/doc/workbench/en/wb-data-modeling-menus.html :(
— Dreamweaver,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.