2008-09-19 6 views
15

Eines der ersten Dinge, die ich mache, wenn ich an einem neuen Projekt arbeite, ist das Design eines Datenbankmodells. Um das Modell zu visualisieren, verwende ich eine 7 Jahre alte Version von Smartdraw. Vielleicht ist es Zeit für etwas Neues. Was ist das ultimative Programm, um ein Datenbankmodell zu zeichnen? Smartdraw ist nur für Windows. Gibt es etwas, das auch unter Unix verwendet werden kann?Was ist das ultimative Programm, um ein Datenbankmodell zu zeichnen?

Antwort

21

Das beste Werkzeug ist Bleistift und Papier.

Vielleicht nicht die Antwort, die Sie suchen, aber manchmal ist die einfachste Lösung die beste. :-)

+8

Ich frage mich, ob jeder, der dies auch upvoted ihren Code auf die gleiche Art und Weise schreiben ... –

+0

Es geht um Code entwerfen, nicht das Schreiben von Code. Und ja, normalerweise skizziere ich die wichtigsten Strukturen eines größeren Programms mit "Bleistift und Papier", weil es hilft, sich auf die wichtigen Fragen zu konzentrieren. – vog

+2

Und auf diese Weise können Sie Tabellen und Beziehungen einfach neu anordnen, nachdem sie gezeichnet wurden. Und dann können Sie das Diagramm in SQL-Code exportieren. Oh wait ... – JoeCool

2

Ich weiß nicht, ob es das "ultimative" Programm zum Zeichnen von Datenbankmodellen ist, aber ich verwende Visio. Leider läuft es nur in Windows.

Auf der Oberseite kann ich meine eigenen Formen erstellen oder vorhandene ändern und speichern sie in Sammlungen namens Schablonen. Ich kann meine Formen auch "schlau" machen, indem ich sie für verschiedene Dinge programmiere, wenn ich auf sie doppelklicke.

+1

Abgestimmt. Nach meiner Erfahrung saugt Visio viel Zeit dafür. –

11

Ein Whiteboard (und Kamera ein Bild zu machen danach)

1

DIA ist nicht schlecht, und es gibt Werkzeuge, um tatsächlich einen Code von einigen Arten von Modellen zu erzeugen. Wenn Sie PostgreSQL verwenden, gibt es sogar ein Tool für den umgekehrten Weg, pg-autodoc.

DIA ist für Unix verfügbar, und ich glaube auch Windows.

1

Früher habe ich Viso benutzt, aber jetzt, da ich mehr Mac bin, benutze ich Omnigraffle.

Ich muss aber zugeben, wie andyUK tut, mache ich eine grobe Skizze auf dem Papier.

Es hängt auch davon ab, welche Datenbank Sie verwenden. Wenn es MySQL ist, dann gibt es einige visuelle Entwicklungstools, nur have a google

1

Es kann mehr technische Programme geben, aber ich verwende SmartDraw. Ich möchte auch darauf hinweisen, dass das "Ultimative" Ihren Umständen entspricht. Finden Sie heraus, was für Sie oder für Sie und Ihr Unternehmen am besten funktioniert. Was für Sie funktioniert, ist das "Ultimative".

0

OpenOffice hat ein Vektorgrafikwerkzeug, und Inkscape ist ein anderes gutes.
Andernfalls können Sie Graphviz (Punktsprache) verwenden, um ein solches Diagramm aus einer Textbeschreibung zu erstellen.
Es gibt auch einige Tools, um ein solches Diagramm aus einer bestehenden Datenbank zu generieren (ich dachte zuerst, dass es das ist, was Sie gefragt haben).

0

Wenn Sie nicht viel brauchen, nehmen Sie Dia.

1

Brainstorm/skizzieren Sie zuerst die Datenbank auf Papier/Whiteboard, und gehen Sie dann mit einem Diagrammwerkzeug.

Welches Werkzeug hängt von Ihrer Zieldatenbank ab. Wir verwenden SQL Server und daher funktioniert der Designer in SQL Server Management Studio sehr gut, da wir die Datenbank selbst zur gleichen Zeit erstellen.

2

Ich benutze ein Whiteboard und eine Kamera. Ich stimme den Bleistift und das Papier ab.Ich behalte fast immer einen Stift (Zil) und einen Zettel mit mir, weil ich für immer etwas in meinem Kopf entwerfe und es notieren muss. Ich mag auch Visio, aber mein Lieblingssoftwareprogramm war immer ERWin. Der Preis für dieses Ding ist nur eine Ausrede, aber es ist großartig.

2

WWW SQL Designer ist eine der besten, die ich gesehen habe, die ziemlich erstaunlich ist, da es alles Javascript ist. Es kann auch XML und SQL-Code von allem, was Sie zeichnen, importieren und exportieren. Und sie haben nette Bezierkurven hinzugefügt, seit ich sie zuletzt benutzt habe.

1

Für Linux Ich benutze umbrello

8

Ihr Gehirn die beste Zeichenwerkzeug ist.

Ich bevorzuge es, ein Datenbankschema in einer einfachen Textdatei zu entwickeln. Zunächst enthält es nur die Tabellennamen, Attribute und Fremdschlüssel:

 
company: 
    company_name 
    ... 

