Datenbank

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

EineDatenbank,auchDatenbanksystemgenannt, ist ein System zur elektronischenDatenverwaltung.Die wesentliche Aufgabe einer Datenbank ist es, großeDatenmengeneffizient,widerspruchsfreiunddauerhaftzu speichern und benötigte Teilmengen in unterschiedlichen,bedarfsgerechten DarstellungsformenfürBenutzerundAnwendungsprogrammebereitzustellen.

Ein Datenbanksystem besteht aus zwei Teilen: der Verwaltungssoftware,genanntDatenbankmanagementsystem(DBMS), und der Menge der zu verwaltenden Daten, derDatenbank(DB) im engeren Sinn, zum Teil auch „Datenbasis“genannt. Die Verwaltungssoftware organisiert intern die strukturierte Speicherung der Daten und kontrolliert alle lesenden und schreibenden Zugriffe auf die Datenbank. Zur Abfrage und Verwaltung der Daten bietet ein Datenbanksystem eineDatenbanksprachean.

Die gebräuchlichste Form einer Datenbank ist einerelationale Datenbank.Die Struktur der Daten wird durch einDatenbankmodellfestgelegt.

Zu unterscheiden ist der hier beschriebene Begriff der Datenbank (bestehend aus DBMS und Daten) vonDatenbankanwendungen:Letztere sind (häufig zurAnwendungssoftwaregehörende)Computerprogramme,die ihre jeweils individuell erforderlichen Daten unter Nutzung eines Datenbanksystems verwalten und speichern.[1]Beispiele: Auftragsverwaltung, Bestellwesen, Kunden- und Adressverwaltung, Rechnungserstellung; weitere Funktionsbeispiele.[2]

Im Sprachgebrauch werden gelegentlich (und begrifflich unkorrekt) auch nicht mit Datenbanksystemen verwaltete Daten als „Datenbank “bezeichnet: eine Menge thematisch zusammenhängenderDateien.

Ausgehend von Problemen bei der Verarbeitung von Daten in einfachen Dateien, wurde in den 1960er-Jahren das Konzept eingeführt, Daten durch eine separate Softwareschicht zwischen Betriebssystem (Dateiverwaltung) und Anwendungsprogramm zu verwalten. Dieses Konzept begegnete der Fehlentwicklung, dass Datenspeicher in Form von Dateien in der Regel für eine spezielle Anwendung konzipiert wurden und ein erheblicher Teil des Tagesgeschäfts mit Umkopieren, Mischen und Restrukturieren der Dateien belastet war.

Datenbank-Icon

Auf die Anfangszeit der elektronischen Datenverarbeitung geht auch das noch heute übliche Datenbank-Symbol zurück, das einenTrommelspeicherrepräsentiert, und 1969 in einem IBM-Standard fürProgrammablaufplänefestgelegt wurde.

Eines der ersten großen DBMS warIMSmit der Sprache DL/I (Data Language One). Die damit verwalteten Datenbanken warenhierarchischstrukturiert. Parallel dazu definierteCODASYLein Modell fürnetzwerkartigstrukturierte Datenbanken.

Einen wesentlichen Fortschritt erzielte in den 1960er- und 1970er-JahrenEdgar F. Coddmit seiner Forschungsarbeit amIBM Almaden Research Center.Codd entwickelte die Grundlagen des ersten experimentellenrelationalenDatenbanksystemsSystem R.[3]Die Berkeley Group folgte mitIngresund der Abfragesprache QUEL.

Oracle(damals noch unter den FirmennamenSDLundRSI) verwertete die Ergebnisse des System R und führteSQLzum kommerziellen Erfolg. IBM folgte mit SQL/DS undDB2.Die relationalen Datenbanksysteme verdrängten in den 1980er-Jahren die hierarchischen und netzwerkartigen Systeme, und der Großteil der Behörden, Konzerne, Institute und mittelständischen Unternehmen stellte seineITauf Datenbanksysteme um.

