Grundlagen Datenbankdesign: So funktioniert der Einstieg

Beklager, denne artikel er kun tilgængelig i Tysk.

Bereits 2014 wurde von IBM das Zeitalter der Daten ausgerufen. Internet, Video, Anrufdatensätze, Kundentransaktionen, Gesundheitsakten, Nachrichten, Literatur, wissenschaftliche Veröffentlichungen, Wirtschaftsdaten, Wetterdaten, Geodaten, Börsendaten usw. – Daten sind die neue Währung für Unternehmen und bilden das Herzstück der künstlichen Intelligenz (KI) und des maschinellen Lernens. 

Die Punkte, an denen Daten kumuliert, strukturiert und für die weitere Verwendung aufbereitet werden, sind Datenbanken. Wer in der Lage ist, sie zu gestalten, hat nicht nur gute Jobaussichten, sondern gestaltet auch einen Teil der Zukunft mit.

 

Die wichtigsten Grundlagen im Datenbankdesign

Eine Datenbank ist eine benannte Sammlung von Tabellen. Sie kann unter anderem Ansichten, Indizes, Sequenzen, Datentypen, Operatoren und Funktionen enthalten. 

Mit einem Befehl sendest du eine Zeichenabfolge an den Server, der einen gewünschten Prozess auslöst. Einer der wichtigsten Befehle ist die Abfrage. Mit ihrer Hilfe werden Daten vom Server abgerufen. Befehle werden in einem Framework aus Tabellen und Zeilen angelegt, wie man es zum Beispiel aus Microsoft Excel kennt.

Damit sowohl das Erteilen als auch das Ausführen der Befehle automatisiert abläuft, braucht es das Zusammenspiel zweier Programme. Auf der einen Seite haben wir den Server, der Daten speichert, abruft oder ändert und auf der anderen Seite den Client. Er fordert einen Server auf, Arbeiten auszuführen und Daten bereitzustellen. Im Unterschied zum Server hat der Client eine Benutzeroberfläche. Die zentrale Serverkomponente, die sämtliche Datenbankdateien sowie alle Verbindungen mit dem Datenbankserver verwaltet, wird Postmaster genannt. Ein und dieselbe Datenbank erlaubt in der Regel verschiedene Ansichten. Je nach Nutzergruppe können die Daten so unterschiedlich aufbereitet und bereitgestellt werden. Damit einhergehen auch ebenso unterschiedliche Ebenen an Nutzungsrechten.

Diese Grundbegriffe werden normalerweise im Kontext der am weitest verbreiteten SQL-Datenbanken verwendet. Dabei steht SQL für Structured Query Language und dient zur Verwaltung von Daten, die in einem relationalen Datenbankverwaltungssystem gespeichert sind. Ein gutes Beispiel hierfür ist der Body Mass Index. In einer Datenbank werden von einer Vielzahl an Menschen das Gewicht und die Größe in Form von Tabellen und Zeilen gespeichert. Der Client kann nun via SQL den Server dazu auffordern, den BMI, sprich die Daten, Größe und Gewicht in Relation zueinander bereitzustellen.

Soweit einmal zu den Basics. Widmen wir uns nun den unterschiedlichen Strukturen, Abläufen und natürlich dem Design von Datenbanken.

 

Unterschiedliche Strukturen von Datenbanksystemen

Auf der fundamentalsten Ebene lassen sich Datenbanksystem in SQL und NoSQL unterscheiden:

SQL bezieht sich immer auf relationale Datenbanken und kommt in ca. 75 % aller Datenbanksysteme zum Einsatz. Die Vorteile liegen auf der Hand: Diese Technologie wurde bereits in den 70er-Jahren entwickelt, wird von den großen Playern wie Microsoft, Oracle oder IBM angeboten und ist dementsprechend ausgereift. Die Standards sind somit klar definiert, allgemein anerkannt und laufen auf allen gängigen Betriebssystemen. Dementsprechend sind auch viele unterschiedliche Nutzergruppen wie Developer, Data Analysts und Logistiker damit vertraut.

Doch sind in den letzten Jahren NoSQL-Lösungen, sprich nicht-relationale Datenbanksysteme auf dem Vormarsch. Warum? Relationale Datenbanksysteme funktionieren mit unstrukturierten oder halbstrukturierten Daten aufgrund von Schema- und Typbeschränkungen nicht gut oder überhaupt nicht. Dies macht sie für große Analysen oder IoT-Ereignislasten ungeeignet. 

Genau darin liegt auch der entscheidende Unterschied zwischen den beiden Strukturen. Denn relationale Datenbanksysteme definieren ganz genau, wie alle in die Datenbank eingefügten Daten typisiert und zusammengesetzt werden müssen, während NoSQL-Datenbanken schemaunabhängig sein können, sodass unstrukturierte und halbstrukturierte Daten gespeichert und bearbeitet werden können. Sie sind daher flexibler und einfacher zu verwalten. Dazu sind sie noch in einem hohen Grad fehlertolerant. Jedoch ist die Technologie noch lange nicht so ausgereift wie jene von SQL und weniger standardisiert.

 

