Wikipedia · einfach zusammengefasst · Stand
Datenbank
Eine Datenbank, auch Datenbanksystem genannt, ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe einer Datenbank ist es, große …
Inhalt5 Abschnitte
Aufgabe und Grundbegriffe
Eine Datenbank beziehungsweise ein Datenbanksystem dient der elektronischen Datenverwaltung. Seine Hauptaufgabe ist, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern. Benötigte Teilmengen sollen Benutzern und Anwendungsprogrammen in unterschiedlichen, passenden Darstellungsformen bereitgestellt werden.
Ein Datenbanksystem besteht aus dem Datenbankmanagementsystem (DBMS), also der Verwaltungssoftware, und der Datenbank (DB) im engeren Sinn, der verwalteten Datenmenge; diese wird teils auch Datenbasis genannt. Das DBMS organisiert die strukturierte Speicherung und kontrolliert alle lesenden und schreibenden Zugriffe. Es stellt außerdem eine Datenbanksprache zur Abfrage und Verwaltung bereit. Die verbreitetste Form ist die relationale Datenbank.
Davon zu unterscheiden sind Datenbankanwendungen: Das sind Programme, die für ihre jeweilige Aufgabe ein Datenbanksystem verwenden, etwa für Auftragsverwaltung, Bestellwesen, Kunden- und Adressverwaltung oder Rechnungserstellung. Eine bloße Menge thematisch zusammenhängender Dateien ist begrifflich keine Datenbank, wenn sie nicht durch ein Datenbanksystem verwaltet wird.
Datenbank, DBMS und Metadaten
Das Datenbanksystem ist das ausgeführte DBMS zusammen mit den zu verwaltenden Daten. Es gewährleistet die persistente, also dauerhafte, Speicherung und die Konsistenz der Nutzdaten einer Institution. Über Schnittstellen können Datenbankanwendungen Daten abfragen, auswerten, verändern und verwalten.
Das DBMS wird installiert und konfiguriert. Es legt das Datenbankmodell fest, sichert viele Anforderungen des Systems und bestimmt wesentlich dessen Funktionalität und Geschwindigkeit. Die seltene Bezeichnung Datenbankverwaltungssystem wird mit DBVS abgekürzt; RDBMS bedeutet relationales Datenbankmanagementsystem.
Im theoretischen Sinn ist eine Datenbank ein logisch zusammengehöriger Datenbestand. Das laufende DBMS legt ihn für Benutzer und Anwendungssysteme unsichtbar auf nichtflüchtigen Speichermedien ab. Für schnelle Zugriffe verwaltet es meist eine Speicherhierarchie mit einem schnellen Zwischenspeicher, dem Pufferpool. Anwendungssysteme müssen sich für die Nutzung an das DBMS wenden; direkter Zugriff auf den Speicher ist nur für administrative Tätigkeiten wie die Datensicherung erlaubt.
Die logische Struktur wird bei der Datenmodellierung als Datenmodell festgelegt und nach den Syntaxregeln des DBMS gespeichert. Das DBMS verwaltet dafür einen Systemkatalog, auch Data Dictionary genannt. Er enthält Metainformationen, zum Beispiel Struktur, Datenfelder mit Name, Länge und Format, Zugriffsregeln und Integritätsbedingungen. Hersteller verwenden teils unterschiedliche Begriffe dafür, ob eine Datenbank alle Daten einer DBMS-Instanz oder nur inhaltlich zusammengehörige Daten meint. Bei verteilten Datenbanken können mehrere verbundene Datenbanken auf unterschiedlichen Systemen bestehen.
Sicherheit, Integrität und parallele Zugriffe
Zu den Kernfunktionen eines DBMS gehören das Speichern, Überschreiben und Löschen von Daten, die Verwaltung von Metadaten sowie Vorkehrungen für Datensicherheit, Datenschutz und Datenintegrität. Datensicherheit bedeutet Schutz vor Datenverlust und vor unerlaubtem Zugriff. Neben den eigentlichen Daten speichert ein RDBMS Informationen über Datenbankschemata und Zugriffsrechte. Backups sichern den Datenbestand; sie können aber die Leistung beeinträchtigen, weil Daten während eines Backups oft nur eingeschränkt verändert werden dürfen.
Datenintegrität bedeutet, dass Daten nach festgelegten Regeln konsistent bleiben. Constraints sind Regeln im Managementsystem, die bestimmen, wie Daten verändert werden dürfen. Ein wichtiger Constraint relationaler Systeme ist der Foreign Key Constraint: Er verhindert, dass Daten gelöscht werden, die eine andere Tabelle über einen Foreign Key noch referenziert. Weitere Integritätsbedingungen können Duplikate verbieten oder zulässige Inhalte eines Feldes festlegen. Letzteres heißt Bereichsintegrität und schließt die Prüfung erlaubter Leerinhalte ein.
Mehrbenutzerfähigkeit ermöglicht den pseudo-gleichzeitigen Zugriff mehrerer Anwendungen oder Anwender. Das DBMS verwaltet dazu Berechtigungen, Sperren (locks) und Systemprotokolle (logs beziehungsweise log files) und arbeitet transaktionsorientiert. Ohne Berechtigung darf eine Operation nicht ausgeführt werden. Fehler durch unzulässigen parallelen Zugriff heißen Anomalien im Mehrbenutzerbetrieb.
Eine Transaktion schützt Daten vor Race Conditions bei parallelen Änderungen. Vereinfacht sperrt sie Daten vorübergehend für andere Benutzer. Mit einem Commit wird sie beendet; mit einem Rollback werden ihre Änderungen unwirksam gemacht. Danach stehen die Daten wieder anderen Transaktionen zur Verfügung.
Abfragen, Programmunterstützung und Sprachen
Für Abfragen und Veränderungen stellt das DBMS eine Datenbanksprache bereit. Eine Anfrage wird zunächst in logische Operationen der relationalen Algebra übersetzt. Anschließend wählt das System Datenbankoperatoren aus, welche diese Operationen tatsächlich auf den Daten ausführen. Auswahl und Reihenfolge der Operatoren bilden den Ausführungsplan; erstellt wird er durch den Abfrageoptimierer. Dieser komplexe Teil der Datenbanksoftware beeinflusst die Effizienz des gesamten Systems wesentlich.
Indizes helfen, einen bestimmten Datensatz schnell zu finden. Welche Daten einen Index erhalten, wird im Datenbankschema festgelegt, kann später aber von einem Datenbankadministrator angepasst werden.
Trigger und Stored Procedures unterstützen Datenbankapplikationen. Ein Trigger löst eine Datenbankaktion aus, wenn ein bestimmtes Ereignis eingetreten ist, oft beim Einfügen oder Ändern von Daten. Stored Procedures führen Skripte innerhalb der Datenbank aus und sind deshalb häufig besonders effizient für die Datenmanipulation. Datenbanken mit Triggern und Stored Procedures heißen aktive Datenbanken.
Datenbanksprachen dienen drei Zwecken: Datenabfrage und -manipulation (DML), Verwaltung der Datenbank und Definition der Datenstrukturen (DDL) sowie Berechtigungssteuerung (DCL). In relationalen DBMS sind diese Kategorien in SQL vereinigt; bei anderen Systemen können unterschiedliche Sprachen verwendet werden.
Modelle, Einsatzformen und Beispiele
Das Datenbankmodell ist die Grundlage für die Strukturierung der Daten und ihrer Beziehungen und wird durch den DBMS-Hersteller festgelegt. Das Datenbankschema muss sich an dessen Strukturierungsmöglichkeiten anpassen.
- Hierarchisch: Datenobjekte stehen ausschließlich in Eltern-Kind-Beziehungen.
- Netzwerkartig: Datenobjekte werden in Netzen miteinander verbunden.
- Relational: Daten werden zeilenweise in Tabellen verwaltet; Beziehungen können beliebig sein und werden durch Werte bestimmter Tabellenspalten festgelegt.
- Objektorientiert: Das System verwaltet Beziehungen zwischen Datenobjekten selbst; Objekte können Eigenschaften und Daten anderer Objekte erben.
- Dokumentenorientiert: Objekte werden als Dokumente mit möglicherweise verschiedenen Attributen gespeichert, ohne Voraussetzung der Strukturgleichheit.
Daneben gibt es Misch- und Nebenformen wie das objektrelationale Modell. Nach der Ausrichtung unterscheidet man Systeme für viele kleine Abfragen im Tagesgeschäft (OLTP) und für lang andauernde Auswertungen (OLAP). Ein System kann beide Aufgaben erfüllen, beispielsweise tagsüber OLTP und nachts OLAP. Ein Datenbankadministrator kann dafür unterschiedliche Konfigurationen etwa für Hauptspeicher, Prozessanzahl und Optimierungsstrategie ausarbeiten.
Typische Anwendungen finden sich bei Banken und Versicherungen: Kunden- und Kontoinformationen, Buchungen und weitere Daten werden dort meist in relationalen DBMS strukturiert gespeichert; Datenschutz und Datensicherheit haben hohe Priorität. Datenbanksysteme unterstützen außerdem ERP-Systeme zur Ressourcenplanung in mittelständischen Unternehmen und Großkonzernen. Wikipedia wird mit MariaDB verwaltet. Marktforschungsinstitute sammeln eigene und fremde Daten in Data Warehouses, und Werkstoffdatenbanken ordnen Objekten in Simulationen typische Werkstoffeigenschaften zu.
Lernvideos zu Datenbank
11:52
Datenbank erstellen in Microsoft Access einfach erklärt für Anfänger
Jakob Neubauer · 283.250 Aufrufe
9:00
Die drei Normalformen in einer Datenbank. Einfach erklärt
Patrick Boekhoven · 16.145 Aufrufe
11:18
Normalisierung in Datenbanken (1. bis 3. Normalform)
Patrick Boekhoven · 240.357 Aufrufe
13:06
Kardinalitäten und Primärschlüssel | ERM bei Datenbanken
Sebastian Philippi · 132.320 Aufrufe