Frage

Ich habe eine sehr große Datenbank, die ich, um Diagramm benötigen. Die Datenbank ist SQL Server 2008 auf x64. Es ist groß, dass es Hunderte von verwandten Tabellen sind, die jeweils mit bis zu 2000 Feldern (einige sind spärlich), mehrere Beziehungen zwischen Tabellen (oft Hunderte pro Tisch, in der Tat), mehrere Schemata ... Sie bekommen die Idee.

Ich habe versucht, die Datenbank-Diagramm Funktion von SQL Server Management Studio zu verwenden, aber es stürzte mit einem Win32Exception: „nicht genügend Speicher verfügbar, um diesen Befehl zu verarbeiten ...“

habe ich versucht, Visio Reverse Engineering-Funktion auf einer anderen Maschine zu verwenden, um die Verbindung und es Diagramm, aber das für ein paar Stunden ist schon ohne ein Zeichen der Fertigstellung gehen.

Die Skripte dieses Riesen-Schema aufzubauen, indem ein Werkzeug werden wir für den Job gebaut. Während das Werkzeug seine Arbeit tut, ist ganz gut, es ist schwierig, seine Ausgabe sichtbar zu machen.

Ich bin nach einem Werkzeug ein Diagramm dieser Datenbank heraus zu treten, so dass wir dies tun können. Irgendwelche Vorschläge?

EDIT: Nur um zu betonen, wird das Diagramm in der Tat soll nicht für die tatsächliche nützliche Referenz verwendet werden. Es ist ein Management-Client-Beziehung Gerät der Komplexität / Umfang des Systems zu demonstrieren.

War es hilfreich?

Lösung

Die Erzeugung eines Bildes von jeder Art für eine Datenbank dieser Größe wird einfach Augenschmaus, die an einer Wand hängen geblieben ist, dass der Auslosung Keuchen, und ehrlich gesagt, außer gelegentlichen Blicken keinen wirklichen Zweck dient. Warum nicht ein Tool wie Red Gate Dokumentations dass ein tatsächlichen Zweck dienen wird? Bitte haben Sie Verständnis Ich sage das nicht in einer spöttischen Art und Weise, aber ich habe auf diesem Weg gewesen, bevor Sie eine riesige Datenbank, um Diagramm, und ich bis zu einem gewissen Grad erfolgreich, aber nie einen guten Ausgang gefunden, wo es von Nutzen war.

Andere Tipps

arbeitete ich an einem Ort, der mehrere hundert Tische hatte (in der Nähe von 1k) und niemand wusste wirklich, was im System vorging, Unternehmen wuchs und viel zu mieten. Ein Mann wurde mit dem Tun ein Diagramm beauftragt, und er auto-magisch ein riesiges gefliestes Plakat, das jede Tabelle mit Linien verbinden verschiedene Tabellen (gehen alle über den Ort) enthalten ist. Ich bin mir nicht sicher, was er verwendet wird, war es Unix und Oracle Jahren (Art und Weise vor Linux und Open Source). Es gab keinen wirklichen Sinn und Verstand, um das Layout der Tabellen in seinem Diagramm. Er hatte erfolgreich ein Diagramm jeder Tabelle erstellt. Das „Plakat“ wurde in einem gemeinsamen Raum an einer Wand setzen, und bekam ein paar Blicke, aber niemand jemals wirklich verwendet, es war unbrauchbar, zu unübersichtlich, zu unorganisiert. Als Ergebnis habe ich MS-Word eine einzelne Seite Darstellung, die die 20 wichtigsten Tabellen (es ging durch ein paar Wiederholungen wie ich neue Haupttabellen „entdeckt“), die zu schaffen, mit Linien für jeden Fremdschlüssel und jede Tabelle in einer logischen Art und Weise angeordnet . Ich zeigte den Spaltennamen, Datentyp NULL-Zulässigkeit, PK, und alle FKs. Ich legte meine Diagramm von meinem Monitor auf meiner Wand. Schließlich wollte jeder eine Kopie meines Diagramm, einschließlich der Person, die das „Plakat“ gemacht. Als ich diesen Job verlassen sie immer noch mein Diagramm neue Mitarbeiter wurden zu geben.

Ich empfehle Sie, wie ein Entdecker arbeiten, die wichtigsten Tabellen finden und zuordnen, wie Sie gehen, so dass so viele spezifischen Diagramme wie nötig, wie Sie das System entdecken. Der Versuch, eine gigantische „Plakat“ machen nicht automatisch sehr gut funktionieren.

Da Sie mehrere Schemata haben vielleicht eine gute Idee, Diagramme pro Schema zu erzeugen, anstatt

Mit graphviz. Verwenden Sie einige SQL-Anweisungen, die digram zu erzeugen, dann führen Sie es durch dot.exe ein PDF oder PNG zu erzeugen.

Ich habe es verwendet Digramme von Daten in SQL Server-Tabellen zu erzeugen. Kein Grund, warum Sie es für Tabellen verwenden können.

http://www.graphviz.org/

Es gibt auch Java, Silverlight und AJAX-Dienstprogramme für die Navigation extra große Grafiken, als PDF nur für eine Seite ist.

würde ich tun, das Ganze in einem einzigen Diagramm vermeiden. Wie Sie erwähnt haben, zum Absturz bringen die Werkzeuge, und es ist wahrscheinlich nicht möglich, einfach mit potenziell Tausende von Datensätzen pro Tabelle ein Diagramm mit Hunderten von Tabellen zu verstehen. Können Sie Diagramme kleinere logische Bereiche mit einigen Überschneidungen zu anderen erzeugen logische Bereiche?

Alternativ können Sie versuchen, so etwas wie graphviz mit den DDL-Anweisungen zu analysieren und erzeugen dann einen Graphen. Es wird wohl eine Weile Churn, aber ich erinnere mich an einer Universität in Postergröße Diagramme mit kleinem Druck zu sehen, die wahrscheinlich von der gleichen Komplexität wie bei Sie waren. Viel Glück!

FWIW, vorausgesetzt, Sie wollen mit diesem gehen voran habe ich persönlich fand, dass die Visual Studio 2010-Datenbank-Modellierer die schönsten Diagramme tut Ich habe so weit kommen über - einfach Ihre Datenbank importieren, als ob Sie es verwenden würden für Linq2SQL

SchemaSpy bietet eine praktische Schnittstelle interaktive Diagramme zu erzeugen, die mehrere Schemas mit graphviz als Backend überspannen. Ich habe es nie versucht diese Größe allerdings auf etwas.

IntelliJ (speziell IDEA als nur mit dieser versucht, aber ich glaube, ihre anderen IDEs diese Funktion bieten https: // www .jetbrains.com / ) hat von hier aus einem eingebauten Datenbank-Client-Anlage, können Sie mit Ihrer Datenbank verbinden und einzelne Tabellen, spezielle Kombination oder Tabelle oder alle Ihre Tabellen analysieren, indem sie die gewünschten Tabellen, ‚Rechtsklick‘ und Auswahl der ‚Diagramm‘ Option. Sie können zum späteren Nachschlagen speichern und auch ausdrucken. Ich habe das gerade versucht, auf einem großes DB von mehr als 500 Tabellen und es in Sekunden wiedergegeben, dient das Vektordiagramm als Alternative Datenbankstrukturen visuell und die Beziehungen und Abhängigkeiten zwischen bestimmten Tabellen zu verdauen, aber nicht für den Druck empfohlen.

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