Database
 sql >> Datenbank >  >> RDS >> Database

Datenbankdesign mit Vertabelo

Das Datenbankdesign geht weit über das bloße Zeichnen von Linien und Kästchen hinaus. In diesem Artikel reflektiere ich den Prozess der Datenmodellierung mit Schwerpunkt auf Best Practices sowie die Verwendung von Tools zur Implementierung dieser Best Practices, um ein gutes Datenbankdesign zu erstellen.

Datenbankdesign ist der Prozess der Erstellung eines detaillierten Modells einer Datenbank. Der Beginn der Datenbankmodellierung besteht darin, sich einen Überblick über den Geschäftsbereich und die zu entwickelnde Funktionalität zu verschaffen.

Wenn Sie sich bezüglich der Schritte des Datenbankdesignprozesses etwas unsicher sind, verweise ich Sie auf diese Beschreibung der Datenbankdesignschritte.

Beginnen Sie mit der Modellierung:Sprechen Sie mit dem Unternehmen

Dies ist ein Schlüsselprinzip in der Informationstechnologie. Wir lösen ein Geschäftsproblem von der Datenseite, damit die erforderlichen Daten verfügbar sind. Wir müssen mit den Geschäftsleuten sprechen, um ihre Bedürfnisse zu verstehen.

Wir müssen Fragen stellen wie:

  • "Was ist die Domäne?"
  • "Was sind die Herausforderungen in diesem Bereich?"
  • „Was sind die zu lösenden Probleme?“
  • "Welche Informationen müssen wir speichern?"

Indem wir mit dem Unternehmen sprechen, können wir Kompromisse in Betracht ziehen, die sich auf das Datenbankmodell auswirken könnten. Wir legen auch den Grundstein für die Modellierung.

Nehmen wir ein konkretes Beispiel. Nehmen Sie eine Buchhaltungsanwendung für ein Unternehmen:Sie müssten Kunden, Lieferanten, Rechnungen, Zahlungen, Konten, Salden usw. modellieren. Sie müssen sich mit diesen Konzepten und der Buchhaltung vertraut machen. Das geht nur durch Sprechen an die Geschäftsleute.

Konzepte in Ordnung bringen

Diese anfängliche Arbeit mit Unternehmen führt Sie zu einem Modell dessen, welche "Konzepte" in der Datenbank gespeichert werden müssen (lesen Sie diese Erklärung der verschiedenen Ebenen von Modellen). Von dem Konzept dessen, was wir in der Datenbank speichern müssen, d. h. unserem konzeptionellen Modell, gehen wir zu einem logischen über. Das logische Modell dokumentiert die Geschäftskonzepte und -regeln, auf denen wir Details aufbauen (es könnte Sie interessieren, diese Diskussion darüber zu lesen, ob die logische Datenmodellierung obsolet ist).

Wenn Sie sich bezüglich der verschiedenen Arten von Datenmodellen nicht sicher sind, lesen Sie unseren Artikel zur Implementierung konzeptioneller, logischer und physischer Datenmodelle mit Vertabelo.

Das logische Datenmodell fügt den bereits dokumentierten Konzepten weitere Informationen hinzu. Es beschreibt, wie die Daten strukturiert sind und wie die Entitäten miteinander in Beziehung stehen. Darüber hinaus enthält es Informationen zu den Arten von Daten, die wir verwalten.

In Vertabelo können wir ein logisches Datenmodell durch ein logisches Entity-Relationship-Diagramm (ERD) erstellen. Sehen Sie sich die Einzelheiten zur Durchführung der logischen Datenmodellierung mit Vertabelo an.

Hier ist ein einfaches, aber noch nicht vollständiges, logisches Datenmodell von Kunden, Lieferanten, Rechnungen, Zahlungen und Konten.

Ein weiterer Vorteil, den ich bei der Arbeit mit Vertabelo finde, ist, dass ich mich nicht zu sehr um die genaue Schreibweise kümmern muss. Das Modellierungstool ermöglicht es Ihnen, sich um das Design zu kümmern und nicht um die Besonderheiten der Notationen und Symbole von Entity-Relationship-Diagrammen (ERD), die während des Datenbankdesignprozesses natürlich Ihre geringste Sorge sein sollten.

