„Datenbankmanagementsystem" – Versionsunterschied
Version vom 18. Dezember 2004, 21:05 Uhr
Ein Datenbankverwaltungssystem (DBVS) (engl. database management system, daher auch DBMS) 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 DBVS 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 Datenbankverwaltungssystem oft abkürzend ebenfalls als Datenbank.
DBVS und Datenbank sind aber getrennt zu sehen und ergeben gemeinsam das Datenbanksystem.
Ein DBVS 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:
- Data Definition Language (DDL) zur Definition des Datenbankschemas (Satzbeschreibung).
- Data Query Language (DQL) zur Datenabfrage.
- Data Manipulation Language (DML) zur Datenmanipulation (Änderungen, etc.).
- Data Control Language (DCL) zur Kontrolle der Datenbank-Ressourcen.
Datenbankverwaltungssysteme unterscheiden sich in ihrer Qualität unter anderem darin, ob sie die ACID -Eigenschaften für Transaktionen implementieren.
Relationale Datenbankverwaltungssysteme (RDBVS, RDBMS)
Die heute meistbenutzen DBVS basieren auf dem relationalen Datenmodell, das im Jahre 1969 von E. F. Codd entwickelt wurde. Folglich wird diese Variante auch als Relationales Datenbankverwaltungssystem (RDBVS, englisch RDBMS) bezeichnet. Siehe auch Relationale Datenbank.
Weitere Typen von Datenbankverwaltungssystemen
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 - bedingt durch die Baumstruktur - die langen Suchzeiten beim Auffinden eines bestimmten Datensatzes. 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.
Geschichte
Relationale Datenbankverwaltungssysteme (RDBMS)
Das erste experimentelle relationale Datenbankverwaltungssystem (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 Datenstruktur 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 Datenbankverwaltungssysteme
Auf vielen Betriebssystemen verfügbar (GNU/Linux, Windows, Unix, Solaris, OS/400, etc.)
- IBM DB/2, eine der großen SQL-Datenbanken
- Oracle, einer 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.
- 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 10 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.
- Microsoft SQL Server ist das von Microsoft für den professionellen Einsatz unter Windows-Server-Betriebssystemen entwickelte Datenbankverwaltungssystem
Weitere Systeme
- Adabas
- Adabas D (Vorgänger von MaxDB)
- Caché, postrelationale Datenbank der Firma intersystems
- Conzept16
- IDMS
- IMS, hierarchisches Datenbank-System von IBM
- Ingres
- FileMaker
- FilePro
- Rdb, relationale Datenbank der Firma DEC. Die DB wurde von Oracle übernommen.
- Solid
- Hyperwave
- Sybase
- Gupta
- Informix, inzwischen in den Händen von IBM
- Progress, kein Staubsauger, sondern eine Datenbank mit einer eigenen Programmentwicklungsumgebung
- ODBCUnix
- Clipper_DBMS, heute fast ohne Bedeutung
- Paradox, war mal ein Konkurrent von dBase
- tdbengine, winziges, aber sehr leistungsstarkes CGI RDBMS, welches ohne SQL auskommt.