employee: 
    name 
    age 
    company_name -> company 
    ... 

...: 

Die Syntax ist nicht wichtig. Es muss nur übersichtlich und leicht zu ändern sein. Später füge ich Typen und CHECK() - Einschränkungen hinzu, , so dass die Textdatei nach und nach in gültigen SQL-Code umgewandelt wird.

Mit einem Zeichenwerkzeug in diesem frühen Stadium ist nur ablenkend, , weil es ermutigt, Ihre Zeit mit beweglichen Rectangles zu verschwenden. Stattdessen lassen Sie Ihr Gehirn ein Bild des Schemas in der gleichen Weise erstellen, wie es Fantasy-Bilder beim Lesen eines Buches erstellt.

Während das Schema wächst, wird es notwendig, das Gehirn zu unterstützen, indem Sie eine Übersicht erstellen. Hier sind jedoch Bleistift und Papier schneller als jede Zeichensoftware. Beachten Sie auch, dass Sie keine Übersicht mit unwichtigen Details überdecken müssen. Skizzieren Sie einfach die Tabellennamen und die wichtigsten Beziehungen (Fremdschlüssel). Alle weiteren Details werden den Wert dieser Übersicht verringern.

Wenn Sie jedoch wirklich wohler mit extrem detaillierter Grafik fühlen als mit Textdateien und Übersichtsgrafiken, können Sie DBDesigner4 oder WWW SQL Designer versuchen.

+0

Ich würde mit DBDesigner4 für MySQL fortfahren - recht intuitiv zu bedienen und leicht zu verstehen. Funktioniert gut beim Erstellen der Tabellen aus Ihrem Diagramm und beim Reverse Engineering vorhandener Datenbanken. – Ian

+1

Ich zweite die Textdatei Idee. Nicht sicher, ich halte das Gehirn für ein Zeichenwerkzeug. – harpo

2

Ich mag ERWin. Nicht billig, aber es kann Reverse-Engineer oder Initial Design + CRUD erstellen und db-Struktur manipulieren. Viso ist auch dafür ziemlich gut, aber es ist nicht so vollständig und natürlich wie starke MS SQL-Neigungen Fähigkeiten.

2

Früher verwendete ich Visio, aber wenn Ihr Datenbankserver MySQL ist, versuchen Sie MySQL Workbench. Es hat eine Linux-Version sowie eine Win32-Version. Wie seine anderen GUI-Produkte hat es seinen gerechten Anteil an Macken, aber es funktioniert ziemlich gut und hat die Fähigkeit, ein Diagramm eines Schemas und eines Schemas aus einem Diagramm zu erstellen.

Ich stimme auch zu, dass ein Stift und Papier, oder Whiteboard und Kamera eine gute Möglichkeit, Dinge zu skizzieren, aber ich mag die GUI-Tools zum Niederlegen einer Idee, die ein bisschen besser geformt oder kompliziert ist.

1

Wenn Sie nach einer kostengünstigen Lösung/einem Tool ohne Reverse/Forward Engineering-Funktionen suchen, ist MS Visio die beste Wahl. Wenn Sie jedoch planen, etwas Geld in das ERD-Tool zu investieren, geben Sie es für ER/Studio aus.

Ich benutzte und werde Meister von ERWIN. Sobald ich angefangen habe, ER/Studio zu benutzen, wurde ich ein Fan davon. Ich bin ein Enterprise Data Architect bei einem Fortune-100-Unternehmen und weiß nicht, wie ich meine Arbeit ohne sie erledigen kann.

PS: Ich habe keine Verbindungen mit irgendwelchen dieser Produkte und Unternehmen.

1

Ich verwende gerne das Open-Source-Mind-Mapping-Programm Freemind. Es ist vergleichbar mit der Gestaltung mit Bleistift und Papier, da es nicht viel Oberflächenkomplexität gibt, um den Designprozess zu unterbrechen.

Aber es hat zwei große Vorteile gegenüber Papier/Bleistift:

  1. Knoten Falten
  2. einfache Drag-and-Drop-Neuanordnung

Es ist sehr einfach, die Schnittstelle zu navigieren, ohne Verwenden Sie die Maus innerhalb von etwa fünf Minuten. Sie können so viele oder so wenige Details hinzufügen, wie Sie möchten, und Sie können die Details immer zusammenklappen, um Ihre Ansicht zu entstören. Hier ist ein Beispiel-Screenshot:

FreeMind screenshot

Die Kreise an den Enden der Abteilungen, Mitarbeiter und Stunden Tabellen zeigen, dass es mehr Knoten, die nach oben gefaltet sind. Sie können mit verschiedenen Schriftarten, Hintergrundfarben und sogar HTML-Formatierung verrückt werden. Ich habe gerade [Strg] - [B] gemacht, um meine Tabellennamen fett zu machen.

Freemind - und Mind-Mapping-Software im Allgemeinen - stellt seinen größten Nutzen von dem kreativen Prozess aus dem Weg zu bleiben. Es ist das erste Werkzeug, das ich anwende, wenn ich ein neues Projekt von Grund auf neu starte.

HINWEIS: ich immer nur unter Windows das Programm verwendet haben, aber es ist available on Linux.

Verwandte Themen