Datenbankmanagementsystem

Unter einem Datenbankmanagementsystem (DBMS) versteht man eine Softwarelösung zur Verwaltung und Administration von Datenbanken, welche einem oder mehreren Anwendern den funktionalen Zugang zu einer Datenbank ermöglicht, d.h. Daten erstellen und abrufen zu können. Das DBMS ist dabei die Schnittstelle zwischen Datenbank und Datenbankbenutzer. Der Datenbankbenutzer kann dabei entweder ein direkter Nutzer oder eine weitere Softwareanwendung sein. Es organisiert intern die strukturierte Speicherung der Daten und kontrolliert die Lese-/Schreibzugriffe auf die Datenbank.

Bekannte Datenbankmanagementsysteme sind z.B. Oracle, MySQL, PostgreSQL, MongoDB oder Microsoft SQL Server.

Durch diese Zwischenschicht wird dem Benutzer eine logische und physische Unabhängigkeit zur Datenbank geboten: Der Benutzer ist nicht darauf angewiesen, zu wissen, wie die Datenbank genau aufgebaut ist, noch in welcher Form diese die Daten speichert. Der Benutzer nutzt das DBMS um z.B. mittels einer Datenbanksprache, wie SQL, auf die Daten zuzugreifen. Finden Änderungen an dem Speicherort, der Speicherart oder der Datenbankstruktur statt, fängt das DBMS diese Änderung für den Benutzer ab.

Ein DBMS dient gleichzeitig als einheitlicher Zugriffspunkt auf die Daten. Während bei einem Dateisystem die einzelnen Anwender (Benutzer oder Software) unkontrolliert auf die Daten zugreifen und diese verändern können, dient ein DBMS wie ein kontrollierter Trichter, der alle Anfragen bündelt und systematisch abarbeitet.

Ein Datenbankmanagementsystem soll folgendes gewährleisten:

  • Datenintegrität/Konsistenzüberwachung
  • Datensicherheit und -schutz (Zugriffkontrolle)
  • Prozedurale und nichtprozedurale Schnittstellen
  • Durchführung lesender und schreibender Datenzugriffe über definierte Datenbankoperatoren
  • Konkurrierenden Datenzugriff (Mehrbenutzerbetrieb)

Bestandteile

  • Datenwörterbuch
    • Eine Ansammlung von Metadaten, die Informationen über den Inhalt der verschiedenen Daten in dem Datenbankspeicher enthalten.
  • Datendefinitionssprache
    • Auch Data Definition Language (DDL) genannt. Strukturiert Inhalte der Datenbanken und kann Objekte wie Beziehungen und Nutzerrechte erzeugen, ändern oder löschen.
  • Datenmanipulationssprache
    • Auch Data Manipulation Language (DML) genannt. Ermöglicht es Datensätze in einer Datenbank auszulesen, zu erstellen, einzufügen, zu ändern oder zu löschen.
  • Zugriffskontrolle
    • Unter der Zugriffkontrolle versteht man ein anpassbares Berechtigungskonzept für die vorhandenen Daten. So kann über die Zugriffskontrolle eines typischen DBMS bestimmt werden, wer sich am System anmelden darf, wer Daten einsehen, verändern oder löschen darf. Häufig lässt sich dies sehr granular einstellen. So erlauben typische Systeme die Unterteilung in Benutzer und Rollen. Diesen Benutzern und Rollen können dann spezielle SQL-Statements erlaubt oder verweigert werden.
  • Synchronisation
    • Innerhalb einer Datenbank können mehrere Nutzer gleichzeitig arbeiten. Um dort Beeinflussungen untereinander zu vermeiden kann ein DBMS die Zugriffe miteinander synchronisieren.
    • Auch mehrere Hostsysteme können so synchronisiert werden.
  • Sicherungsmöglichkeit
    • Ein DBMS bietet die Möglichkeit, Datenbanken oder Teile davon zu sichern oder zu „backupen“. Dadurch ist es möglich, einzelne oder mehrere Transaktionen rückgängig zu machen.
  • Benutzersichten
    • Benutzersichten erlauben unterschiedliche Blickwinkel auf die Daten. Je nach Rolle und Zweck der Benutzung durch einzelne Benutzer, können die Daten unterschiedlich präsentiert und angezeigt werden. So sind z.B. für die Datenbankadministration andere Daten wichtig als für eine spezielle Anwendung. Auch innerhalb von Nutzeranwendungen können diese Sichten wichtig sein. So wäre eine Sicht zur Datenpflege für Mitarbeiter eines Unternehmens denkbar, während für Gäste und Kunden über eine Webanwendung eine andere Sicht notwendig ist.
  • Konsistenzüberwachung
    • Wichtig für die Funktion einer Datenbank ist die Konsistenz der Daten. Ist diese Konsistenz gefährdet, sind die darin gespeicherten Daten nicht mehr glaubwürdig und damit nutzlos. Um diese Konsistenz sicherzustellen, kann ein DBMS die Eingaben und Veränderungen überwachen und auf diese Konsistenten prüfen.