Datenbank erstellen

Datenbanken sind die modernen, digitalen Nachfolger der analogen Aktenablagesysteme. Als solche sind sie bereits integraler Bestandteil aller größeren und mittleren Verwaltungen sowohl im privaten als auch im öffentlichen Bereich. Wer in einer Verwaltung arbeitet, bedient höchstwahrscheinlich eine Datenbank, beispielsweise von SAP oder Microsoft Access 2016.
Im Gegensatz zur klassischen Akte können mehrere Personen gleichzeitig an einer Datenbank arbeiten und in Echtzeit auf die gespeicherten Informationen zugreifen. Das hat die Arbeit der Verwaltungen in den letzten Jahrzehnten enorm vereinfacht und viel effizienter gemacht. Doch noch lange sind nicht alle Potenziale voll ausgenutzt. Es kann sich daher immer noch lohnen, eine Datenbank einzurichten oder bestehende Systeme zu erweitern und zu modernisieren.
Bei Datenbanken handelt es sich um Systeme zur Verwaltung elektronischer Daten. Die Grundfunktion einer Datenbank ist daher das Speichern der Daten sowie die Möglichkeit, die gespeicherten Daten gezielt abzurufen.
Die Datenbank ist die Speicherstruktur, in die unterschiedliche Daten aus unterschiedlichen Quellen eingespeist werden können. Sie vereinheitlicht und verknüpft diese Daten und soll den Benutzern einen möglichst einfachen Zugriff bieten. Richtigkeit, Konsistenz (Einheitlichkeit oder Zusammenhang) und Verfügbarkeit aller relevanten Daten sind die Ziele, die eine Datenbank verwirklichen soll.
Datenbanken sind heutzutage sehr weit verbreitet und stellen das Rückgrat für nahezu alle Business-Anwendungen wie Enterprise Ressource Planning (ERP), Customer Relationship Management (CRM) und Warenwirtschaftssysteme dar. Sehr viele Menschen arbeiten – vielleicht ohne es zu wissen – mit Datenbanken, da diese integraler Bestandteil moderner Verwaltungen sind.
Um eine Datenbank erstellen zu können, müssen zunächst alle Objekte, die diese enthalten soll, definiert werden. Zu den wichtigsten Objekten zählen:
Datenbanken bestehen aus zwei Komponenten: Zum einen gibt es die Speicherfunktion, die einzelne Daten oder Datensätze zum Beispiel in Tabellen abspeichert. Zum anderen gibt es das Datenbankmanagementsystem (DBMS), also die Software zur Datenverwaltung. Die Verwaltung besteht im Wesentlichen aus der Möglichkeit, Datensätze abzufragen, neu zusammenzustellen und zu verändern.
Zunächst einmal bestehen Datenbanken häufig aus Tabellen, in denen mehrere Daten zusammen gespeichert werden. Kalkulationstabellen wie die bekannten Exceltabellen sind somit als ein Bestandteil von Datenbanken anzusehen. Sie sind grundsätzlich eine Form der Speicherung von Datensätzen.
Tabellenkalkulationen sind jedoch nicht auf das gemeinsame Arbeiten von mehreren Personen an den gleichen Datensätzen ausgelegt. Außerdem sind sie in ihrer Funktionalität, was die Bearbeitung und insbesondere die massenhafte Bearbeitung von Daten angeht, eingeschränkt.
Das Datenbankmanagementsystem zeichnet sich gegenüber der einfachen Tabellenkalkulation durch eine höhere Anzahl und eine größere Komplexität an Möglichkeiten bei der Datenbearbeitung sowie die zuverlässige Verfügbarkeit von Daten, auch aus unterschiedlichen Quellen, für eine große Anzahl an Nutzern aus. Die Kernfunktion einer Tabellenkalkulation ist das Abspeichern der Daten. Die Kernfunktion einer Datenbanksoftware ist die Abfrage und Veränderung der Daten.
Die unterschiedlichen Datenbankmodelle beschreiben im Wesentlichen die Struktur, in der Daten oder Datensätze gespeichert und miteinander verknüpft werden können. Das Datenbankmodell gibt beispielsweise vor, in welcher Form Daten gespeichert werden können, also welche Art Eintrag überhaupt erlaubt ist.
Die Datenbankmodelle oder Datenmodelle können jedoch nicht unabhängig von der Datenverwaltung beziehungsweise dem Programm für das Datenbankmanagement angelegt werden. Theoretisch wäre das zwar möglich und würde auch eine hohe individuelle Anpassbarkeit einer Datenbank garantieren, praktisch zwingen die Datenbankmanagementsysteme die User aber, ein bestimmtes, unterstütztes Modell zu verwenden. Die geläufigsten Modelle werden in den nächsten Absätzen kurz beschrieben.
Das hierarchische Datenbankmodell speichert und organisiert Daten in einer baumähnlichen Struktur, sodass sich jeder Eintrag in einer direkten Linie zu den übergeordneten Kategorien befindet. Diese Struktur entspricht beispielsweise einem Stammbaum oder der Struktur biologischer Klassifikationen und hat ihre Stärken in diesen Bereichen. Die Struktur ist jedoch sehr starr und Querverweise zwischen den unterschiedlichen „Ästen“ sind eigentlich nicht vorgesehen.
Das Modell ist daher heutzutage auch kaum noch im Einsatz und hatte seine Blütezeit in den 1960er und 1970er Jahren in den Informationsmanagement-Systemen von IBM.
Das Netzwerk-Datenbankmodell ist eine Erweiterung des hierarchischen Modells und erlaubt Einträge, die mit mehreren übergeordneten Einträgen verbunden werden können. Es ermöglicht sogenannte „Viele-zu-Viele-Beziehungen“ zwischen den Datensätzen und erlaubt daher komplexere Berechnungen und Abfragen als das hierarchische Modell.
Die Netzwerk-Datenbanken waren insbesondere in den 1970er Jahren sehr beliebt, nachdem sie von der Conference on Data Systems Languages (CODASYL) beziehungsweise der Konferenz zu Datensystemsprachen definiert worden war.
Das noch heute am weitesten verbreitete Modell der Datenbanken ist das relationale. Seine Grundstruktur sind Tabellen, wie sie beispielsweise aus Excel bekannt sind. Der Inhalt einer Zelle ergibt sich aus der Kreuzung von Spalte und Zeile, weshalb diese Daten auch Relationen genannt werden.
Die Spalten werden auch als Attribute bezeichnet. Beispiele für häufig genutzte Attribute sind:
Als erste Spalte bietet es sich oft an, eine bestimmte Identifikationsnummer oder Ähnliches zu wählen, die als Primärschlüssel dient. Mit diesem Primärschlüssel können die Datensätze über verschiedene Tabellen hinweg verknüpft werden: Der Mitarbeiter mit der Angestellten-Nummer XYZ kann in mehreren Tabellen identisch geführt werden und in den jeweiligen Tabellen mit ganz unterschiedlichen Attributen beschrieben werden.
In einer Tabelle können so beispielsweise die Krankheitstage, in einer anderen Tabelle die Fortbildungstage, in einer dritten Tabelle Kennzahlen zur Produktivität usw. erfasst werden. Durch eine Abfrage kann so zum Beispiel alles, was in den unterschiedlichen Abteilungen zum Mitarbeiter XYZ bekannt ist, zusammengeführt und zum Beispiel zu einem neuen Datensatz zusammengefasst werden.
Umgekehrt kann die Abfrage aber auch lauten: Gib mir alle Mitarbeiter-IDs, die bei einem bestimmten Attribut wie den verwendeten Urlaubstagen einen Wert kleiner als 10 haben. Die gleiche Abfrage kann auch noch um weitere Bedingungen ergänzt werden. Beispielsweise sind vielleicht alle Mitarbeiter interessant, die weniger als 10 Tage Urlaub genommen haben und deren Verträge zum 31.12. auslaufen. Diese Daten können in unterschiedlichen Tabellen, die über den Primärschlüssel (in diesem Fall die Mitarbeiter-ID) verknüpft sind, gespeichert sein und trotzdem durch die Abfrage leicht zugänglich gemacht und sogar sortiert, zusammengefasst und verändert werden.
Diese Datenbankmodelle gehören zu den am weitesten verbreiteten und werden üblicherweise in der Structured Query Language (SQL) geschrieben. Microsoft Access Datenbanken verwenden diese Sprache ebenso wie SAP oder auch das kostenlose MySQL.
Während die relationalen Datenbanken auf die Tabelle als Datenstruktur festgelegt sind, akzeptieren objektorientierte Datenbankmodelle auch andere Datenformate. Da Tabellen weiterhin eine erlaubte Speicherform sind, aber beispielsweise auch Videos und andere Multimediainhalte gespeichert werden können, bezeichnet man objektorientierte Datenbanken auch als hybride Datenbankmodelle.
Bei den objektorientierten Datenbanken ist man auch nicht mehr auf die Primärschlüssel beziehungsweise generell auf Schlüssel angewiesen, denn die einzelnen Objekte können direkt durch Hypertext miteinander verknüpft werden. Sie eignen sich daher besonders für „wilde“ Datensammlungen, aber weniger für rein numerische Daten und deren Verwaltung.
Das dokumentenorientierte Datenbankmodell zeichnet sich dadurch aus, dass alle zusammengehörigen Daten in einem Dokument abgespeichert werden. Alle Mitarbeiterdaten aus obigem Beispiel wären in diesem Modell – beispielsweise im Format CSV (Comma Seperated Value) oder auch im HTML-Format – in einem Dokument und nicht in unterschiedlichen Tabellen abgespeichert. Da die Form der Daten grundsätzlich offen bleibt, bezeichnet man diese Datenbanken als konzeptionell schemafrei.
Die Verknüpfung einzelner Dokumente ist grundsätzlich nicht vorgesehen, sodass auch die Funktionalität der Datenbank gegenüber einer relationalen Datenbank eingeschränkt ist. Dafür sind unter Umständen weniger Aktionen erforderlich, um an die gewünschten Ergebnisse zu kommen.
Das dokumentorientierte Datenbankmodell kann daher als Vereinfachung des relationalen Modells betrachtet werden und Datenbanken mit dieser Speicherstruktur laufen unter Umständen deutlich schneller. Es ist, da es mit HTML-Dokumenten umgehen kann, besonders beliebt im Bereich der Web-Applikationen und des user generated content.
Durch die Fortschritte im Bereich der NoSQL-Programmierung sind diese Datenbanktypen auf dem Vormarsch. Bekannte Beispiele für dokumentorientierte Datenbanken sind MongoDB und Amazon SimpleDB.
Das Datenbankmanagementsystem (DBMS) ist die Software beziehungsweise das Programm, welches die unterschiedlichen Daten verwaltet und die Funktionalität der Datenbank herstellt. Es hilft, die Daten zu verknüpfen und stellt Wege bereit, auf die Daten zuzugreifen und sie zu verändern.
Das DBMS organisiert und strukturiert die abgelegten Daten, ermöglicht und begrenzt den Zugriff der Nutzer und stellt weitere Nutzer-Funktionen zur Verfügung. Am weitesten verbreitet sind immer noch die Relational Database Management Systems zur Verwaltung relationaler Daten in Tabellen. Das DBMS-Programm nutzt für seine Operationen eine Art Programmiersprache, wie z. B. SQL. Die Aufgaben und Funktionen umfassen im Wesentlichen:
Die Einsatzmöglichkeiten von Datenbanken in Unternehmen sind äußerst vielfältig. Wie bereits erwähnt, haben die Datenbanken längst die alte Ordnerstruktur der Unternehmensverwaltung abgelöst. Vom Erfassen und Verarbeiten der Mitarbeiterdaten, über die Verwaltung eines Onlineshops bis hin zur automatisierten Interaktion mit Kunden oder Geschäftspartnern lassen sich alle möglichen Prozesse auf Datenbanken und Datenbankmanagementsystemen aufbauen.
Das Internet der Dinge sowie die Entwicklung hin zur massenweisen Verfügbarkeit unterschiedlicher Daten im Big Data Pool machen Datenbanken außerdem zunehmend zu einem unverzichtbaren Tool der Automatisierung z. B. von Logistikentscheidungen und -prozessen sowie der Erforschung von Kundenverhalten, Absatzstrategien und Ähnlichem.
Bevor man mit dem Erstellen einer Datenbank beginnen kann, muss man sich als Erstes einen Überblick über die Daten verschaffen, die das System verwalten soll. Man muss sich fragen, wie die Daten derzeit vorliegen und in welcher Form sie später in der Datenbank vorhanden sein sollen.
Entscheidet man sich für eine relationale Datenbank, müssen die Daten zunächst getrennt (atomisiert) und in verschiedenen Spalten beziehungsweise Attributen abgespeichert werden, um später unterschiedliche Abfragen zu ermöglichen.
Die unterschiedlichen Tabellen, in denen die Daten gespeichert sind, müssen außerdem alle durch einen eindeutigen Schlüssel strukturiert werden, damit später auch eindeutige Ergebnisse bei der Datenabfrage erzeugt werden beziehungsweise diese überhaupt funktionieren kann.
Erst dann kann man daran gehen, zusammengehörige Daten miteinander zu verknüpfen und die ersten automatisierten Prozesse zu implementieren. Bevor man eine Datenbank anlegt, sollte man sich also sehr umfassend Gedanken darüber machen, welchen Zweck diese später erfüllen soll und wie die Daten dazu strukturiert sein müssen.
Eine Datenbank ist letztlich nur so gut, wie ihre Datengrundlage und die definierten Verknüpfungen und Abfragen. Leider ist selbst die perfekt designte Datenbank mit der genau passenden Software für ein bestimmtes Unternehmen nicht davor gefeit, zu veralten oder auf ineffiziente Weise zu wachsen. Es bleibt die kontinuierliche Aufgabe des Datenbankadministrators, sie immer wieder an veränderte Gegebenheiten anzupassen.
Selbst wenn das Programm reibungslos läuft und sich eigentlich nichts Grundlegendes an den Anforderungen verändert, kann die Software durch das bloße Anwachsen der Daten immer langsamer werden bis hin zu einem Punkt, an dem dies die Funktionalität gefährdet. Dann muss der Datenbankadministrator dafür sorgen, dass entweder die Daten verschlankt werden oder dem System mehr Rechenleistung zur Verfügung gestellt wird.
Da an Datenbanken unterschiedliche Menschen mit unterschiedlichen Aufgaben arbeiten, besteht außerdem immer die Gefahr, dass Daten korrumpiert werden. Die Gewährleistung von Datensicherheit, -integrität, -residenz und -souveränität bleibt daher über die gesamte Betriebsdauer eine Herausforderung.