Lass uns körperlich werden

Um tatsächlich mit der Datenbank zu arbeiten, müssen wir von unserem logischen Modell zu einem physischen übergehen. Mit dem Vertabelo-Tool können wir einfach ein physisches Datenmodell aus einem logischen generieren. Sie erstellen zuerst ein logisches Datenmodell, dann können Sie "automatisch magisch " Generieren Sie ein physisches Modell, indem Sie das logische Modell auswählen und auf "Physisches Datenmodell generieren" klicken (siehe diese detaillierte Anleitung für die genauen Schritte).

Offensichtlich wird das generierte physische Datenmodell dem logischen Modell ähnlich sein; Logische Datentypen werden jedoch in Datentypen übersetzt, die für das jeweilige Datenbankverwaltungssystem (DBMS) zulässig sind, für das Sie das physische Modell generieren. Das physische Modell gibt auch an, welche Attribute Fremdschlüssel zwischen Tabellen sind. Möglicherweise möchten Sie auch zusätzliche Modellierung in Bezug auf die physischen Aspekte der Datenbank durchführen – beispielsweise Indizes und Ansichten.

Darüber hinaus ist es möglich, direkt ein physisches Datenmodell zu erstellen; Sie müssen nicht zuerst eine logische erstellen. Der direkte Wechsel zu einem physischen Modell ist für kleinere, gezieltere Modellierungsaktivitäten sinnvoll, bei denen die Geschäftsdomäne besser definiert ist. Der physische Datenbankmodellierungsprozess ist unkompliziert und sollte nicht zu viele Herausforderungen darstellen. Ein logisches Datenmodell zu haben wird sich für größere Projekte als nützlich erweisen, aber zumindest ein physisches zu haben ist besser als gar keins.

Entwicklung Ihres Datenbankdesigns

Entwickler sind im Allgemeinen der Meinung, dass sich das Datenbankmodell um den tatsächlichen Code drehen sollte, während Datenmodellierer der Meinung sind, dass der Code auf der Grundlage eines relativ statischen Datenmodells erstellt werden sollte. Datenmodellierung muss heute kollaborativ sein . Code und Datenmodell beeinflussen sich gegenseitig.

Wir brauchen also ein Tool, das einen kollaborativen Datenbankdesignprozess und eine Modellierung unterstützt. Neben der Zusammenarbeit mit dem Unternehmen zur Erstellung des konzeptionellen Designs müssen Datenmodellierer während des Entwicklungszyklus zusammenarbeiten, um die logischen und physischen Datenmodelle nach Bedarf zu aktualisieren. Modellierer und Entwickler müssen das Modell anpassen, bis es die geschäftlichen und nicht funktionalen Anforderungen des Systems wirklich unterstützt.

Natürlich können Änderungen zu Fehlern führen. Auch hier kann es hilfreich sein, ein Werkzeug zu haben; Ein Tool, das Ihr Datenmodell ständig validiert, ist von unschätzbarem Wert. Vertabelo verfügt über eine integrierte Live-Online-Validierung sowohl für logische als auch für physische Datenmodelle, sodass Probleme während der Modellierung und nicht während der Implementierung erkannt werden. Und Fehler bleiben für alle Beteiligten sichtbar. Außerdem können Sie die Validierungseinstellungen nach Bedarf anpassen. Hier ist ein Beispiel meines unvollständigen Datenmodells mit mehreren Fehlern und Warnungen.

Um auf das Buchhaltungsbeispiel zurückzukommen, stellen Sie möglicherweise während der Entwicklung fest, dass es nicht ausreicht, eine einzige Währung wie Euro oder Dollar für Rechnungen und Zahlungen zu modellieren. Vielmehr müssten Sie Beträge in ihrer jeweiligen Währung speichern und in die „Basis“-Währung umrechnen, in der die Buchhaltung des Unternehmens geführt wird. Möglicherweise benötigen Sie auch die Wechselkurse und historische Informationen zu den Kursen, die in der Vergangenheit für die Umrechnung von Währungen verwendet wurden.

