Datenbankmanagementsystem

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 7. Juli 2005 um 12:14 Uhr durch MarkVZ (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Ein Datenbankmanagementsystem (DBMS) (deutsch: Datenbankverwaltungssystem) ist eine Sammlung von Programmen, die die anwendungsunabhängige, dauerhafte Speicherung von Daten in einer Datenbank ermöglicht und die damit verbundene Verwaltung übernimmt. Weitere Aufgabe eines DBMS ist die Bereitstellung von verschiedenen Sichten auf die Daten (im englischen als Views bezeichnet), die Konsistenzprüfung der Daten (Integritätssicherung), die Autorisationsprüfung, die Behandlung gleichzeitiger Zugriffe verschiedener Benutzer (Synchronisation) und das Bereitstellen einer Datensicherungsmöglichkeit für den Fall von Systemausfällen.

Etwas missverständlich bezeichnet man ein Datenbankmanagementsystem oft abkürzend ebenfalls als Datenbank.


DBMS und Datenbank sind aber getrennt zu sehen und ergeben gemeinsam das Datenbanksystem. (DBS = DBMS + DB)


Ein DBMS steht im Mittelpunkt bei der Realisierung eines betrieblichen Informationssystems.

Zur Arbeit in einem Datenbankverwaltungsystems werden Transformationssprachen verwendet. Als Standardsprache hat sich SQL etabliert.

SQL läßt sich in vier eigenständige Sprachschichten unterteilen:

Datenbankverwaltungssysteme unterscheiden sich in ihrer Qualität unter anderem darin, ob sie die ACID-Eigenschaften für Transaktionen implementieren.


Relationale Datenbankmanagementsysteme (RDBMS, RDBVS)

Die heute meistbenutzten DBMS basieren auf dem relationalen Datenmodell, das im Jahre 1969 von E. F. Codd entwickelt wurde. Folglich wird diese Variante auch als Relationales Datenbankmanagementsystem (RDBMS, teilweise auch RDBVS) bezeichnet. Siehe auch Relationale Datenbank.

Weitere Typen von Datenbankmanagementsystemen

Vorgänger der relationalen Datenbanksystemen waren die hierarchischen Datenbanken. In ihnen wurden die Datensätze in einer Baumstruktur nach dem Eltern-Kind-Prinzip abgelegt. Die großen Nachteile von hierarchischen Datenbanken waren, dass Verknüpfungen über mehrere Ebenen nicht möglich waren, und der große Aufwand bei Designänderungen. Auch fehlt eine standardisierte, sprachunabhängige Abfragemöglichkeit wie SQL. Ein Beispiel für eine hierarchische Datenbank ist IMS.

Im Gegensatz zu hierarchischen Datenbanken können die Datensätze in Netzwerkdatenbanken auf mehreren Wegen verknüpft sein und nicht nur entlang Eltern-Kind-Relationen. Ein noch häufig eingesetztes Netzwerkdatenbanksystem ist IDMS der Firma Computer Associates.

In neuerer Zeit kommen Objektorientierte Datenbanken immer mehr auf. Bei relationalen Datenbanken geht es zuerst um die Struktur, in der die jeweiligen Daten gespeichert werden sollen. Objektorientierte Datenbanken dagegen folgen der objektorientierten Programmiermethode (siehe objektorientierte Programmierung), d. h. es kommen erst die Daten, an denen sich die Datenbankstruktur dann orientiert. Ein Beispiel für eine objektorientierte Datenbank ist Caché von Intersystems.

Objektrelationale Datenbanksysteme (ORDBMS) sind ein Bindeglied zwischen klassischen relationalen und objektorientierten Datenbanken. Sie kommen überall dort zum Einsatz, wo Mengen von Objekten in Relation zu anderen Daten oder Objekten gebracht werden müssen. Ein Einsatzgebiet sind unter anderem Systeme zur Erfassung geographischer Daten (GIS), bei denen Koordinaten miteinander verknüpft sind oder andere Daten referenzieren. Beispielsweise referenzieren mehrere Koordinaten-Objekte eine Straße; die Koordinaten stehen also in Relation mit einem Straßennamen und sind selbst Objekte, die zueinander eine Beziehung haben.

Verteilte Datenbanken sind in der Lage Daten zu verwalten, die auf mehrere Rechner verteilt sind. Dabei spricht man von Partitionen (die Datensätze einer Tabelle sind auf mehrere Rechner verteilt) und von Replikas (die Datensätze einer Tabelle kommen auf mehreren Rechnern redundant vor).

Geschichte

Relationale Datenbankmanagementsysteme (RDBMS)

Das erste experimentelle relationale Datenbankmanagementsystem (RDBMS) wurde im Laufe der 1970er Jahre unter dem Namen System R bei der Firma IBM entwickelt. Dabei wurde entdeckt, dass die gleichzeitig entstandenen B-Bäume die optimale Indexstruktur für RDBMS darstellen.

Im Laufe der 1980er Jahre begannen sich die ersten kommerziellen RDBMSe wie Oracle, DB2, Ingres und Informix durchzusetzen.

Die relationale Datenbank im PC-Bereich schlechthin war lange Zeit dBase, das von AT&T aufgekauft und dann weiterentwickelt wurde. dBase wurde später von der Firma Borland gekauft. Die dBase-Abfragesprache hatte lange Zeit fast ebenso große Bedeutung wie heute SQL. Sie war in den Anfangsjahren eine "Killerapplikation" für den IBM-PC. Beispiele für relationale Datenbankverwaltungssysteme heute sind DB2, Interbase, Microsoft Access, Microsoft SQL Server, Oracle, MySQL und PostgreSQL.

Bekannte Datenbankmanagementsysteme

Auf vielen Betriebssystemen verfügbar (GNU/Linux, Windows, Unix, Solaris etc.)

  • IBM DB2, eine der großen SQL-Datenbanken. Neben den genannten Betriebssystemen ist DB2 auch auf OS/400, iSeries und z/OS, zSeries verfügbar, jedoch regelmäßig mit anderer Versionsnummer
  • Oracle, zusammen mit IBM´s DB2 der Marktführer bei kommerziellen Datenbanken
  • PostgreSQL (BSD Open Source), die fortschrittlichste Open-Source-Datenbank. Es umfasst deutlich mehr an Funktionalität als beispielsweise MySQL.
  • MySQL (GPL Open Source), die beliebteste Open-Source-Datenbank, insbesondere für Web-Anwendungen genutzt (steht nur bei der Verwendung mit GPL Anwendungen selber unter der GPL http://www.mysql.de/products/licensing.html ). MySQL unterstützt bisher nicht alle vom SQL-Standard geforderten Sprachelemente und ist noch nicht vollständig transaktionsfähig. Für kleine bis mittlere Anwendungen, die diese Eigenschaften nicht erfordern, ist MySQL aber sehr verbreitet, unter anderem benutzt die Wikipedia eine MySQL-Datenbank.
  • MaxDB (früher SAP DB) (GPL Open Source), ursprünglich ein Abkömmling von Adabas D der Software AG, Darmstadt, danach von SAP weiterentwickelt. Seit Mitte 2003 in Zusammenarbeit mit der Firma MySQL AG zu MaxDB entwickelt, um die Qualität dieser Datenbank mit der Beliebtheit von MySQL zu kombinieren.
  • InterBase, und das darauf aufbauende Firebird. Verhältnismäßig unbekannt, in der Leistungsfähigkeit jedoch mit PostgreSQL und MaxDB vergleichbar.

DOS/Windows-Datenbanken

  • dBase ist ein klassisches Datenbanksystem unter MS-DOS. Die Dateien sind an der Endung .DBF oder .DBT zu erkennen. Das DBF-Dateiformat erfreut sich heute noch gelegentlich einiger Beliebtheit, während dBase auch in seiner Windows-Version jegliche Bedeutung verloren hat. Aus heutiger Sicht ist dBase kaum noch mit einem Datenbanksystem zu vergleichen da die heutige Systeme, wie auch das Verständnis des Datenbanksystems, sich stark weiterentwickelt haben.
  • Microsoft Access ist eine Datenbank unter Microsoft Windows. Da es sich um ein Dateidatenbanksystem handelt, sind neben allen Tabellen auch gespeicherte Formulare und Abfragen in einer einzigen Datei verfügbar. Access-Datenbankdateien sind an der Endung MDB zu erkennen. Das Dateiformat hat oft gewechselt, was für die längerfristige Speicherung der Daten Probleme bereitet. Für Anwendungen mit mehr als zehn gleichzeitigen Benutzern eignet sich Access meist nur als Front-End zum Zugriff auf die Daten einer leistungsfähigeren SQL-Datenbank. Access dient dabei allerdings nur als Frontend zum Zugriff auf die Microsoft Jet- Engine, welche die eigentliche Verwaltung der Datenbank vornimmt. Über ActiveX können mit jeder Microsoft-Applikation eigenständig Datenbanken erstellt, bearbeitet und verwaltet werden. Da separate Transaktionsprotokolle fehlen, sind sowohl die Datenrevision als auch die inkrementelle Sicherung unmöglich, was die professionelle Nutzung unmöglich macht.
  • Microsoft SQL Server ist das von Microsoft für den professionellen Einsatz unter Windows-Server-Betriebssystemen entwickelte Datenbankverwaltungssystem

Siehe auch