Anzeige

gulli:Toolbox

gulli:lexikon - Alle Begriffe der Untergrund-Szene

Tipp: Benutze die Suche, um weitere Begriffe im gulli:lexikon nachzuschlagen.

Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen, bedarfsgerechten Darstellungsformen für Benutzer und Anwendungsprogramme bereitzustellen.

Ein DBS besteht aus zwei Teilen: der Verwaltungssoftware, genannt Datenbankmanagementsystem (DBMS) und der Menge der zu verwaltenden Daten, der eigentlichen Datenbank (DB). Die Verwaltungssoftware organisiert intern die strukturierte Speicherung der Daten gemäß einem vorgegebenen Datenbankmodell (z.B. dem relationalen Datenbankmodell) und kontrolliert alle lesenden und schreibenden Zugriffe auf die Datenbank. Als externe Schnittstelle stellt sie eine Datenbanksprache zur Formulierung von Abfragen, zum Einfügen und Ändern von Daten und für administrative Befehle zur Verfügung. Die Datenbank enthält zusätzlich zu den eigentlichen Daten noch die Beschreibung der Daten, den so genannten Datenkatalog.

Die in der Wikipedia verwendete Software arbeitet zum Beispiel mit einem Datenbanksystem.

Neben der ursprünglichen Bedeutung in der elektronischen Datenverarbeitung, die in diesem Artikel behandelt wird, wird der Begriff Datenbank heute auch für Sammlungen von Daten verwendet, die nicht elektronisch vorliegen. Mit rechtlichen Aspekten solcher Datenbanken im allgemeinen Sinn beschäftigt sich das Datenbankrecht. Ob durch die bloße Ansammlung von Daten eigenständige Schutzrechte entstehen können, ist umstritten und in verschiedenen Ländern unterschiedlich geregelt.

Inhaltsverzeichnis

Verwendung

Beispiele

  • Alle Banken und Versicherungen arbeiten mit Datenbanksystemen, in der Regel mit den relationalen DBMS Oracle oder IBM DB2/UDB. Im Datenbanksystem sind alle Konteninformationen und Buchungen strukturiert abgelegt. In diesem Einsatzumfeld haben Datenschutz und Datensicherheit höchste Priorität. Datenbanksysteme von Banken und Versicherungen werden zum Tagesgeschäft (OLTP) und periodisch für Massendrucksachen, Analysen und ähnliches verwendet (OLAP).
  • Die vollständige Automatisierung von Lagerbeständen macht eine manuelle Verwaltung heute unmöglich. Der Verlust einer Lagerdatenbank kann somit das Unternehmen in sehr kurzer Zeit finanziell ruinieren, da georderte Produkte nicht ausgeliefert werden können und es Monate dauern würde, die Bestände erneut zu inventarisieren.
  • Faktisch alle mittelständischen Unternehmen und Großkonzerne arbeiten zur Ressourcenplanung mit ERP-Systemen, deren Datenteil in Form von Datenbanksystemen vorliegt.
  • Dieser Artikel in seiner in der Wikipedia vorliegenden Fassung wird neben allen anderen dort enthaltenen Artikeln durch ein Datenbanksystem verwaltet (Wikipedia-Technik).
  • Marktforschungsinstitute tragen eigene und Fremddaten in Data Warehouses (Datenlagern) zusammen.

Bedeutung

Datenbanksysteme sind heute ein zentraler Bestandteil fast jedes Software-Systems. Damit stellen sie einen kritischen Teil vieler Unternehmen und Behörden dar. Von der Verfügbarkeit, Vollständigkeit und Richtigkeit der Daten hängt die Aktionsfähigkeit eines Unternehmens ab. Die Datensicherheit ist daher ein wichtiger und gesetzlich vorgeschriebener Bestandteil der IT eines Unternehmens oder einer Behörde.

Geschichte

Ausgehend von Problemen bei der Verarbeitung herkömmlicher Dateien wurde in den 1960er Jahren das Konzept eingeführt, Daten durch eine Software-Schicht 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.

