Datenbankmodellierung hat etwas Wissenschaft, etwas Kunst, viele Techniken und ziemlich viel allgemeine Weisheit. Alle guten Datenbankmodellierer lernen viel, üben viel, entwickeln Kreativität und entwickeln zwischenmenschliche Fähigkeiten.
Der Weg zum Datenbankdesigner mag beschwerlich erscheinen. Aber wenn es Ihnen Spaß macht, mit Daten zu arbeiten, Strukturen zu schaffen, wo es scheinbar keine gibt, und Menschen dabei zu helfen, verborgene Wahrheiten in Fluten von Informationen zu finden, wird Ihnen die Reise definitiv Spaß machen.
Was ist Datenmodellierung?
Das wichtigste zuerst. Lassen Sie uns klarstellen, was Datenmodellierung ist. Datenmodellierung ist der Prozess der Erstellung einer konzeptionellen Darstellung der Informationen, die in einer Datenbank enthalten sein sollen. Das Ergebnis dieses Prozesses ist ein Datenmodell mit Datenobjekten (den Entitäten, für die Informationen gespeichert werden sollen), den Zuordnungen oder Beziehungen zwischen ihnen und den Regeln oder Einschränkungen, die die Informationen in der Datenbank regeln.
Die für die Datenmodellierung zuständige Person ist der Datenbankdesigner, obwohl die Modellierung häufig zu den Verantwortlichkeiten des Datenbankingenieurs oder -architekten gehört. Die Aufgabe des Datenbankdesigners beschränkt sich nicht nur auf das Zeichnen von Diagrammen, sondern umfasst auch das Überprüfen von Anforderungen – entweder durch Lesen der Dokumentation oder durch Befragung von Benutzern – und anschließendes Erstellen eines Datenmodells, das diesen Anforderungen entspricht. Aus diesem Grund brauchen Sie Datenmodellierung.
Sobald ein Datenmodell erstellt ist, muss der Designer dieses Modell unterstützen und es durch seine Entwicklung und seinen Lebenszyklus führen. Das bedeutet eine enge Zusammenarbeit mit Programmierern, Analysten und allen anderen, die das Modell verwenden müssen. Es bedeutet auch, Änderungswünsche am Modell anzunehmen, Verbesserungsvorschläge entgegenzunehmen oder es an neue Bedürfnisse anzupassen.
Schritte in Richtung der Karriere eines Datenbankdesigners
Rom wurde nicht an einem Tag erbaut, und Sie werden nicht über Nacht zum Datenbankdesigner. Um die Ziellinie zu erreichen, müssen Sie eine Reihe von Schritten befolgen. Es beginnt mit dem Erwerb eines Abschlusses, dann der Vertiefung bestimmter spezifischer Kenntnisse, dem Erlernen der Verwendung von Werkzeugen, der Zertifizierung, der Erlangung eines Experten in bestimmten spezifischen Fähigkeiten und schließlich dem Erlernen von Fähigkeiten, die indirekt mit der Aktivität zusammenhängen, die Sie ausführen möchten – die sogenannten „weichen“ Fähigkeiten. Aber gehen wir sie Schritt für Schritt an.
1. Einen Abschluss erwerben
Der erste wichtige Meilenstein in der Karriere eines Datenbankdesigners ist der Abschluss. Associate- und Bachelor-Studiengänge sind der beste Weg für diejenigen, die ein einführendes Verständnis für Datenbankdesign und Softwareentwicklung erlangen möchten. Associate Degree-Programme decken spezifische Aspekte des Datenbankdesigns und der Software ab und bieten gleichzeitig allgemeinere Bildungs- und Business-Kurse an. Bachelor-Studiengänge bieten noch mehr wirtschaftsnahe Studiengänge und können Absolventen auf gehobene Positionen im Bereich Informatik oder Softwareentwicklung vorbereiten.
Der offensichtlichste Unterschied zwischen den beiden Arten von Abschlüssen (neben den Kosten) ist die Zeit, die benötigt wird, um sie zu erwerben. Für einen Vollzeitstudenten dauert ein Associate Degree-Programm in der Regel zwei Jahre. Ein Bachelorstudium hingegen dauert für einen Vollzeitstudierenden in der Regel vier Jahre. Natürlich können Sie in den vier Jahren des Bachelor-Studiengangs viel mehr lernen als in einem Associate Degree-Programm.
Sie können einen kurzen Kurs über Datenbankdesign belegen. Aber kurze Kurse erfordern in der Regel einige Vorkenntnisse in verschiedenen Aspekten der Informatik. Es gibt auch Kurse für Menschen, die keine Computerkenntnisse haben. Die Vertabelo Academy bietet eine breite Palette solcher Kurse, die speziell für Nicht-IT-Leute entwickelt wurden.
Sie haben auch die Möglichkeit, bei entsprechender Disziplin selbstständig zu lernen, ohne ein Studium oder einen Studiengang zu belegen. Es gibt viele Auswahlmöglichkeiten in Büchern zum Datenbankdesign, die Sie lesen können. Denken Sie nur daran, dass es Ihnen bei der Erstellung Ihres Lebenslaufs nicht viel nützt, wenn Sie erwähnen, dass Sie dieses oder jenes Buch über Design gelesen haben. Dagegen ist es hilfreich, einen Abschluss oder zumindest ein Zertifikat über die Teilnahme an einem Kurs zu haben.
2. Vertiefen Sie Ihr Wissen
Wenn Sie sich das notwendige Wissen zum Datenbankdesign angeeignet haben, konsolidieren und festigen Sie es mit praktischer Praxis. Die Theorie, die Sie in einem Kurs oder Studium lernen, auch zusammen mit den Aufgaben, die Sie lösen müssen, gibt Ihnen nur eine Vorstellung von den Problemen, mit denen Sie bei Ihrer Arbeit als Datenbankdesigner konfrontiert sind. Dieses zusätzliche Wissen bereitet Sie übrigens besser darauf vor, wenn Sie zu einem Vorstellungsgespräch für eine Stelle als Datenbankdesigner gehen müssen. Die folgenden Fähigkeiten müssen Sie beherrschen, um Datenbankdesigner zu werden.
Normalisierung, Keys und der Instinkt des Designers
Egal, ob Sie ein Studium oder einen Kurs absolviert oder nur ein Buch gelesen haben, Sie haben zweifellos etwas über die erste, zweite und dritte Normalform gelernt. Aber um Ihr Wissen zu vertiefen, schauen Sie sich verschiedene Entity-Relationship-Diagramme an (ich nehme an, Sie wissen bereits, was ERDs sind und wofür sie verwendet werden) und analysieren Sie sie, um zu sehen, ob sie normalisiert sind. Sie sollten feststellen können, in welcher Normalform sie sich befinden.
In diesem Diagramm werden dieselben Entitäten auf zwei verschiedene Arten dargestellt. Können Sie auf einen Blick erkennen, in welcher Normalform die linke Tabelle und in welcher Form das rechte Schema vorliegt?
Ich empfehle auch, die Probleme zu untersuchen, die ein Schema ohne Normalisierung verursachen kann. Sie können den Speicherplatz vergleichen, der von einem nicht normalisierten Schema und einem normalisierten Schema mit denselben Daten belegt wird, um die Unterschiede zu erkennen – natürlich mit Tabellen, die mit einer angemessenen Datenmenge gefüllt sind. Oder Sie können versuchen, Abfragen für nicht normalisierte Tabellen auszuführen, um die auftretenden Inkonsistenzen zu sehen.
Es gibt ein paar Dinge, die Sie mit der Praxis lernen. Erstens sollten Sie eine Tabelle niemals ohne Primärschlüssel verlassen. Zweitens sollten Sie, wenn zwei Tabellen verknüpft sind, einen Fremdschlüssel definieren, der die beteiligten Felder beider Tabellen verknüpft. Wenn Sie diese Tipps vergessen, werden Sie daran erinnert, wenn Sie doppelte Zeilen in einer Tabelle oder verwaiste Elemente in Master-Detail-Beziehungen finden, und das verursacht Ihnen Alpträume.
Apropos Schlüssel, Sie haben wahrscheinlich schon von natürlichen Schlüsseln und Ersatzschlüsseln gehört. Bis Sie viel Erfahrung haben, müssen Sie sich die Zeit nehmen, darüber nachzudenken, welche Art von Schlüssel Sie jeder Tabelle geben, die Sie erstellen. Sobald Sie ein paar Dutzend ERDs erstellt haben, werden Sie den Instinkt des Designers entwickelt haben, mühelos Schemas in der dritten Normalform mit den richtigen Beziehungen und dem besten Schlüssel für jede Tabelle zu erstellen.
Data Warehouses:Dimensionen, Kennzahlen, Schemamodelle und andere Konzepte
Datenbankdesignkonzepte werden normalerweise unter Berücksichtigung der Transaktionsverarbeitung gelehrt. Doch Designer beschäftigen sich heute zunehmend mit Datenbanken zur analytischen Verarbeitung. Diese Datenbanken sind als Data Warehouses bekannt und haben einige Designideen und Techniken, die sich von denen herkömmlicher Datenbanken unterscheiden.
Data Warehouses werden nach dem traditionellen relationalen Modell erstellt, jedoch mit mehreren neuen zusätzlichen Konzepten. Beispielsweise stellen einige Felder Dimensionen dar, während andere Kennzahlen darstellen. Einige Tabellen sammeln Fakten, während andere Dimensionen gruppieren. Es gibt jetzt spezifische Entwurfsmodelle für Data-Warehouse-Schemata, wie Stern, Schneeflocke und Galaxie.
Schließlich führen Data Warehouses eine Technik namens Denormalisierung ein. Im Gegensatz zu dem, was Sie vielleicht denken, bedeutet Denormalisierung nicht, frühere Normalisierungsversuche rückgängig zu machen. Um zu verstehen, wofür Denormalisierung verwendet wird, stellen Sie sich dies als eine Technik vor, um Redundanz in Tabellendesigns einzuführen, um Abfragen und Datenvisualisierung zu vereinfachen.
3. Wählen Sie Ihre Tools aus
Neben den theoretischen Kenntnissen aus dem Studium und den praktischen Kenntnissen aus der Praxis müssen Sie die Werkzeuge des Datenbankdesigns beherrschen. Die Werkzeuge des Datenbank-Designers sind diejenigen, die Sie bei der Erstellung von Datenmodellen unterstützen.
Die Wahrheit ist, dass gute Designer ihre Arbeit ohne andere Hilfsmittel als Bleistift und Papier erledigen können. Aber um effizient zu sein und ihre Aufgaben in kürzester Zeit zu erledigen, müssen sie Tools verwenden, die ihnen helfen, effizienter zu sein.
Die Tools, die dem Datenbankdesigner am meisten Zeit sparen, sind die ERD-Designtools, wie z. B. die Vertabelo.com-Plattform. Diese Tools vereinfachen die Arbeit des Datenbankdesigners beim Zeichnen von Diagrammen, automatisieren die Erstellung von SQL-Skripten und generieren Diagramme aus vorhandenen Datenbanken.
Ein weiteres grundlegendes Werkzeug für jeden Datenbankdesigner ist die SQL-Sprache. DDL (Datendefinitionssprache) ist erforderlich, um Schemas zu erstellen oder zu ändern, aber als Datenbankdesigner müssen Sie auch wissen, wie man SQL-Abfragen schreibt, um Informationen aus einer Datenbank zu erhalten.
Es gibt weitere nützliche Tools für den Datenbankdesigner, wie z. B. Überwachungs- und Profiling-Tools und Programmiersprachen für die Datenanalyse und Datenbankadministratoren. Wenn Sie diese Tools kennen, wertet die Auflistung Ihren Lebenslauf auf.
4. Lassen Sie sich zertifizieren
Wir haben über Mastering-Tools gesprochen, aber wie beweisen Sie in Ihrem Lebenslauf, dass Sie wissen, wie man SQL schreibt, oder dass Sie wissen, wie man ein ERD-Design-Tool verwendet? Sie tun dies, indem Sie bestimmte Kurse belegen, Prüfungen ablegen und sich zertifizieren lassen.
Grundsätzlich gibt es zwei Arten von Zertifizierungen:solche, die zeigen, dass Sie ein bestimmtes Werkzeug beherrschen, und solche, die zeigen, dass Sie eine bestimmte Fähigkeit besitzen. Beides ist wertvoll, wenn es in Ihrem Lebenslauf angezeigt wird.
Unternehmen, die die Tools entwickeln, bieten häufig Schulungsprogramme an, und wenn Sie eines dieser Schulungsprogramme absolvieren, erhalten Sie ein Zertifikat als Nachweis, dass Sie das Tool beherrschen. Diese Zertifizierungen sind oft kostenlos. Sie sind daran interessiert, viele Fachleute für die Verwendung ihrer Tools zu zertifizieren, daher ist es in ihrem besten Interesse, Sie in der Verwendung zu schulen, ohne Ihnen (viel) dafür in Rechnung zu stellen.
Zertifizierungen in einer bestimmten Fähigkeit – wie zum Beispiel SQL-Programmierung, NoSQL-Datenbankverwaltung oder ETL-Prozessdesign – sind oft teuer, aber sie werten Ihren Lebenslauf erheblich auf, vor allem, weil sie den Interviewern die Bewertung ersparen, ob Sie es sind wirklich wissen, wie man seinen Job macht. Postgraduale Studiengänge sind eine geeignete Option, wenn Sie bereits einen Abschluss haben.
5. Gehen Sie den ganzen Weg
Sie haben bereits die Materialien studiert und erlernt, um Datenbankdesigner zu werden. Sie haben Ihr Wissen vertieft. Sie haben Kurse besucht und Zertifizierungen erhalten. Was fehlt Ihnen, um Datenbankdesigner zu werden? Wissen, wie man wichtige Aufgaben erledigt, und in der Lage sein, sie von Anfang bis Ende auszuführen.
Modellieren einer Datenbank
Sie wissen vielleicht, wie man eine ERD zeichnet, aber das Modellieren einer Datenbank umfasst mehr als das. Um ein Datenbankdesigner zu sein, müssen Sie in der Lage sein, von der Erfassung und Analyse von Anforderungen bis zur Generierung und Ausführung von Skripts zu wechseln, um Diagramme in funktionierende Datenbanken umzuwandeln.
Komplexe Abfragen in SQL schreiben
Es geht nicht nur darum, dass eine Abfrage die Daten zurückgibt, die sie zurückgeben soll, sondern auch so schnell wie möglich. Zu wissen, wie man SQL-Abfragen schreibt, bedeutet, mit der gleichen Logik wie die Datenbank-Engine zu denken, um die angeforderten Informationen zu sammeln und mit minimalem Aufwand bereitzustellen.
Leistungsoptimierung
Die Optimierung der Datenbankleistung umfasst die Erstellung eines geeigneten Designs und die Überwachung von Datenbankaktivitäten, um Vorgänge zu erkennen, die die Leistung beeinträchtigen. Dazu gehört auch, dass Sie wissen, wie Leistungsprobleme behoben werden, sei es beim Erstellen von Indizes, beim Neugestalten des Schemas oder beim Informieren des DBA über potenzielle Probleme bei der Optimierung des Datenbankmoduls.
Sichern einer Datenbank
Während das Zuweisen von Berechtigungen und Privilegien für Datenbankobjekte normalerweise nicht die Aufgabe des Datenbankdesigners ist, kann er oder sie in ihren Entwürfen Verantwortungsbereiche identifizieren, die es einem Administrator erleichtern, jedem Datenbankbenutzer Berechtigungen richtig zuzuweisen.
6. Erwerben Sie Soft Skills
Dieser letzte Schritt wird in der Karriere eines Datenbankdesigners oft übersehen, aber lassen Sie ihn nicht unerwähnt. In vielen Situationen sind die unten genannten Soft Skills genauso wichtig, wenn nicht sogar wichtiger, als traditionelle technische Fähigkeiten und Kenntnisse, auch bekannt als die Hard Skills.
Geschäftssinn
Designer mit Geschäftssinn können jede Anforderung, die sie erhalten, besser interpretieren und ihr die richtige Dimension geben, was zu besseren Designentscheidungen führt. Etwas so Einfaches wie die Entscheidung, ob ein natürlicher Schlüssel oder ein Ersatzschlüssel für eine Tabelle verwendet werden soll, kann für das Unternehmen wichtig sein; Die Ausrichtung Ihrer Entscheidungen an den Geschäftszielen ist der Schlüssel zum Erfolg Ihrer Arbeit.
Kommunikation und zwischenmenschliche Fähigkeiten
Ein gutes Design zu erstellen ist nur ein Teil des Jobs. Nachdem Sie Ihr Modell erstellt und perfektioniert haben, müssen Sie in der Lage sein, es zu präsentieren, zu erklären und jedem zu helfen, der damit arbeiten muss. Sie müssen auch akzeptieren, dass jedes Design verbessert werden kann, also seien Sie darauf vorbereitet, Vorschläge und Kritik zu erhalten. Generell ist man als Designer Teil eines Teams. Ein nützlicher Teil des Teams zu sein bedeutet, ein Teamplayer zu sein, der immer den Nutzen für das Team im Auge hat.
Die Ziellinie:Ein Job als Datenbankdesigner
Wenn Sie all diese Dinge getan haben, modellieren Sie wahrscheinlich bereits Datenbanken wie ein Profi und haben viele Geschichten zu erzählen. Der Kommentarbereich unten ist für Sie da, um nützliche Ratschläge und lustige Geschichten zu teilen und um dazu beizutragen, unser Leben als Datenbankdesigner zu bereichern.