Frage

Ich habe kürzlich die Aufgabe übernommen, eine Datenbank zu pflegen, die nicht sehr gut gestaltet war und deren Designer nicht für Fragen zur Verfügung stehen.Und in naher Zukunft stehen mir noch ein paar weitere bevor.

Es war schwierig, die Beziehungen zwischen den Tabellen ohne visuelle Hilfe oder Datenbankdiagramme herauszufinden.

Ich habe mich gefragt, welche Tools dafür empfohlen werden.Ich kenne Visio, hatte aber gehofft, dass es einige gute Open-Source-/Freeware-Anwendungen gibt.Ich brauche es überhaupt nicht, um die Datenbank zu ändern.Lesen Sie es einfach und erstellen Sie eine Art visuelle Hilfe, die mir hilft, den Aufbau der Dinge zu verstehen und herauszufinden, was der Designer über die Beziehung zwischen den Daten gedacht hat.


Zusätzliche Antwortdaten:SchemaSpy war genau das, wonach ich gesucht hatte, aber da ich schon seit Ewigkeiten nicht mehr viel mit der Befehlszeile zu tun hatte, entschied ich mich für die Verwendung SchemaSpyGUI.Es gab auch einige Konfigurationen, an die ich mich gewöhnen musste, da ich nicht viel mit Java arbeite, aber das Endergebnis war, was ich suchte (ein Open-Source-Ersatz für die ER-Diagramme von Visio).

War es hilfreich?

Lösung

Versuchen Sie SchemaSpy . Ich lief es gegen eine ziemlich komplexe Datenbank, und ich war sehr zufrieden mit dem Ergebnis, mit Beratung bei der Optimierung.

Andere Tipps

Versuchen DBVis - Download unter http://www.minq.se/products/dbvis/ -. gibt es eine pro-Version (nicht erforderlich) und eine offene Version, die ausreichen sollte

Alles, was Sie tun müssen, ist die richtigen JDBC zu erhalten - Datenbanktreiber, das Werkzeug zeigt Tabellen und Referenzen orthogonal, Hirarchical, in einem Kreis ;-) usw. nur durch einen einzigen Tastendruck. Genießen Sie!

Was DBMS (Database Management System) verwenden Sie? Viele moderne DBMS wie SQL Server und Access kann für Sie ein E-R Diagramm erstellen.

Microsoft Visio ist ein ausgezeichnetes Werkzeug und kann Ingenieur SQL von einer beliebigen Datenquelle umkehren.

DDT (Datenbank-Design-Tool) können Reverse Engineering von rohen SQL an Fenstern und ist sehr leicht (sehr kleiner kostenloser Download).

MySQL Workbench ist eine der beliebtesten MySQL-Tools und verfügt über eine frei herunterladbare Version.

SQLFairy können das Gleiche tun für MySQL auf Linux.

dbdesc ist nicht frei, aber ich habe sehr gute Dinge über sie gehört. Es arbeitet mit mehreren der wichtigsten Datenbanken gibt.

Ich habe das Glück, dass ich nicht anderen Leute Datenbank-Schemata noch zu entziffern gehabt haben. Ich habe eine Reihe von Vorlagen verwenden, die mit Codesmith .

Zum einen kann ich sagen, dass ich Ihren Schmerz fühlen!
Hier sind ein paar meiner Tipps:

  1. In der Regel wird ein Werkzeug nur hilfreich sein, wenn die Designer richtig alle Primär- und Fremdschlüssel definiert haben, so dass sich bewusst sein, dass ein Werkzeug nicht alle wichtigen Beziehungen abholen könnten.
  2. Die nützlichste Sache ist, zu sehen, was Abfragen durch den Client-Code ausgeführt werden. Dies wird nicht nur sagen, was Beziehungen existieren, aber Tabellen und Beziehungen, die sind die am häufigsten verwendet - das ist, wo Sie Ihre Bemühungen konzentrieren wollen werden.

Es gibt einige Open-Source-Software, aber das Tool von Visio Professional zum Reverse Engineering von Datenbankschemata ist recht gut, da es den Prozess des Reverse Engineerings und der Diagrammerstellung entkoppelt.Ich benutze es oft, weil es auf den meisten Websites leicht verfügbar ist.

Eine nette Funktion von Visio ist, dass Sie ein Reverse Engineering durchführen und dann Ihre eigenen Diagramme aus dem Reverse Engineering-Schema erstellen können.Dies ist eine sehr gute Möglichkeit, das Schema zu erkunden und zu verstehen, während Sie diese Arbeit im Rahmen der interaktiven Erstellung eines Referenzdokuments für das Schema ausführen.Ich habe diese Technik verwendet, um alles zurückzuentwickeln Aktivitätsbasierte Kostenrechnungssysteme Zu Versicherungs-Underwriting-Systeme, normalerweise ohne große Hilfe des Anbieters.Das Herumbasteln an Visio-Diagrammen ist sehr entspannend.