Eines der ersten großen DBMS war IMS mit der Sprache DL/I (Data Language One), ein hierarchisches Modell. Parallel dazu definierte CODASYL ein Modell für netzwerkartige Datenbanken.

Einen wesentlichen Fortschritt erzielte in den 1960er und 1970er Jahren Edgar F. Codd mit seiner Forschungsarbeit am IBM Almaden Research Center. Codd entwickelte die Grundlagen des ersten experimentellen relationalen Datenbanksystems System R <ref name="Codd">E. F. Codd: A relational model of data for large shared data banks. In: Communications of the ACM. 6/13/1970. Association for Computing Machinery, S. 377–387</ref> . Die Berkeley Group folgte mit Ingres und der Abfragesprache QUEL.

Oracle (damals noch unter den Firmennamen SDL und RSI) verwertete die Ergebnisse des System R und führte SQL zum kommerziellen Erfolg. IBM folgte mit SQL/DS und DB2. Die relationalen Datenbanksysteme verdrängten in den 1980ern die hierarchischen und netzwerkartigen Systeme und der Großteil der Behörden, Konzerne, Institute und mittelständischen Unternehmen stellte seine IT auf Datenbanksysteme um.

Während in den 1990ern wenige kommerzielle Hersteller von Datenbank-Software faktisch den Markt beherrschten (namentlich IBM, Informix, Microsoft mit SQL Server und Oracle), erlangen in den 2000ern die Open-Source-Datenbankmanagementsysteme eine immer größere Bedeutung. Vor allem MySQL und PostgreSQL erzielten signifikante Marktanteile. Als Reaktion bieten die führenden kommerziellen Hersteller gebührenfreie Versionen ihrer Datenbank-Software an.

Komponenten eines Datenbanksystems

Das Datenbanksystem ist das ausgeführte DBMS zusammen mit den zu verwaltenden Daten, der Datenbank. Ein DBS gewährleistet die persistente Speicherung sowie die Konsistenz der Nutzdaten einer Institution und bietet mit dem DBMS eine Schnittstelle zur Abfrage, Manipulation und Verwaltung dieser Daten.

Datenbankmanagementsystem

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.

Die Auswahl des gewünschten DBMS ist eine kritische Entscheidung.

Für Datenbankmanagementsystem wird (selten) auch der Begriff Datenbankverwaltungssystem (DBVS) verwendet.

Gängig ist die Abkürzung RDBMS für ein relationales Datenbankmanagementsystem.

Datenbank

In der Theorie versteht man unter Datenbank (engl. database) 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.

Einzelne DBMS-Hersteller verwenden geringfügig voneinander abweichende Begrifflichkeiten dafür, was man genau unter einer Datenbank versteht: entweder alle Daten, die von einem laufenden DBMS bzw. der Instanz verwaltet werden, oder nur die jeweils inhaltlich zusammengehörigen Daten. Bei verteilten Datenbanken gibt es auch im Modell mehrere Datenbanken auf unterschiedlichen Systemen, die miteinander verbunden sind.

Anforderungen

Ein Datenbanksystem muss im Gegensatz zur herkömmlichen Dateiverarbeitung den folgenden Anforderungen genügen:

Strukturierung und Integrität

  • Das DBS erlaubt die Verwaltung von strukturierten Daten.
    • Die Strukturierung selbst ist Aufgabe der Datenmodellierung, es entsteht das Schema, in dem die Daten vorliegen.
    • Die interne Speicherung (internes Schema, Datenbank) ist zweitrangig und wird vom DBMS gesteuert.
    • Für Anwendungssysteme lassen sich Sichten auf das Schema definieren, die ebenfalls vom DBMS umgesetzt werden.
  • Das System soll durch eine geeignete zentrale Struktur Doppelspeicherungen (Redundanzen) vermeiden.
  • Das DBS erlaubt die logische Trennung von Anwendungsprogramm und Datenspeicher. Diese Anforderungen sind anschaulich in der ANSI-SPARC-Architektur beschrieben.
  • Ein DBS überwacht aktiv Regeln zur Gewährleistung der Datenintegrität.
    • Es lehnt falsche (ungültige) Verweise auf Daten ab (Referenzielle Integrität).
    • Es achtet auf korrekte Wertebereiche (zum Beispiel bei Prozentwert zwischen 0 und 100).