Während in den 1990er-Jahren wenige kommerzielle Hersteller von Datenbank-Software faktisch den Markt beherrschten (namentlich IBM,Informix,dBASE,Microsoft SQL Serverund Oracle), erlangten in den 2000ern dieOpen-Source-Datenbankmanagementsysteme eine immer größere Bedeutung. Vor allemMySQLundPostgreSQLerzielten signifikante Marktanteile. Als Reaktion begannen die führenden kommerziellen Hersteller, gebührenfreie Versionen ihrer Datenbank-Software anzubieten. Etwa seit 2001 ist aufgrund mangelnder Skalierbarkeit relationaler Datenbanken die Bedeutung derNoSQL-Systeme gewachsen.

Einen Stammbaum der Datenbanksysteme findet man alsGenealogy of Relational Database Management Systems[4]beimHasso-Plattner-Institut.

Datenbanksysteme sind heute ein zentraler Bestandteil derUnternehmenssoftware.Damit stellen sie einen kritischen Teil vieler Unternehmen und Behörden dar. Von derVerfügbarkeit,Vollständigkeit und Richtigkeit der Daten hängt die Aktionsfähigkeit eines Unternehmens ab. DieDatensicherheitist daher ein wichtiger und gesetzlich vorgeschriebener Bestandteil der IT eines Unternehmens oder einer Behörde.

Datensouveränität

[Bearbeiten|Quelltext bearbeiten]

Datensouveränität bezeichnet die umfassende Kontrolle, Einflussnahme und Einsichtnahme, die derjenigen Person oder Organisation gewährt wird, die Daten bereitstellt.

Im Zusammenhang mit Datenbanken wird Datensouveränität als ein zusätzliches Element betrachtet, das über den reinen Datenschutz hinausgeht. Ziel ist es, dem Datenbereitsteller das Recht und die Fähigkeit zur informationellen Selbstbestimmung zu geben sowie Transparenz über die Nutzung seiner Daten zu ermöglichen. Im Zusammenhang mit Datenschutz geht es dabei nicht nur um die Einhaltung gesetzlicher Vorschriften, sondern vielmehr darum, den Nutzern die Befähigung zu geben, selbstbestimmt über ihre Daten zu verfügen.

Datensouveränität stellt somit keine Alternative zum Datenschutz dar, sondern ergänzt ihn.

Trotz wachsender Sensibilisierung für den verantwortungsvollen Umgang mit Daten besteht nach wie vor ein Mangel an flächendeckender und einheitlicher Umsetzung von Datensouveränität.[5]

Komponenten eines Datenbanksystems

[Bearbeiten|Quelltext bearbeiten]
DBMS+Datenbank=Datenbanksystem

Das Datenbanksystem ist das ausgeführte DBMS zusammen mit den zu verwaltenden Daten der Datenbank. Eine Datenbank gewährleistet diepersistenteSpeicherung sowie dieKonsistenzder Nutzdaten einer Institution und bietet für die benutzenden Datenbankanwendungen mit dem DBMS Schnittstellen zur Abfrage, Auswertung, Veränderung und Verwaltung dieser Daten.

Datenbankmanagementsystem

[Bearbeiten|Quelltext bearbeiten]

Das Datenbankmanagementsystem (DBMS) ist die eingesetzte Software, die für das Datenbanksystem installiert und konfiguriert wird. Das DBMS legt das Datenbankmodell fest, hat einen Großteil der unten angeführten Anforderungen zu sichern und entscheidet maßgeblich über Funktionalität und Geschwindigkeit des Systems. Datenbankmanagementsysteme selbst sind hochkomplexe Softwaresysteme.

FürDatenbankmanagementsystemwird (selten) auch der BegriffDatenbankverwaltungssystem(DBVS) verwendet.

Gängig ist die Abkürzung RDBMS für einrelationalesDatenbankmanagementsystem.

In der Theorie versteht man unterDatenbank(englischdatabase) einen logisch zusammengehörigen Datenbestand. Dieser Datenbestand wird von einem laufenden DBMS verwaltet und für Anwendungssysteme und Benutzer unsichtbar auf nichtflüchtigen Speichermedien abgelegt. Um einen effizienten Zugriff auf die Datenbank zu gewährleisten, verwaltet das DBMS in der Regel eine Speicherhierarchie, die insbesondere auch einen schnellen Zwischenspeicher (Pufferpool) umfasst. Zur Wahrung der Konsistenz des Datenbestandes müssen sich alle Anwendungssysteme an das DBMS wenden, um die Datenbank nutzen zu können. Allein administrativen Tätigkeiten, wie zum Beispiel der Datensicherung, ist der direkte Zugriff auf den Speicher erlaubt. Die logische Struktur der zu speichernden Daten wird bei derDatenmodellierungalsDatenmodellerarbeitet und festgelegt und in ihrer finalen Form im und nach den Syntaxregeln des DBMS gespeichert. Hierzu erzeugt, nutzt und verwaltet das DBMS einen „Systemkatalog “(Data-Dictionary) mitMetainformationenzum Datenbestand, beispielsweise über seine Struktur, seine Datenfelder (Name, Länge, Format…), Zugriffsregeln,Integritätsbedingungenusw.

