Datenbank
Datenbanksysteme sind heutzutage das Rückgrat jedes größeren Softwaresystems. Egal ob Webshop, Finanzbuchhaltung oder Wikipedia, überall steht ein DBMS dahinter. Die Daten können im Rahmen einer Erstbefüllung, Projektierung, Konvertierung oder Migration in das Datenbanksystem gelangen.
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.
| Inhaltsverzeichnis |
|
2 Datenbanktypen 3 Geschichte 4 Begriffserklärungen 5 Siehe auch 6 Literatur 7 Weblinks |
Beispiel
Ausleihsystem einer Bibliothek
- Tabelle aller Bücher, in der alle Bücher unter einer Signatur eingeordnet sind
- Tabelle aller Kunden, mit den Daten aller Kunden, ansprechbar unter einer Kundennummer
- Tabelle aller Mitarbeiter (Datenbank-User, Bearbeiter)
- Tabelle aller Verleihvorgänge
Datenbanktypen
Es gibt verschiedene Typen von Datenbanken, darunter- indexsequentielle Datenbanken (ISAM)
- relationale Datenbanken (RDBMS)
- postrelationale Datenbanken (Cache)
- objektorientierte Datenbanken
- objektrelationale Datenbanken (ORDB)
- multidimensionale Datenbanken
- hierarchische Datenbanken
- Netzwerkdatenbanken
- Mehrrechnerdatenbanken: Heterogene Datenbank, Verteilte Datenbank, Föderierte Datenbank
Geschichte
Die erste Generation waren Lochkarten, welche unpraktisch und langsam, damals jedoch das schnellste 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. Eine ähnliche Verarbeitungsform hatten Magnetbänder, auf denen nur sequentielle Dateien gespeichert werden konnten.
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. Mehrbenutzerbetrieb und paralleler Zugriff machten eine breitere, gleichzeitige Nutzung der Datenbank möglich.
Zwischen 1965 und 1975 wurde die dritte Generation der Datenbanken entwickelt, welche die Implementierung von Datenbankmodellen ermöglichte. Hierbei gab es hierarchische Modelle und Netzwerkdatenbanken.
In den 1960er und 1970er Jahren erarbeitete Edgar F. Codd bei seiner Forschungsarbeit am IBM Almaden Research Center in San Jose die Grundlagen der relationalen Datenbanken.
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 Indexe über bestimmte Spalten, so genannte Schlüsselspalten, erzeugt. Eine relationale Datenbank besteht nicht nur aus einer Tabelle, sondern aus vielen, die miteinander 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. So wird eine Straße beispielsweise durch mehrere Koordinaten-Objekte abgebildet. Diese Objekte haben also über die Straße ein Beziehung zu einander. Zusätzlich haben sie eine Beziehung zum Namensobjekt dieser Straße.
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üsselattribute und sonstige Attribute unterschieden. Das Schlüsselattribut dient zum Identifizieren und Verknüpfen von Datensätzen, während die restlichen Attribute nur vom Schlüssel abhängige Daten enthalten. (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ücher.
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 Zusammenfassung und aufbereitete Ansicht mehrerer Abfragen nennt man Report oder Bericht. Berichte oder Reporte 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.
Siehe auch
- CSV-Datei
- Standby-Datenbank
- Datenbank (Liste)
- Datenbankmodell
- Normalisierung (Datenbank)
- Datenmodell
- XML-Datenbank
- Fachdatenbank
- Terminologische Datenbank
- Medizinische Datenbank
- Stammdatenpool
- Meta-Datenbank
- Molekularbiologische Datenbanken
- Deep Web
- SQL
- Wissensdatenbank
Literatur
- Ramez Elmasri, Shamkant B. Navathe: Grundlagen von Datenbanksystemen, Pearson Studium, ISBN 3-8273-7021-3
- Norbert Kessel: SQLBase. Eine Einführung, Verlag Kessel, ISBN 3000066047
- Tobias Eggendorfer: Datenbanksysteme für Wirtschaftsinformatiker - Eine Einführung, Books on Demand, ISBN 3-8334-2493-1
- Helmut Eirund, Ullrich Kohl: Datenbanken, leicht gemacht. Ein Arbeitsbuch für Nicht-Informatiker, Teubner Verlag, ISBN 3-519-02644-9
- Alfons Kemper, André Eickler: Datenbanksysteme, Oldenbourg Verlag, ISBN 3-486-25706-4
- Gottfried Vossen: Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme, Oldenbourg Verlag, ISBN 3-486-25339-5
- Andreas Heuer, Gunter Saake: Datenbanken: Konzepte und Sprachen, MITP Verlag, ISBN 3-8266-0619-1
- Andreas Heuer, Gunter Saake, Kai-Uwe Sattler: Datenbanken: Implementierungstechniken, MITP Verlag, ISBN 3-8266-1438-0
- Carl A. Zehnder: Informationssysteme und Datenbanken, VDF Hochschulverlag, ISBN 3-7281-3002-8
- Georg Lausen: Datenbanken: Grundlagen und XML-Technologien, Spektrum Akademischer Verlag, ISBN 3-8274-1488-1
- Markus Schneider: Implementierungskonzepte für Datenbanksysteme, Springer, ISBN 3-540-41962-4
- Josef L. Staud: Datenmodellierung und Datenbankentwurf - Ein Vergleich aktueller Methoden, Springer, ISBN 3-540-20577-2
- Alfred Moos: Datenbank-Engineering - Analyse, Entwurf und Implementierung relationaler Datenbanken, Vieweg, ISBN 3-528-25183-2
- Matthias Schubert: Datenbanken - Theorie, Entwurf und Programmierung relationaler Datenbanken, Teubner, ISBN 3-519-00505-0
- Andreas Heuer, Gunter Saake, Can Türker: Objektrelationale Datenbanken, Dpunkt Verlag, ISBN 3-89864-190-2
- DBLP: Bibliographisches Verzeichnis mit dem Schwerpunkt Datenbanksysteme und Logik Programmierung.
Weblinks
- Einführung in Datenbankmanagementsysteme - Online Tutorial
- Grundlagen Datenbanken
- Datenbanken - Das Wichtigste
- Medizinische und Molekularbiologische Datenbanken
- Datenbank-Entwickler Wiki
- Portal zu Open Source Datenbanken