Sprachen

  • Das DBS stellt als Schnittstelle eine Datenbanksprache fü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 die drei Kategorien in einer Sprache (SQL) vereint, bei anderen Systemen existiert aber durchaus eine Trennung in Form unterschiedlicher Sprachen.

Mehrbenutzerfähigkeit

  • Für den Zugriff auf die Daten des DBS 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 werden Sperren (engl. locks) verwaltet.
    • Es werden Systemprotokolle (engl. logs bzw. log files) verwaltet.
    • Das DBS arbeitet transaktionsorientiert.

Diese Gruppe von Anforderungen zeichnet Datenbanksysteme im engeren Sinne gegenüber funktional erweiterten Dateisystemen aus. In Microsoft Access mit Verwendung der in Windows enthaltenen Microsoft Jet Engine kann beispielsweise jeder Anwender durch einfaches Überschreiben der .mdb-Dateien das System unbrauchbar machen.

Betrieb

  • Ein DBS verwaltet neben den Nutzdaten Daten über das DBS selbst, also Daten über die Daten (Metadaten), zum Beispiel eine Liste aller Tabellennamen einer relationalen Datenbank. Diese Daten sind von der Administration oder anderen Berechtigten abfragbar. Metadaten werden in einem so genannten Datenkatalog oder auch Data Dictionary gehalten.
  • Ein DBS arbeitet mit Datensicherung und Wiederherstellung (Backup und Recovery).
  • Ein DBS kann Daten im- oder exportieren.
  • Ein DBS kann mit anderen DBS verbunden werden (verteilte Datenbanksysteme).
  • Ein Datenbanksystem arbeitet auch bei großen Datenmengen mit akzeptabler Antwortzeit und hohem Durchsatz.

Für den Betrieb von DBS ist die Berufsgruppe der Datenbank-Administratoren (DBA) zuständig.

Eigenschaften eines DBMS

Die wesentlichen Eigenschaften eines Datenbankmanagementsystems lassen sich wie folgt beschreiben:

  • Speichern der Daten
  • Verwaltung der Metadaten
  • Datensicherheit
  • Mehrbenutzerbetrieb durch Transaktionen
  • Sicherstellen der Datenintegrität
  • Anfrageoptimierung
  • Bereitstellen von Indizes
  • Bereitstellung von Triggern
  • Stored Procedures

Datensicherheit

Das RDBMS speichert die relationalen Daten auf einem Speichermedium. Neben den eigentlichen Daten werden ebenfalls Informationen über die Datenschemata und Zugriffsrechte von Benutzern gespeichert. Letztere sind wichtig, um die Datensicherheit zu garantieren. Dazu gehört sowohl Schutz gegen Datenverlust sowie Schutz gegen unerlaubten Zugriff. Die Metadaten eines DBMS werden auch als das Data Dictionary oder Katalog des Systems bezeichnet.

Ein weiterer wichtiger Aspekt von Datenbanken ist das Sichern des Datenbestandes durch Backups. 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.

Transaktionen

Ein weiterer wichtiger Teil der Datensicherheit ist das Transaktionskonzept, das Daten gegen Race Conditions durch 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. Vereinfacht dargestellt, sperren Transaktionen Daten vorübergehend für den Zugriff durch andere Benutzer, bis eine Transaktion durch einen Commit beendet wird. Danach werden die geänderten Daten wieder freigegeben.

Datenintegrität

Die Integrität der Daten kann durch Constraints sichergestellt werden. Dies sind Regeln im Managementsystem, die beschreiben, wie Daten verändert werden dürfen. Der wichtigste Vertreter bei relationalen Datenbanksystemen ist der Foreign Key Constraint. Dieser verhindert, dass Daten gelöscht werden können, die noch von einer anderen Tabelle benötigt werden. Das sind Daten, die über einen Foreign Key referenziert werden.

Anfrageoptimierung