Einzelne DBMS-Hersteller verwenden geringfügig voneinander abweichende Begrifflichkeiten dafür, was man genau untereinerDatenbank versteht: entweder alle Daten, die von einem laufenden DBMS bzw. derInstanzverwaltet werden, oder nur die jeweils inhaltlich zusammengehörigen Daten. Beiverteilten Datenbankengibt es auch im Modell mehrere Datenbanken auf unterschiedlichen Systemen, die miteinander verbunden sind.

  • Banken und Versicherungen arbeiten mit Datenbanksystemen, in der Regel mit relationalen DBMS. Im Datenbanksystem sind alle Kunden- und Kontoinformationen, Buchungen und andere Daten strukturiert abgelegt. In diesem Einsatzumfeld haben Datenschutz und Datensicherheit hohe Priorität. Datenbanksysteme werden hier zum Tagesgeschäft (OLTP) sowie periodisch oder ad-hoc zu beliebigen anderen Zwecken (wie imMarketing,Controlling,Rechnungswesenund vielen anderen Bereichen; siehe auchOLAP) verwendet.
  • Faktisch alle mittelständischen Unternehmen und Großkonzerne arbeiten zur Ressourcenplanung mitERP-Systemen, deren Datenteil in Form von Datenbanksystemen vorliegt.
  • Dieser Artikel in seiner in derWikipediavorliegenden Fassung wird neben allen anderen dort enthaltenen Artikeln durch ein Datenbanksystem verwaltet (MariaDB).
  • Marktforschungsinstitute tragen eigene und Fremddaten inData-Warehouses(Datenlagern) zusammen.
  • Werkstoffdatenbankenordnen in Simulationen Objekten typische Werkstoffeigenschaften zu.

Funktionen eines Datenbankmanagementsystems (DBMS)

[Bearbeiten|Quelltext bearbeiten]

Die wesentlichen Funktionen von heutigen Datenbankmanagementsystemen sind:

Das RDBMS speichert die relationalen Daten auf einemSpeichermedium.Neben den eigentlichen Daten werden ebenfalls Informationen über dieDatenbankschemataundZugriffsrechtevon Benutzern gespeichert. Letztere sind wichtig, um dieDatensicherheitzu garantieren. Dazu gehört sowohl Schutz gegen Datenverlust als auch Schutz gegen unerlaubten Zugriff. Die Metadaten eines DBMS werden auch als dasdata dictionaryoder Katalogdes Systems bezeichnet.

Ein weiterer wichtiger Aspekt von Datenbanken ist das Sichern des Datenbestandes durchBackups.In der Praxis ist dies oft ein nicht zu vernachlässigendes Performance-Problem, da während eines Backups Daten nur sehr eingeschränkt modifiziert werden dürfen.

Ein weiterer wichtiger Teil der Datensicherheit ist dasTransaktionskonzept,das Daten gegenRace Conditionsdurch den parallelen Zugriff mehrerer Benutzer schützt. Andernfalls könnten Daten von verschiedenen Benutzern gleichzeitig geändert werden. Das Ergebnis der Änderungen würde dann vom Zufall abhängen oder Daten könnten inkonsistent werden. Vereinfacht dargestellt, sperren Transaktionen Daten vorübergehend für den Zugriff durch andere Benutzer, bis eine Transaktion durch einenCommitbeendet wird oder erfolgte Änderungen durch einenRollbackunwirksam gemacht werden. Danach sind die Daten wieder für andere Transaktionen frei.

