Datenbankmanagementsystem (DBMS) erklärt
Kaum eine Computer- oder Webanwendung ist ohne geeignetes Datenbanksystem funktionsfähig. Gerade aus diesem Grund kann es durchaus hilfreich sein, sich etwas genauer mit dieser Thematik auseinanderzusetzen. Ebenso wichtig wie der eigentliche Datenbestand ist ein zugrundeliegendes Datenbankmanagementsystem, ohne das die Funktionalität einer Datenbank nicht gegeben wäre.
- Inklusive Wildcard-SSL-Zertifikat
- Inklusive Domain Lock
- Inklusive 2 GB E-Mail-Postfach
Was ist ein DBMS?
Ein Datenbankmanagementsystem, kurz DBMS, bildet gemeinsam mit der Datenbasis ein Datenbanksystem (häufig wird für letzteres auch der allgemeine Begriff „Datenbank“ verwendet). Generell handelt es sich bei einem solchen DBMS um eine Software, die das Modell eines Datenbanksystems festlegt und damit die entscheidende Komponente ist, um eine Datenbank überhaupt aufbauen, verwalten und nutzen zu können. Erst wenn das jeweilige Datenbankmanagementsystem installiert und eingerichtet ist, können Nutzer den gewünschten Datenbestand einfügen und auslesen lassen. Schreib- und Lesezugriff sowie allgemeine Administrationsfunktionen werden durch anwendungsspezifische Schnittstellen und eine passende Datenbanksprache ermöglicht. Die bekannteste dieser Sprachen ist SQL (Structured Query Language).
Häufig werden die Begriffe „Datenbankmanagementsystem“ (DMBS) und „Datenbank“ fälschlicherweise gleichgesetzt, wenn es um die Bezeichnung der Software zur Verwaltung eines Datenbestands geht. Tatsächlich steckt hinter der Datenbank nicht mehr als die Datenbasis in strukturierter Form, während das DBMS die entscheidende Komponente zur Realisierung dieser Strukturen ist.
Welche Bestandteile hat ein DBMS?
Ein Datenbankmanagementsystem besteht aus verschiedenen Komponenten, die allesamt zur reibungslosen Funktion der Software beitragen. Hierbei lässt sich das DBMS auf drei grundsätzliche Bestandteile aufteilen. Diese sind das Datenwörterbuch, die Datendefinitionssprache und die Datenmanipulationssprache.
- Datenwörterbuch: Das Datenwörterbuch (Data Dictionary) besteht aus einer Ansammlung von Metadaten. Diese Metadaten enthalten Informationen über den Inhalt der verschiedenen Daten im Datenspeicher. Weiterhin dienen sie als Informationsquelle über die Nutzungsautorisierung der Datensätze und die physische Repräsentation. Im Wörterbuch sind somit vereinfacht gesagt alle relevanten Informationen zu den gespeicherten Daten einer Datenbank enthalten.
- Datendefinitionssprache: Die Datendefinitionssprache bzw. Data Definition Language (DDL) ist dafür vorgesehen, die Inhalte einer Datenbank zu strukturieren. Einzelne Objekte wie Referenzen, Beziehungen oder Nutzerrechte können mithilfe der Definitionssprache geändert, gelöscht und erzeugt werden.
- Datenmanipulationssprache: Mithilfe der Datenmanipulationssprache bzw. Data Manipulation Language (DML) lassen sich in einer Datenbank enthaltene Datensätze löschen, einfügen, verändern und auslesen. Zudem ermöglicht es diese Sprache, die Daten zu verdichten und zu extrahieren.
Aufgaben, Funktionen und Anforderungen eines Datenbankmanagementsystems
Das Datenbankmanagementsystem ist der wichtigste Bestandteil eines Datenbanksystems. Ohne das DBMS könnte die Datenbasis weder verwaltet, noch gesteuert oder kontrolliert werden. Zudem ist die Software für das Management aller lesenden und schreibenden Zugriffe auf die Datenbank zuständig. Ein weit verbreiteter Begriff zur Beschreibung von Funktionen und Anforderungen an die Transaktionen eines Datenbankmanagementsystems ist ACID (dt. AKID), ein Akronym für atomicity, consistency, isolation und durability (dt. Atomarität/Abgeschlossenheit, Konsistenz, Isolation und Dauerhaftigkeit). Die Teilbegriffe von ACID decken wiederum die wichtigsten Anforderungen an ein DBMS ab:
- Atomarität bzw. Abgeschlossenheit bezeichnet die „Alles oder nichts“-Eigenschaft von DBMS, dass nur gültige Abfragen in der richtigen Reihenfolge erfolgen und so die gesamte Transaktion korrekt vollzogen wird.
- Konsistenz setzt voraus, dass erfolgreiche Transaktionen eine stabile Datenbank hinterlassen, was eine ständige Überprüfung aller Transaktionen erfordert.
- Als Isolation wird die Anforderung bezeichnet, dass sich Transaktionen nicht gegenseitig „im Weg stehen“, was meist durch bestimmte Sperrfunktionen gesichert wird.
- Dauerhaftigkeit bedeutet, dass sämtliche Daten im DBMS dauerhaft gespeichert werden, auch nach Abschluss einer erfolgreichen Transaktion. Das gilt auch oder besonders bei Systemfehlern bzw. Ausfällen des DBMS. Essenziell für die Dauerhaftigkeit sind etwa Transaktionslogs, die sämtliche Vorgänge im DBMS mitprotokollieren.
Im Folgenden finden Sie eine weitere Unterteilung der Funktionen und Anforderungen eines Datenbankmanagementsystems über das ACID-Modell hinaus.
Funktion/Anforderung | Erklärung |
Speicherung von Daten | Datenbanken speichern elektronische Texte, Dokumente, Passwörter und andere Informationen, die durch Abfragen aufgerufen werden können. |
Überarbeitung von Daten | Die meisten Datenbanken erlauben es – je nach Zugriffsrechten –, gespeicherte Informationen direkt zu bearbeiten. |
Löschung von Daten | In Datenbanken enthaltene Datensätze lassen sich lückenlos löschen. In einigen Fällen können gelöschte Daten wiederhergestellt werden, in anderen sind die Informationen dann für immer verloren. |
Verwaltung der Metadaten | Informationen werden in Datenbanken meist mit Metadaten bzw. Metatags gespeichert. Diese schaffen Ordnung innerhalb der Datenbank und machen z. B. eine Suchfunktion möglich. Auch werden oft Zugriffsrechte über Metadaten geregelt. Die Datenverwaltung folgt vier fundamentalen Operationen: Create, Read/Retrieve, Update und Delete. Dieses als CRUD-Prinzip bekannte Konzept gilt als Basis für die Datenverwaltung. |
Datensicherheit | Datenbanken müssen sicher sein, damit Unbefugte keinen Zugriff auf gespeicherte Daten bekommen. Wesentlich für die Datensicherheit ist neben einem leistungsstarken Verschlüsselungsverfahren eine sorgfältige Verwaltung, besonders durch den Hauptadministrator. Datensicherheit meint meistens, die technischen Vorkehrungen zu treffen, um eine Manipulation oder den Verlust der Daten zu verhindern. Sie ist somit ein Kernkonzept des Datenschutzes. |
Datenintegrität | Datenintegrität bedeutet, dass Daten innerhalb einer Datenbank bestimmte Regeln einhalten, damit die Korrektheit der Daten gesichert und die Geschäftslogik der Datenbank definiert ist. Nur so ist sichergestellt, dass die Datenbank als Ganzes konstant und konsistent funktioniert. In relationalen Datenbankmodellen gibt es vier dieser Regeln: Bereichsintegrität, Entitätsintegrität, referenzielle Integrität und logische Konsistenz. |
Mehrbenutzerbetrieb | Datenbankanwendungen erlauben den Zugriff auf die Datenbank von verschiedenen Geräten aus. Im Mehrbenutzerbetrieb sind die Verteilung von Rechten und die Datensicherheit elementar. Eine Herausforderung für Datenbanken bei Mehrbenutzerbetrieb ist außerdem, wie man bei gleichzeitigem Lese- und Schreibzugriff vieler Nutzer Daten konsistent hält, ohne die Performance zu sehr zu beeinträchtigen. |
Abfragenoptimierung | Auf der technischen Seite muss eine Datenbank jede Abfrage möglichst optimal verarbeiten können, um eine gute Performance zu gewährleisten. Geht eine Datenbank „zu viele Wege“ bei einer Datenabfrage, leidet darunter die Gesamtleistung des Datenbanksystems. |
Trigger und Stored Procedures | Diese Verfahren sind innerhalb eines Datenbankmanagementsystems gespeicherte Mini-Anwendungen, die bei bestimmten Änderungsaktionen abgerufen („getriggert“) werden. Damit wird u. a. eine Verbesserung der Datenintegrität erzielt. Bei relationalen Datenbanken sind Datenbank-Trigger und Stored Procedures typische Prozesse – Letztere können auch zur Systemsicherheit beitragen, wenn Nutzer Aktionen nur noch mit vorgefertigten Prozeduren ausführen dürfen. |
Systemtransparenz | Systemtransparenz ist vor allem bei verteilten Systemen relevant: Indem die Datenverteilung und -implementierung dem Nutzer vorenthalten wird, gleicht die Nutzung der verteilten Datenbank dann der einer zentralisierten Datenbank. Verschiedene Stufen der Systemtransparenz legen die Hintergrundprozesse offen oder verschleiern sie. Die wesentliche Funktion ist jedoch, die Nutzung möglichst zu vereinfachen. |
Wenn Sie eine eigene Datenbank betreiben, ist eine umfassende Datensicherung extrem wichtig!
Welche DBMS-Typen/Datenbankmodelle gibt es?
Ein Datenbankmanagementsystem wird auf einem System installiert, um Datensätze optimal verwalten zu können. Wie bereits erwähnt, existieren dabei verschiedene Modelle, die sich in erster Linie hinsichtlich der vorgesehenen Strukturierung der Daten unterscheiden. Die Wahl eines DBMS ist also immer auch gleichbedeutend mit der Festlegung auf ein bestimmtes Datenbankmodell. Folgende Datenbankmodelle stehen zur Auswahl:
- Relational
- Hierarchisch
- Netzwerkorientiert
- Objektorientiert
- Dokumentorientiert
Am gängigsten und beliebtesten ist das relationale Datenbankmodell. Die Strukturierung der Daten erfolgt in diesem Modell in Tabellenzeilen. Der Vorteil liegt dabei in der Möglichkeit, bestimmte Relationen zwischen den einzelnen Zeilen zu schaffen und diese in Spalten darzustellen. Anders ist die Vorgehensweise bei einem hierarchischen Datenbankmodell: Die verschiedenen Daten stehen hier in einer Eltern-Kind-Beziehung zueinander, sind also nach einem hierarchischen System verbunden.
Einen weiteren Ansatz zur Datenorganisation stellt das netzwerkorientierte Datenbankmodell dar. Die Daten lassen sich hier innerhalb eines Netzwerks strukturieren. Auf eine andere Weise funktioniert das objektorientierte Datenbankmodell. Neben den Beziehungen der Datensätze spielen hier auch Vererbungen eine wichtige Rolle. Objekte können somit – reguliert durch das DBMS – Eigenschaften an andere Objekte weitervererben.
Dokumentenorientiert Datenbankmodelle sehen eine Lagerung der Datensätze in verschiedenen Dokumenten vor.
Datenbankmanagementsysteme: Vorteile und Nachteile im Überblick
Als Grundpfeiler von Datenbanken zeichnen sich Datenbankmanagementsysteme durch diverse Stärken und Vorteile aus. Dennoch haben DBMS wie jede andere Software auch verschiedene Schwachpunkte, wie die folgende Auflistung der Vor- und Nachteile deutlich macht.
Vorteile eines Datenbankmanagementsystems:
- einfache Verwaltung großer Datensätze
- einfacher, effektiver Zugriff auf gespeicherte Daten
- hohe Flexibilität
- Datenintegrität und -konsistenz
- Zugriffskontrolle für Anwender (Datensicherheit und -schutz)
- hohe Verfügbarkeit
Nachteile eines Datenbankmanagementsystems:
- verhältnismäßig teure Startinvestition (inkl. zusätzliche Kosten für Hardware)
- für Spezialsoftware eher weniger effizient
- qualifizierte Mitarbeiter (Datenbankadministratoren) benötigt
- höhere Verwundbarkeit durch Zentralisierung der Daten
DBMS-Beispiele: Die beliebtesten Datenbankmanagementsysteme
Es stehen zahlreiche verschiedene Datenbankmanagementsysteme zur Verfügung. Hier finden Sie die 15 populärsten und gängigsten DBMS:
- Microsoft Access – relational
- Microsoft SQL Server – relational
- MySQL – relational
- Oracle Database – relational
- OrientDB – dokumentenbasiert
- CouchDB – dokumentenbasiert
- Db2 (IBM) – relational
- IMS (IBM) – hierarchisch
- IBM Informix – relational
- MariaDB – relational
- Sybase ASE – relational
- MongoDB – dokumentenorientiert
- PostgreSQL – objektrelational (Mix aus relationalem und objektorientiertem Ansatz)
- Firebird – relational
- InterSystems Caché – objektrelational (Mix aus relationalem und objektorientiertem Ansatz)
- InterSystems IRIS – objektrelational (Mix aus relationalem und objektorientiertem Ansatz)