Die Ziele eines Datenbankdesigns

Eine gut strukturierte Datenbank ermöglicht das gleichzeitige, schnelle und fehlerfreie Bereitstellen von Daten. Damit dieses Ziel bestmöglich erreicht wird, lohnt es sich die folgenden Funktionalitäten zu priorisieren.

Die Datenbank unterstützt sowohl das Abrufen von erforderlichen als auch von ungeplanten Ad-hoc-Informationen. Die Datenbank muss so konzipiert sein, dass sie die Daten speichert die zur Unterstützung, der definierten Informationsanforderungen und möglicher Ad-hoc-Abfragen der Benutzer erforderlich sind.

Die Tabellen sind richtig und effizient aufgebaut. Jede Tabelle in der Datenbank darf nur einen einzelnen Betreff darstellen und sollte aus relativ unterschiedlichen Feldern bestehen, die redundante Daten auf ein absolutes Minimum beschränken.

Die Datenintegrität wird auf Feld-, Tabellen- und Beziehungsebene festgelegt. Diese Integritätsstufen gewährleisten, dass die Datenstrukturen und ihre Werte jederzeit gültig und so genau wie möglich sind.

Die Datenbank sollte sich für zukünftiges Wachstum und Entwicklung eignen. Die Datenbankstruktur sollte leicht zu ändern und entbehrlich sein, da sich die Informationsanforderungen des Unternehmens weiter ändern und wachsen.

Die Datenbank wird laufend gewartet und aktualisiert. Niemand räumt gerne auf, aber eine gepflegte Datenbank spart dem gesamten Unternehmen Zeit und Geld.

 

Die Vorteile eines guten Datenbankdesigns

Einfacheres Abrufen von Informationen: Wenn das Design richtig entwickelt ist, ist es einfacher, Informationen abzurufen. Richtiges Design bedeutet, dass die erstellten Tabellen, Einschränkungen und Beziehungen fehlerfrei sind.

Einfache Änderung: Das Design ist perfekt, wenn Änderungen in einem Feld keine Auswirkungen auf Änderungen in einem anderen Feld haben.

Bessere Information: Mit einem guten Design kannst du die Qualität und Konsistenz von vorhandenen Daten verbessern.

Neben diesen gleichermaßen offensichtlichen wie auch zentralen Vorteilen gibt es für das Design von Datenbanken noch weit mehr zu beachten.

Die Datenbank sollte stark genug sein, um alle relevanten Daten und Anforderungen zu speichern. Mehrere Benutzer sollten auf dieselbe Datenbank zugreifen können, ohne den anderen Benutzer zu beeinträchtigen. Beispielsweise können mehrere Lehrer gleichzeitig an einer Datenbank arbeiten, um die Noten der Lernenden zu aktualisieren. Den Lehrern sollte es auch gestattet sein, die Noten für ihre Fächer zu aktualisieren, ohne andere Noten zu ändern. Eine einzelne Datenbank bietet verschiedenen Benutzern unterschiedliche Ansichten. In einer Schuldatenbank können Lehrer beispielsweise die Aufschlüsselung der Noten der Lernenden sehen. Eltern können jedoch nur den Bericht ihres Kindes sehen, sodass der Zugang der Eltern schreibgeschützt ist. Gleichzeitig haben die Lehrer Zugriff auf alle Informationen und Bewertungsdetails der Lernenden mit Änderungsrechten. All dies kann in derselben Datenbank geschehen.

 

Wie entwerfe ich eine Datenbank in 6 Schritten?

1. Definiere das Ziel deiner Datenbank.

Für die grundsätzliche Struktur ist entscheidend, ob relationale Daten oder nicht relationale Daten ausgewertet werden sollen. Wie bereits beschrieben, sind relationale Datenbanken am weitesten verbreitet. Ein einfaches Beispiel hierfür sind die allseits bekannten Kundenkarten. Mit jedem Einkauf werden Daten in die Datenbank gespeichert. Dort besitzt du als Kunde eine Spalte und die dazugehörigen Zeilen werden laufend mit Daten gefüllt – wann du zum Beispiel Einkäufe erledigst, in welchen Filialen du einkaufst, wie groß dein durchschnittlicher Warenkorb ist usw. Soll deine Datenbank aber einen Chatbot mit situationsbezogenen Befehlen versorgen, dann ist eine NoSQL, sprich ein nicht relationales Datenbanksystem zu empfehlen.

2. Die richtige Wahl der Datenmodellierungs-Software.

Für das Datenbankdesign stehen derzeit viele Online-Tools zur Verfügung wie z.B. Lucidchart, Draw.io und Microsoft Visio, die alle das Design von Datenbankentitäten unterstützen. Der springende Punkt bei der Nutzung der Datenmodellierung besteht darin, die Komplexität zu visualisieren und Defizite zu erkennen, bei denen Verbesserungen vorgenommen werden können.