DieIntegritätder Daten kann durchConstraintssichergestellt werden. Dies sind Regeln im Managementsystem, die beschreiben, wie Daten verändert werden dürfen. Der wichtigste Vertreter bei relationalen Datenbanksystemen ist derForeign Key Constraint.Dieser verhindert, dass Daten gelöscht werden können, die von einer anderen Tabelle noch benötigt, d. h. über einenForeign Keyreferenziert werden. Siehe Hauptartikelreferentielle Integrität.

Andere Integritätsbedingungen regeln zum Beispiel, ob Duplikate erlaubt sind oder welche Inhalte einzelne Datenfelder enthalten dürfen („Bereichsintegrität “, inkl. Prüfung auf erlaubte Leerinhalte).

Abfrageoptimierung

[Bearbeiten|Quelltext bearbeiten]
Auswertungsplanin Form eines Operatorbaums

Damit Daten abgefragt und verändert werden können, stellt das DBMS eine Datenbanksprache zur Verfügung. Eine Abfrage an das Datenbanksystem wird dabei zunächst in die logischen Operationen der relationalen Algebra übersetzt. Danach werden sogenannteDatenbankoperatorenausgewählt, die die logische Operation tatsächlich auf den Daten ausführt. Die Wahl der Operatoren und die Reihenfolge ihrer Ausführung nennt man das Erstellen eines Ausführungsplans durch denAbfrageoptimierer.Der Optimierer ist ein besonders komplexer Teil der Datenbanksoftware und hat wesentlichen Einfluss auf die Effizienz des Gesamtsystems.

Bei der Abfrageoptimierung spielenIndizeseine wichtige Rolle. Sie dienen dazu, schnell einen bestimmten Datensatz zu finden. Welche Daten einen Index erhalten, wird mit dem Datenbankschema festgelegt, kann aber später von einem Datenbankadministrator angepasst werden.

Anwendungsunterstützung

[Bearbeiten|Quelltext bearbeiten]

Zur Unterstützung von Datenbankapplikationen bieten DatenbanksystemeTriggerundStored Proceduresan. Ein Trigger löst eine Aktion in der Datenbank aus, wenn ein bestimmtes Ereignis eingetreten ist, häufig bei Einfüge- oder Änderungsoperationen.Stored Proceduresdienen dem Ausführen vonSkriptenin der Datenbank. DaStored Proceduresinnerhalb des Datenbanksystems ausgeführt werden, sind sie oft der effizienteste Weg, Daten zu manipulieren. Datenbanken, die Trigger undStored Proceduresunterstützen, heißen auch aktive Datenbanken.

Eine Datenbank stellt als Schnittstelle eineDatenbanksprachefür die folgenden Zwecke zur Verfügung:

  • Datenabfrage und -manipulation (DML)
  • Verwaltung der Datenbank und Definition der Datenstrukturen (DDL)
  • Berechtigungssteuerung (DCL)

Bei den relationalen DBMS sind diese Kategorien in einer Sprache (SQL) vereint, bei anderen Systemen existiert aber durchaus eine Trennung in Form unterschiedlicher Sprachen.

Mehrbenutzerfähigkeit

[Bearbeiten|Quelltext bearbeiten]

Für den Zugriff auf die Daten werden Berechtigungen verwaltet. Ohne Berechtigung kann die entsprechende Operation nicht durchgeführt werden.

Für den (pseudo-)gleichzeitigen Zugriff mehrerer Anwendungen bzw. Anwender regelt das DBMS Konkurrenzsituationen.

  • Es werdenSperren(engl.locks) verwaltet.
  • Es werdenSystemprotokolle(engl.logsbzw.log files) verwaltet.
  • Die Datenbank arbeitettransaktionsorientiert.

Diese Gruppe von Anforderungen zeichnet Datenbanksysteme im engeren Sinne gegenüber funktional erweiterten Dateisystemen aus.

Fehler in einer Datenbank, die durch unzulässigen parallelen Datenbankzugriff auftreten, werdenAnomalien im Mehrbenutzerbetriebgenannt.

Verschiedene Formen von Datenbanksystemen

[Bearbeiten|Quelltext bearbeiten]