Hier erweist sich ein kollaboratives Datenbankmodellierungstool wie Vertabelo wirklich als wertvoll. Weitere Informationen zur Verwendung von Vertabelo für die kollaborative Modellierung finden Sie hier. Klicken Sie einfach darauf und teilen Sie Ihr Modell mit Ihren Teammitgliedern.

Physisch zur Implementierung

Sobald Sie Ihre erste Version des physischen Modells haben, werden Sie wahrscheinlich eifrig darauf warten, mit der eigentlichen Datenbank zu arbeiten. Dazu generiert Vertabelo SQL-DDL-Skripte (Data Definition Language), um die Datenbank zu erstellen. Ich werde hier nicht alle Details schreiben, da Sie sie im Artikel der Online-Wissensdatenbank zum Erstellen eines SQL-Skripts zum Erstellen einer Datenbank finden können.

Lassen Sie mich Ihnen aus Erfahrung sagen – das ist eine so willkommene Funktion. Sie müssen sich nicht mit den Unwägbarkeiten verschiedener Datenbank-SQL-DDL-Syntaxen auseinandersetzen und können sich auf Ihr Design konzentrieren .

Versionierung

Nun, wie ich oben geschrieben habe, werden sich Ihre Modelle weiterentwickeln, sei es während des Datenbankentwurfs, während der Softwareentwicklung oder danach während der tatsächlichen Nutzung Ihrer Datenbank. Es gibt zwei großartige Funktionen von Vertabelo, von denen ich sichergehen möchte, dass Sie sie kennen.

Erstens beinhaltet Vertabelo eine Versionsverwaltung. Sie können Änderungen nachverfolgen und Versionen der Datenmodelle verwalten, sodass Sie die Zeit einfach zurückdrehen und bei Bedarf zu einer früheren Version zurückkehren können. Wenn Sie diszipliniert sind, können Sie die verschiedenen Versionen mit genauen Namen kennzeichnen, unabhängig davon, ob es sich um Entwürfe oder tatsächliche Veröffentlichungen der Datenbank handelt.

Die andere Funktion, von der ich während meiner Datenbankmodellierung viele Jahre geträumt habe, ist die Fähigkeit des Vertabelo-Tools, automatisch Generieren Sie Migrationsskripte zwischen Versionen Ihres Datenmodells. Ich habe die Zeiten verloren, in denen ich Migrationsskripte wiederholt manuell schreiben und korrigieren musste. Hier ist ein Beispiel für die Generierung der Migrationsskripts zwischen zwei Versionen einer Datenbank für eine Online-Umfrage.

Was für ein Segen für Datenmodellierer, ein Tool zu haben, das Versionen effizient verwaltet und die Auswirkungen von Änderungen zwischen den Versionen ermittelt!

Große Modelle

Lassen Sie mich zunächst ehrlich sein. Ich arbeite nicht immer mit großen Modellen, aber manchmal muss ich sie erstellen. Auch hier bietet uns Vertabelo eine Lösung, um unsere Modelle zu organisieren.

Wir können Tabellen visuell mit Themenbereichen gruppieren; Wenn Sie sehen möchten, wie das geht, können Sie sich auch ein Video über die Verwaltung großer Datenmodelle in Vertabelo ansehen.

Sie können diese Technik auch beim Reverse Engineering von einem SQL-DDL-Skript in ein Datenmodell verwenden.

Beginnen Sie mit dem Datenbankdesign

Wenn Sie nach Best Practices für das Datenbankdesign suchen, empfehle ich Ihnen, einen Blick auf diesen Artikel zu werfen. Tipps für ein besseres Datenbankdesign finden Sie in diesem Artikel. Und sehen Sie sich diesen an, um Ratschläge zu erhalten, wie Sie mit der Verwendung von Vertabelo für Ihr Datenbankdesign beginnen können.