Datenbanksystem
Eine Datenbank ist die elektronische Form eines Karteikastens. Es handelt sich um eine Sammlung von Daten, die aus der Sicht des Benutzers zusammengehören, z. B. eine Personaldatenbank oder eine Lagerinventardatenbank. Es gibt hierarchische, relationale, multidimensionale und objektorientierte Datenbanken. Die Datenbank wird üblicherweise von einem Datenbankverwaltungssystem (DBMS) verwaltet. Ein DBMS zusammen mit einer oder mehreren Datenbanken nennt man Datenbanksystem (DBS).
Datenbanksysteme sind heutzutage das Rückgrat jedes größeren Softwaresystems. Egal ob Webshop, Finanzbuchhaltung oder Wikipedia, überall steht ein DBMS dahinter.
Das grundlegende Element einer Datenbank ist der Datensatz (er entspricht einer Karteikarte). Aus einer gewissen Anzahl von Datensätzen wird eine Tabelle oder Liste gebildet. Mehrere Tabellen, die zu einer Gesamtheit zusammengefasst und untereinander verknüpft werden, sind dann eine Datenbank.
Beispiel
Eine einfache Datenbank in einer Bibliothek könnte so aussehen:
- Tabelle aller Bücher
- Tabelle aller Kunden
- Tabelle aller Mitarbeiter (Datenbank-User, Bearbeiter)
- Tabelle aller Verleihvorgänge
Durch Verwendung der Buch-Signaturen aus der ersten Tabelle und der Kundennummern aus der zweiten Tabelle kann in der vierten Tabelle festgestellt werden, welches Buch an welchen Kunden ausgeliehen ist. Hier weist man dann jedem Datensatz einen Status (Vorbestellung, Verleih, Statistik) zu, den er durchläuft. "Statistik" meint hier die zurückgebuchten (abgeschlossenen) Verleihvorgänge. Aus der dritten Tabelle kann man jedem Verleihvorgang einen Bearbeiter zuordnen.
Eigenschaften
Von einer Datenbank kann man dann sprechen, wenn sie folgende Eigenschaften hat:
- Sie enthält eine große Menge von Daten über einzelne Dinge, Personen etc. unserer Umwelt.
- Diese Daten sind nach bestimmten Merkmalen und Regeln erfasst, geordnet und abgelegt.
- Der Zugriff auf die Daten und deren Änderung ist ohne großen Aufwand für autorisierte Personen möglich.
Es gibt verschiedene Typen von Datenbanken, darunter
- indexsequentielle Datenbanken (ISAM)
- relationale Datenbanken
- postrelationale Datenbanken (Cache)
- objektorientierte Datenbanken
- objektrelationale Datenbanken (ORDB)
- multidimensionale Datenbanken
- hierarchische Datenbanken
- Netzwerkdatenbanken
Geschichte
Die erste Generation waren Lochkarten, welche jedoch unpraktisch, langsam und fehleranfällig waren. Ein weiterer Nachteil war, dass man sie sequentiell hintereinander lesen musste, was zur Folge hatte, dass alle Informationen die vor der Gesuchten standen, ausgelesen und verarbeitet werden mussten. Diese wesentlichen Einschränkungen machten das System nicht gerade populär.
Die zweite Generation der Datenbanken wurde ca. 1960 entwickelt. Zu diesem Zeitpunkt begann man, die Daten auf Festplatten zu halten, was einen großen Performance-Vorteil mit sich brachte. Das machte auch Features wie Mehrbenutzerbetrieb und parallelen Zugriff möglich.
Zwischen 1965 und 1975 wurde die dritte Generation der Datenbanken entwickelt welche die Implementierung von Datenmodellen ermöglichte. Hierbei gab es hierarchische Modelle oder auch Netzwerkdatenbanken.
Vorgänger der relationalen Datenbanken 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. Eine noch häufig eingesetzte Netzwerkdatenbank ist IDMS der Firma Computer Associates.
Relationale Datenbanken sind heute am weitesten verbreitet. In ihnen werden Daten (Texte, Zahlen und Binärdaten) in Tabellen abgespeichert. Diese Tabellen sind mathematisch und datenbanktechnisch gesehen Relationen, daher der Name.
Damit die Datensätze eindeutig identifiziert werden können, muss ein eindeutiger Primärschlüssel vergeben werden. Zum schnelleren Auffinden der Daten werden Indizes über bestimmte Spalten, so genannte Schlüsselspalten, erzeugt. Eine relationale Datenbank besteht nicht nur aus einer Tabelle, sondern aus vielen, die miteineinander verknüpft sind. Diese Verknüpfungen werden Beziehungen genannt. Die Beziehung geschieht immer über einen Schlüssel, der eine Tabellenzeile und damit eine Informationsmenge eindeutig charakterisiert - z. B. eine Postadresse. Der Schlüssel könnte hier die Kundennummer sein. Über die Beziehung können nun andere Informationen in anderen Tabellen dazu aufgesucht werden, z. B. Rechnungen, Briefe, Behandlungen usw., ohne dass diese spezifische Konstellation an Informationen in einer ebenso spezifischen Tabelle stehen müsste.
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 ein objektorientiertes Datenbankverwaltungssystem 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 als in Relation mit einem Straßennamen und sind selbst Objekte, die zueinander eine Beziehung haben.
Begriffserklärungen
Eine Tabelle ist eine Zusammenfassung einer Anzahl von Datensätzen mit gleicher Struktur, vergleichbar einem Karteikasten. z. B. Adresstabelle: Name, Vorname, Straße, Hausnummer, Ort, Telefonnummer
Alle Informationen, die zusammen einen Datensatz (Entität, Record) ausmachen, sind als eine Zeile der Tabelle realisiert. Man kann den Datensatz als Zeile anschauen oder übersichtlicher als Formular auf einer Seite darstellen. Ein Datensatz ist vergleichbar mit einer Karte aus einem Karteikasten.
Ein (Daten-) Feld ist ein Teil eines Datensatzes, z. B. in einer Adresstabelle das Feld mit dem Nachnamen. In Feldern können sich Daten unterschiedlichster Art befinden, z. B. Text, Zahlen, Daten, Bilder, etc. Ein Feld ist vergleichbar einer Zeile auf einer Karte eines Karteikastens. Hierbei werden Schlüssel und Attribute unterschieden. Der Schlüssel dient zum Identifizieren und Verknüpfen von Datensätzen, Attribute enthalten vom Schlüssel abhängige Daten. (Beispiel: Personalnummer ist Schlüssel; Eintrittsdatum und Geburtsdatum sind Attribute).
Eine Abfrage dient der Ansicht einer oder mehrerer verknüpfter Tabellen bzw. Teilen davon. Das Ergebnis ist wiederum eine (temporäre) Tabelle, die nach bestimmten Kriterien gefiltert sein kann. Bei Karteikästen entspräche eine Abfrage der Auswahl einiger Karten nach bestimmten Kriterien, z. B. alle Kunden die mit A beginnen und daneben alle Karten der vom jeweiligen Kunden geliehenen Büchern.
Simple Abfragen sind z. B. Befehle zum alphabetischen Ordnen oder die Filterungen nach bestimmten Kriterien.
Üblicherweise werden Abfragen in der Abfragesprache SQL erstellt. Abfragen können bei den meisten DBMS auch ohne Wissen über SQL mit den jeweiligen Hilfsprogrammen erstellt werden.
Die aufbereitete Ansicht und/oder Zusammenfassung mehrerer Abfragen, dann letztendlich in Papierform, nennt man Report oder Bericht. Berichte oder Reports können mittels vom Hersteller mitgelieferter (bzw. in das DBMS integrierter) oder von Fremdherstellern gelieferter Software erzeugt werden. Diese Berichtsgeneratoren sind aber nicht Bestandteil des eigentlichen DBMS.
Verschiedene Datenbankverwaltungssysteme
- 4th Dimension oder 4D, eine Entwicklungsumgebung für Mac OS und Windows
- Access wurde von der Firma Microsoft gekauft und zu MS-Access gemacht
- Adabas wurde von der Software AG entwickelt, Siehe http://www.softwareag.com/adabas/default.htm
- AskSam, eine Kombination von Datenbank und Textverarbeitung mit vielen innovativen Eigenschaften
- Caché, postrelationale Datenbank der Firma intersystems
- Conzept16
- DB1
- DB2, aktuelle Version 8.1
- dBase war die meistverbreitete Datenbank für DOS, wurde für Windows zu Visual dBase
- FileMaker ursprünglich von Claris, eine sehr benutzerfreundliche relationale Datenbank, funktioniert mit der gleicher Software sowohl unter Mac OS, wie auch unter Windows, die neueste Version ist 7.0
- Firebird
- FoxBase wurde von der Microsoft gekauft und zu MS FoxPro gemacht, bis zu Version 2.6 für DOS und Windows.
- Gupta SQLBase, aktuelle Version 8.5
- IDMS
- IMS
- Ingres
- InterBase
- MaxDB
- MS Access, ein Teil des MS Office, aktuelle Version 2003 (bzw. XP)
- MS Visual FoxPro, die derzeit aktuelle Version ist 8.0
- MS SQL-Server, aktuelle Version 2000 (8.0)
- Sybase, eine frühere Version wurde von Microsoft gekauft und zu MS SQL-Server gemacht.
- MySQL Der im Internet am häufigsten verwendete Datenbankserver
- Oracle, aktuelle Version 10g
- Paradox wurde von Borland entwickelt, später von Corel (Word Perfect Suite) weitergeführt
- PostgreSQL
- SAP DB
- Tamino, eine XML-Datenbank, wurde auf der Basis von Adabas durch die Software AG entwickelt, Siehe http://www.softwareag.com/tamino/
- Tdbengine
- Teradata, eine sehr leistungsfähige Datenbank der Firma NCR. Wird für große Datenmengen, sog. Data Warehouse verwendet.
- Visual dBase, die letzte Version war 5.0, dann verschwand dBase vom Markt
Siehe auch
- CSV-Datei
- Datenbankmodell
- Datenmodell
- XML-Datenbank
- Medizinische Datenbank
- Molekularbiologische Datenbanken
- Mehrrechnerdatenbanken
Literatur
- Helmut Eirund, Ullrich Kohl: Datenbanken, leicht gemacht. Ein Arbeitsbuch für Nicht-Informatiker. Informatik & Praxis. 2000. ISBN 3-519-02644-9
- Alfons Kemper, André Eickler: Datenbanksysteme. Oldenbourg Verlag, München, ISBN 3-486-25706-4
- G.Vossen: Datenmodelle, Datenbanksprachen und Datenbank-Management-Systeme. Oldenbourg Verlag, München, 2000
Weblinks
- http://www.itse-guide.de/artikel/1 - Grundlagen Datenbanken
- http://www.madeasy.de/2/datbank.htm
- http://home.t-online.de/home/AundG.Hofmann/ck26.htm
- http://www.tutorials.de/tutorials5662.html
- http://www.ipd.uka.de/~schmitt/DBI/Folien_html/All.html - Datenbanktheorie
- http://www.meddb.info - Medizinische und Molekularbiologische Datenbanken
- Datenbank-Entwickler Wiki