3. Befüll deine Datenbank mit den entsprechenden Daten.

Damit die Daten modelliert oder einfach gesagt in verständliche Diagramme umgewandelt werden können, müssen die Daten eingetragen und in Themenbereiche unterteilt werden. Die 3 grundsätzlichen Datentypen sind Zeichenfolgen, Nummern sowie Zeit und Datum. Nehmen wir einfach an, du wärst ein Einzelhändler mit Lieferanten, Kunden und Produkten, dann würde jede dieser 3 Bereiche eine eigene Entität darstellen.

4. Identifiziere den Primärschlüssel.

Der nächste Schritt zur Verbesserung deines Datenbankdesigns besteht darin, für jede Tabelle einen Primärschlüssel auszuwählen. Dieser Primärschlüssel ist eine Spalte oder ein Satz von Spalten, mit denen jede Zeile eindeutig bestimmt wird. In deiner Kundentabelle könnte der Primärschlüssel beispielsweise die Kunden-ID sein. Auf diese Weise kannst du jede Zeile anhand der ID eindeutig zuordnen.

5. Bestimme, wie deine Tabelle verknüpft werden soll.

Nun müssen die Informationen deiner Tabellen auf sinnvolle Weise zusammengeführt werden. Generell ist hier wichtig zu wissen, dass es unterschiedliche Typen von Beziehungen gibt. 

  • Bei asymmetrischen Beziehung beeinflusst eine Änderung von A den Wert von B aber nicht umgekehrt.
  • Bei symmetrischen Beziehungen beeinflussen sich A und B gegenseitig.
  • Bei reflexiven Beziehungen wird ein Referenzwert oder Durchschnittswert von A festgelegt und jede neue Information, die A betrifft, sorgt für eine Veränderung dieses Referenzwertes. Zum Beispiel wird jeden Tag in Österreich die Temperatur gemessen und daraus ein Durchschnitt für das letzte Jahr errechnet. Jede neue Temperaturmessung verändert so den Referenzwert A.
  • Transitiven Beziehungen legen fest, dass eine Änderung von A den Wert von B beeinflusst und das wiederum den Wert von C beeinflusst. Folglich beeinflusst A auch direkt den Wert von C.

Man merkt langsam, dass ein gewisses mathematisches Verständnis definitiv von Vorteil ist.

6. Implementiere die Normalisierungsregel.

Der letzte Schritt besteht darin, die Normalisierungsregeln für deinen Datenbankentwurf zu implementieren. Es handelt sich um einen systematischen Ansatz, der Redundanz und unerwünschte Merkmale wie Unregelmäßigkeiten beim Einfügen, Aktualisieren und Löschen beseitigt. Dieser mehrstufige Prozess speichert Daten in Tabellenform, wodurch redundante Daten aus den Beziehungstabellen entfernt werden.

 

Mehr zum Thema Datenbank

Dein Interesse ist geweckt? Allen, die eine Begeisterung für Mathematik, Technik und komplexe Zusammenhänge mitbringen, steht in dieser Branche eine vielversprechende Zukunft bevor. Denn inzwischen hat sich schon in jedem großen Unternehmen herumgesprochen, dass die Macht der Daten das Erfolgsgeheimnis von Amazon, Google, Facebook und Co. ist. 

Wenn du also bereits über ein Grundverständnis für Datenbanken verfügst und deine Jobaussichten verbessern willst, kannst du hier nachlesen, wie du deine erste Datenbank designst. Sobald diese einmal steht, stellt sich die Frage, wie du die verborgenen Erkenntnisse am besten visualisierst und dem Unternehmen zugänglich machst. Auch hierfür haben wir die wichtigsten Tools in unserem Artikel Datenvisualisierung: die Tools, die Sie unbedingt kennen müssen bereits für dich zusammengefasst. 

Da vor allem der Bereich des Data Analyst im Moment boomt und überall händeringend nach Spezialisten gesucht wird, bietet das Feld auch extremes Potenzial für Quereinsteiger. Doch wie kann ein erfolgversprechender Start in dieses Berufsfeld aussehen? Unser berufsbegleitendes Business Data Analysis Online Program bietet dir an 6 Wochenenden die Möglichkeit, dich durch Millionen von Daten zu navigieren, Daten auf einfache und effektive Weise zu identifizieren und zu präsentieren, um ein Problem zu lösen oder eine scheinbar komplexe Entscheidung zu erleichtern. Natürlich lernst du dabei eine Datenstruktur umfassend zu bewerten, zu organisieren und wie du die Tools für die Datenverwaltung verwendest. 

Informiere dich jetzt über unser Business Data Analyst Online Program und nimm deine datengetriebene Zukunft selbst in die Hand!

 

Weiterlesen?

Tilmeld dig vores nyhedsbrev

Hold dig opdateret på de seneste nyheder