Was ist die Aufgabe von einem Datenbankmanagementsystem (DBMS)?
Inhaltsverzeichnis
Oberstes Ziel von Datenbanksystemen (DBS) ist es, Datenbestände zu zentralisieren, so dass alle Anwender über getrennte Programme auf einen Datenbestand zugreifen können. Als Datenbanksystem wird dabei das Zusammenspiel zwischen einer Datenbank (DB) und einem Datenbankmanagementsystem/Datenbankverwaltungssystem (DBMS) bezeichnet.
Die DB repräsentiert den gesamten Bestand der Daten, die im DB-System (DBS) enthalten sind. Die Daten sind dauerhaft gespeichert (Persistenz der Daten). Eine DB kann aus einer oder mehreren Dateien bestehen und die Zugriffe auf den Bestand der DB werden vom DBMS ausgeführt.
Aufgaben einer DB sind
- Speicherung der Daten auf einem Datenträger
- Beschreibung vorhandener Daten und
- Verwaltung der Daten (aggregieren, selektieren, kombinieren, …)
Das DBMS ist ein Softwaresystem, welches die Verbindung zwischen einer DB und den Anwendungsprogrammen schafft. Das DBMS ist für Transaktionen im DBS verantwortlich, regelt die Zugriffe wie Lesen, Ändern, Hinzufügen, Löschen von Daten und ist für das Management und für die Kontrolle über den Datenbestand zuständig.
Anwender von DBMS sind Datenadministratoren/Datenbankdesigner und Datenbankadministratoren, Endbenutzer und Anwendungsentwickler. Mehr im Hintergrund arbeiten Designer und Entwickler eines DBMS, Werkzeug-Entwickler oder Operateure und Wartungsingenieure mit Datenbankmanagement-systemen.
Arten von Datenbanksystemen können u.a. sein Informations- und Verbuchungssysteme (z.B. für Reisebuchung, finanzielle Transaktionen etc.), Multimedia-Datenbanken, Geografische Informations-systeme (GIS), Data Warehouses (Informationssysteme für strategische Entscheidungen), Echtzeit-Datenbanksysteme (z.B. zur Produktionssteuerung) oder Internet-Suchmaschinen. Praktisch alle größeren Anwendungssysteme arbeiten „im Hintergrund“ mit einer Datenbank:
Welche Architektur und welche Komponenten wird zumeist für die Beschreibung der Struktur von Datenbanksystemen verwendet?
Nach (Mertens, 2005): Bei der Formulierung von Daten und Datenbeziehungen kann man drei verschiedene Abstraktionsebenen bzw. Sichtweisen unterscheiden: Aus einer konzeptuellen Perspektive werden Daten und ihre Zusammenhänge möglichst situations- und damit auch personen- und kontextunabhängig formuliert. Aus einer zweiten Perspektive können die Daten so organisiert sein, wie sie die verschiedenen Anwender benötigen (externe Sicht). Schließlich lassen sich Daten im Hinblick auf die Struktur der physischen Speicherung (interne Sicht) beschreiben.
Diesen unterschiedlichen Sichtweisen entsprechend legt man für die Beschreibung der prinzipiellen Struktur von DBS zumeist die vom ANSI/SPARC (American National Standards Institute/Standards Planning and Requirements Committee) vorgeschlagene Drei-Ebenen-Architektur zu Grunde.
Zur Durchführung und Spezifikation von Dateioperationen stehen u. a. die folgenden Komponenten zur Verfügung:
Datendefinitions- oder -beschreibungssprache (Data Definition/Description Language, DDL): Sie dient der Beschreibung der logischen Datenstrukturen einer Datenbank. Eine Aufgabe ist die Übertragung des Datenmodells in die Datenbank.
Datenmanipulationssprache (Data Manipulation Language, DML): Sie ermöglicht Datenbankbenutzern und Anwendungsprogrammen den interaktiven Zugriff (z. B. Ändern, Hinzufügen, Löschen) auf die Datenbank.
Speicherbeschreibungssprache (Data Storage Description Language, DSDL): Sie übernimmt die Beschreibung der physischen Datenorganisation innerhalb eines Datenbanksystems.
Abfragesprache (Query Language, QL): Sie erlaubt die deskriptive Formulierung von Abfragen (z. B. Suche nach Kunden aus München) und vereinfacht somit die direkte Kommunikation zwischen Benutzer und DBS. Abfragesprachen sind nicht zwingend Bestandteil von DBMS. Im Gegensatz zur DML sind zu ihrer Anwendung keine detaillierten Systemkenntnisse erforderlich.
Die genannten Sprachen, die z. T. prozedural (DDL, DML und DSDL), z. T. deskriptiv (QL) sind, werden in gängigen DBS-Produkten nicht immer getrennt voneinander realisiert. Häufig findet man in DBMS z. B. die DML und die QL in einem Konzept integriert. De-facto-Standard bei relationalen DBS ist die Structured Query Language.
Welche Anforderungen stellen Anwender und Entwickler an Datenbankmanagementsysteme?
Zunächst stellen nach (Mertens & Wieczorrek, 2000) sowohl Anwender als auch Entwickler an Datenbankmanagementsysteme bestimmte Anforderungen, und zwar unabhängig davon, ob operationale Systeme, ein Data Warehouse oder Informationssysteme betroffen sind. Als Kerneigenschaft wird verlangt, dass mit Hilfe von DBMS Datenbestände nach frei wählbaren Merkmalen auswertbar sind, nur festgelegte Benutzergruppen vollständigen oder eingeschränkten Zugriff auf Datenbestände erhalten und auf Datenbestände online und im Mehrbenutzerbetrieb zugegriffen werden kann.
Übersichtsweise werden folgende Anforderungen an DBMS gestellt:
- Datenintegrität: Daten haben die Aufgabe, die Realität, welche sie beschreibt, exakt und vollständig wiederzugeben. Hierzu müssen diese vollständig, widerspruchsfrei und korrekt zu jedem Zeitpunkt während des Systembetriebs hinterlegt werden
- Redundanzfreiheit: Einzelne Datenelemente sollten möglichst nur einmal in einer Datenbank gespeichert werden, auch wenn auf sie aus unterschiedlichen operativen Systemen zugegriffen wird (beispielsweise auf Kundenadressen).
- Datenunabhängigkeit: Daten sind unabhängig von Anwendungsprogrammen neutral zu speichern, d.h. durch Änderungen in Datenbanken sollen nicht zwangsweise Anwendungsprogramme betroffen sein und umgekehrt. Eine Entkopplung von DBMS und Anwendungsprogrammen ist eine Grundvoraussetzung, um Modularisierungen von Anwendungen zu ermöglichen. Ebenso muss eine Unabhängigkeit zwischen logischer und physischer Datenorganisation vorliegen.
- Datenschutz und –sicherheit: Es muss sichergestellt werden, dass Daten nur von genau festgelegten Personengruppen zugreifbar sind. Ein Datenmissbrauch durch Fremde und Nichtautorisierte muss ausgeschlossen werden. Zusätzlich wird eine dauerhafte und persistente Speicherung von Daten zwingend verlangt.
- Benutzerfreundlichkeit: Endanwender verlangen von einem DBMS eine Benutzerschnittstelle, die leicht zu erlernen und zu bedienen ist. Daten müssen leicht zu handhaben sein und Datenabfragen müssen flexibel vorgenommen werden können. Programmierer von Anwendungen, die auf ein DBMS zugreifen, benötigen eine standardisierte Sprachschnittstelle. Bei relationalen DBMS hat sich beispielsweise die SQL-Sprache durchgesetzt.
- Mehrfachzugriff: auf gespeicherte Daten muss sehr zeitnah zugegriffen werden können. Ebenso ist der gleichzeitige Zugriff für mehrere parallele Nutzer zu ermöglichen und zu koordinieren.
Betrachtet man die Informationspyramide so zeigt sich, dass die Datenhaltung und –bereitstellung je nach Ebene unterschiedliche Anforderungen erfüllen muss.
Operative Systeme lesen die Inhalte der aktuellen Daten aus und führen Änderungen in ihnen durch, sie greifen sowohl in lesender als auch in schreibender Form auf die aktuellen Daten zu. Hingegen greifen Informationssysteme auf aktuelle Datenbestände grundsätzlich nur lesend zu, sie verändern keine aktuellen Daten.
Auswertungen von Informationssystemen können beschleunigt werden, indem zusammengefasste (aggregierte) Daten erzeugt und abgelegt werden. Die Unterschiede zwischen operativen Systemen und Informationssystemen wie z.B. Data Warehouse-Lösungen wirken sich dementsprechend auf die Architektur von Datenbanksystemen aus:
Merkmal | Operative Systeme | Data Warehouse |
Typische Datenstruktur | Flache, nicht hierarchische Tabellen | Multidimensionale Tabellen |
Art der Daten | Aktuelle Daten | Historische Daten |
Datenmanipulation | Aktualisierend | Analysierend |
Betrachtungsebene | Detailliert | Aggregiert |
Datenmenge | Vergleichsweise klein und im Zeitablauf weitgehend konstant | Sehr umfangreich und mit der Zeit deutlich wachsend |
Zeithorizont | Gegenwärtig | Historisch, gegenwärtig und zukünftig |
Typische Transaktionen | Kurze Update-Transaktionen | Lange Anfrage-Transaktionen |
Zugriffe | Schnelle Schreib- und Lesezugriffe innerhalb gut strukturierter Aufgaben | Lesezugriffe für verschiedene Rechercheaufgaben |
Datenmodell | Keine Redundanzen, da hochgradig normalisiert | Bewusste Redundanzen durch teilweise Denormalisierung |
Aktualisierungszeitraum | Die Daten sind einer permanenten Änderung unterlegen | Die Daten werden zu vordefinierten Zeitpunkten aktualisiert |
Verfügbarkeit | Hoher Anspruch an die Verfügbarkeit | Geringe Anforderungen an die Verfügbarkeit |
Optimierungsziel | Update-Optimierung | Anfrage-Optimierung |
Detaillierte Informationen zu Data Warehouse findest Du im Lexikoneintrag.