Bild:Datenbankoperatoren.png
Ausführungsplan in Form eines Operatorbaums

Damit Daten abgefragt und manipuliert werden können, stellt das DBMS eine Datenbanksprache zur Verfügung. Eine Anfrage an das Datenbanksystem wird dabei zunächst in die logischen Operationen der relationalen Algebra übersetzt. Danach werden sogenannte Datenbankoperatoren ausgewä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 den Anfrageoptimierer. Der Optimierer ist ein besonders komplexer Teil der Datenbanksoftware und hat wesentlichen Einfluss auf die Effizienz des Gesamtsystems.

Bei der Anfrageoptimierung spielen Indizes eine 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

Zur Unterstützung von Datenbankapplikationen bieten Datenbanksysteme Trigger und Stored Procedures an. Ein Trigger löst eine Aktion in der Datenbank aus, wenn ein bestimmtes Ereignis eingetreten ist, häufig bei Einfüge- oder Änderungsoperationen. Stored Procedures dienen dem Ausführen von Scripten in der Datenbank. Da Stored Procedures innerhalb des Datenbanksystems ausgeführt werden, sind sie oft der effizienteste Weg, Daten zu manipulieren.

Klassifizierung

Datenbankmodell

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

  • hierarchisch: Die Datenobjekte können ausschließlich in einer Eltern-Kind-Beziehungen 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.

Es existiert eine Vielzahl von Misch- und Nebenformen, wie zum Beispiel das objektrelationale Modell.

Ausrichtung

Klassischerweise unterscheidet man eine Ausrichtung des Systems auf viele kleine Anfragen (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. Die DBA arbeitet dann unterschiedliche Konfigurationen aus (Hauptspeicher des Servers, Prozess-Anzahl, Optimierungsstrategie beim Zugriff etc.).

Siehe auch

Literatur

  • A. Heuer, G. Saake: Datenbanken Konzepte und Sprachen mitp-Verlag 2000, ISBN 978-3826606199
  • Alfons Kemper, André Eickler: Datenbanksysteme. Oldenbourg Verlag, 6., aktualis. u. erw. Aufl. ISBN 978-3-486-57690-0
  • R. Elmasri, S. B. Navathe: Grundlagen von Datenbanksystemen. Ausgabe Grundstudium. Pearson Studium 2005, ISBN 978-3827371539
  • T. William Olle: The Codasyl Approach to Data Base Management. Wiley, 1978, ISBN 0471995797

Weblinks

Quellen

<references />af:Databasis ar:قاعدة بيانات az:Verilənlər bazası be:База дадзеных be-x-old:База дадзеных bg:База данни br:Stlennvon bs:Baza podataka ca:Base de dades cs:Databáze da:Database el:Βάση δεδομένων en:Database eo:Datumbazo es:Base de datos et:Andmebaas eu:Datu-base fa:دادگان fi:Tietokanta fr:Base de données ga:Bunachar sonraí gl:Base de datos he:בסיס נתונים hi:डेटाबेस hr:Baza podataka hu:Adatbázis ia:Base de datos id:Basis data is:Gagnagrunnur it:Database ja:データベース ka:მონაცემთა ბაზა ko:데이터베이스 lt:Duomenų bazė lv:Datu bāze ml:ഡാറ്റാബേസ് ms:Pangkalan data nl:Database no:Database pl:Baza danych pt:Banco de dados ro:Bază de date ru:База данных si:දත්ත සමුදාය simple:Database sk:Databáza sl:Podatkovna baza sq:Baza e të dhënave sr:База података sv:Databas ta:தரவுத்தளம் th:ฐานข้อมูล tl:Database tr:Veri tabanı uk:База даних uz:Ma'lumotlar Bazasi vi:Cơ sở dữ liệu zh:数据库

Dieser Artikel basiert auf dem Artikel Datenbank aus der freien Enzyklopädie Wikipedia und steht unter der GNU-Lizenz für freie Dokumentation. In der Wikipedia ist eine Liste der Autoren verfügbar.

© Copyright 2008 gulli.com  | home | sitemap | kontakt | impressum | Partner | downloads |