Grundlage für die Strukturierung der Daten und ihrer Beziehungen zueinander ist dasDatenbankmodell,das durch den DBMS-Hersteller festgelegt wird. Je nach Datenbankmodell muss dasDatenbankschemaan bestimmte Strukturierungsmöglichkeiten angepasst werden:

  • hierarchisch:Die Datenobjekte können ausschließlich in einer Eltern-Kind-Beziehung zueinander stehen.
  • netzwerkartig:Die Datenobjekte werden miteinander in Netzen verbunden.
  • relational:Die Daten werden zeilenweise in Tabellen verwaltet. Es kann beliebige Beziehungen zwischen Daten geben. Sie werden durch Werte bestimmter Tabellenspalten festgelegt.
  • objektorientiert:Die Beziehungen zwischen Datenobjekten werden vom Datenbanksystem selbst verwaltet. Objekte können Eigenschaften und Daten von anderen Objekten erben.
  • dokumentenorientiert:Die zu speichernden Objekte werden als Dokumente mit möglicherweise verschiedenen Attributen, d. h. ohne die Voraussetzung der Strukturgleichheit, gespeichert.

Es existiert eine Vielzahl von Misch- und Nebenformen, wie zum Beispiel dasobjektrelationaleModell.

Klassischerweise unterscheidet man eine Ausrichtung des Systems auf viele kleine Abfragen (OLTP) oder lang andauernder Auswertungen (OLAP). Es ist aber durchaus gängig, dass dasselbe System beiden Anforderungen gerecht werden muss und zum Beispiel tagsüber für den OLTP- und nachts für den OLAP-Betrieb „gefahren “wird. EinDatenbankadministratorarbeitet dann unterschiedliche Konfigurationen aus (Hauptspeicher des Servers, Prozess-Anzahl, Optimierungsstrategie beim Zugriff etc.).

  • Ramez Elmasri, Shamkant B. Navathe:Grundlagen von Datenbanksystemen.3. Auflage Ausgabe Grundstudium. Pearson Studium, München u. a. 2005,ISBN 3-8273-7153-8.
  • Andreas Heuer,Gunter Saake:Datenbanken. Konzepte und Sprachen.2., aktualisierte und erweiterte Auflage. mitp-Verlag, Bonn 2000,ISBN 3-8266-0619-1.
  • Alfons Kemper,André Eickler:Datenbanksysteme. Eine Einführung.7., aktualisierte und erweiterte Auflage. Oldenbourg Verlag, München u. a. 2009,ISBN 978-3-486-59018-0.
  • Michael Kofler (Autor):Datenbanksysteme: Das umfassende Lehrbuch für Ausbildung, Beruf und Studium.Rheinwerk Computing, Bonn, 2024,ISBN 978-3-3671-0015-6.
  • Thomas Kudraß (Hrsg.):Taschenbuch Datenbanken.Fachbuchverlag Leipzig im Carl.Hanser-Verlag, München 2007,ISBN 978-3-446-40944-6.Rheinwerk Computing, Bonn, 2024,ISBN 978-3-3671-0015-6.
  • T. William Olle:The Codasyl Approach to Data Base Management.Wiley, Chichester 1978,ISBN 0-471-99579-7.
  • Gottfried Vossen:Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme.5., korrigierte und ergänzte Auflage. Oldenbourg Verlag, München u. a. 2008,ISBN 3-486-27574-7.
  • M. Rohde, M. Bürger, K. Peneva, J. Mock (Hrsg):Datenwirtschaft und Datentechnologie. Wie aus Daten Wert entsteht.2022,Springer Vieweg Verlag,ISBN 978-3-662-65232-9.
Commons:Datenbanken– Sammlung von Bildern, Videos und Audiodateien
Wiktionary: Datenbank– Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen
  1. Glossar-StichwortDatenbanksystemit-visions.de.
  2. Grundlagen der Datenbankanwendungit-infothek.de.
  3. E. F. Codd:A relational model of data for large shared data banks.(Mementovom 12. Juni 2007 imInternet Archive)In:Communications of the ACM.6/13/1970. Association for Computing Machinery, S. 377–387
  4. Genealogy of Relational Database Management Systems:hpi.debeimHasso-Plattner-Institut.
  5. M. Rohde, M. Bürger, K. Peneva, J, Mock (Hrsg):Datenwirtschaft und Datentechnologie. Wie aus Daten Wert entsteht.Springer Vieweg Verlag, 2022.doi:10.1007/978-3-662-65232-9.