Zusammen mit einem kleinen Hypothesentest über FK-Beziehungen (wenn der FK nicht physisch auf dem Tisch vorhanden ist) können Sie ziemlich komplexe Schemata verstehen.Ich habe festgestellt, dass dieser Diagrammansatz Visio zu einem Spitzenreiter macht, da Sie problemlos und auf recht bequeme Weise mit dem Reverse-Engineering-Modell interagieren können.Sie können fehlende Fremdschlüssel ergänzen, Themenbereichsdiagramme erstellen und Anmerkungen zu den Diagrammen hinzufügen.Die Interaktivität dieses Prozesses macht ihn zu einem guten Lernwerkzeug.

Dies ist eine etwas subjektive Sichtweise, aber die Interaktivität funktioniert für mich als Lernprozess sehr gut und ist bei weitem mein bevorzugter Ansatz.Die meisten Websites werden Ihnen die etwa 300 £ für eine Lizenz nicht gönnen – sofern sie diese nicht bereits verfügbar haben.Die einzige Site, auf der ich jemals gearbeitet habe, wo sie es integrieren mussten, war, weil sie Visio Standard anstelle von Pro hatte.Ich habe nett nachgefragt und die PHB hat es unterschrieben.

Ich verwende MySQL Workbench ( http://www.mysql.com/products/workbench/ ) für mySQL-Datenbanken. Sie können die Werkbank zu Ihrer Datenbank anhängen und es wird die ER digram für Sie zeichnen.

Mit pgsql / win32 fand ich die einfachste Lösung, einen Perl-Skript zu schreiben, war die Verwendung von Graph :: Leicht von CPAN gemacht. Abfrage der Datenbank für Fremdschlüsselbeziehungen, machen einen gerichteten Graphen mit Tabellen als Knoten und FK Beziehungen als Links. Wenn dies Ihr Setup ist, kann ich nach dem Code.

Ich mag, um zu versuchen und zu sehen, ob die Anwendungen, die die Datenbank Möglichkeiten haben verwenden, um die SQL der Protokollierung sie (oder den DB-Backend selbst, sondern dass tendenziell weniger lenkbar). Erste ein Gefühl für das, was auf der Datenbank durchgeführt fordert hilft Ihnen, sich auf die wichtigen Tabellen konzentrieren.

Wie bei den meisten Dingen gilt die 80/20 Regel hier: 20% der Tabellen wird 80% der interessanten Sachen tun. Sobald Sie sie heraus, ein Diagramm abgebildet habe, ist nur selten notwendig.

Schauen Sie sich die Primärschlüssel Fremdschlüssel relationshsips, die als Ausgangspunkt eingerichtet wurden.

Da eine Datenbank ohne bestehende Diagramme, können keine Beziehungen formell eingerichtet haben, schaue ich auf den Tabellenstrukturen und Namen und machen meine besten Vermutungen darüber, was zu dem, was zusammenzuhängen könnte, dann in die Strukturen graben, um zu sehen, ob es offensichtlich (aber nicht definiert) Fremdschlüssel. Ich schaue auf die gespeicherte Procs eine Vorstellung zu bekommen, wie die Tabellen verknüpft sind und welche Felder werden abgefragt auf.

Während automatisierte Tools, die Datenbank, um herauszufinden, spiffy sein können, finde ich, dass, wenn ich in die Details der Datenbank selbst wirklich graben, ich mit einem viel besseren Verständnis am Ende, als ich von jedem Bild automatisch erstellt bekommen.

Ich habe einige ziemlich gute Erfahrungen mit Aqua Data Studio für Reverse Engineering ein DB-Schema. Es ist sehr reich an Funktionen und unterstützt noch mehr exotische Datenbanken wie Informix oder Sybase.

Das half mir mit der Erzeugung des ER-Diagramme auf MS SQL Server 2012:

MS SQL Server Management Studio> Menü Datei> "Objekt-Explorer" Wählen Sie Ihre Datenbankknoten und erweitern. Unter diesem Knoten finden Sie einen Unterknoten „Datenbankdiagramme“ genannt Rechtsklick auf „Datenbank-Diagramm“> „Neue Datenbank Diagramm“> Fügen Sie Tabellen, die Sie sehen wollen, ihre Spalten, Beziehungen, ...

Verwenden Sie Visio. Bei der Verwendung von Vision 2010, müssen Sie die Generic OLEDB-Provider für SQL Server verwenden, um sicherzustellen, dass es keine Probleme mit zu den Visio-Treiber zu verbinden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top