Verzeichnis; Liste; Aufstellung; Tabelle; Register; Aufzählung; Gliederung; Auflistung; Datensammlung; elektronischer Karteikasten (umgangssprachlich)
* * *
Da|ten|bank ['da:tn̩baŋk], die; -, -en:System zur Beschreibung, Speicherung und zum Abrufen von großen Datenmengen:
eine neue Datenbank anlegen.
Syn.: elektronische Kartei.
* * *
* * *
Da|ten|bank , die <Pl. -en>:
* * *
Datenbank
[engl. database] (Datenbankprogramm, Datenbanksystem, Datenbank-Managementsystem, Abk. DBMS), System zur Speicherung und Verwaltung von großen Datenmengen. Es besteht aus einer Datenbasis, in der die Daten nach einer bestimmten Struktur abgelegt werden, und Verwaltungsprogrammen, die Daten abspeichern, suchen oder andere Operationen mit den Daten durchführen. Meist wird auch schon ein Anwendungsprogramm zur strukturierten Organisation und Verwaltung von Daten als Datenbank bezeichnet.
Von der Anwenderseite her kann man unterscheiden zwischen Datenbanken, für deren Pflege der Anwender selber verantwortlich ist (die er u. U. sogar selber entwickelt), und solchen, die als großes Archiv dienen, von Experten gepflegt werden und in denen der Anwender Daten lediglich suchen und herausziehen kann, wie z. B. Rechts- oder Literaturdatenbanken (Trennung von Datenpflegern und Datennutzern).
Auch nach der Art der Information lassen sich Datenbanken unterscheiden: Es gibt Datenbanken, die nur kurze Text- oder Zahleninformationen in den einzelnen Feldern aufnehmen können (z. B. Adressdatenbanken), sich dafür aber sehr schnell durchsuchen lassen. Bilddatenbanken sind darauf spezialisiert, die großen Datenmengen, die hinter Grafiken und Fotos stecken, verwalten zu können. Sog. Volltextdatenbanken schließlich können (fast) beliebig lange Texte aufnehmen und stellen dem Anwender mächtige und komfortable Möglichkeiten der Selektion und Präsentation der Information zur Verfügung.
Weitere wichtige Unterscheidungsmerkmale von Datenbanken sind ihre SQL-Fähigkeit (SQL) und ob sie die Anforderungen der ODBC (Open Database Connectivity) erfüllen.
Von der informationstheoretischen Seite her teilt man Datenbanken nach dem Datenmodell (s. u.) ein, das ihnen zugrunde liegt.
Datenbanken im Vergleich zu anderen Datensammlungen: Die Daten, die mit einem Textverarbeitungs- oder Layout-Programm erstellt werden, bilden keine Datenbank, denn sie können (mit den üblichen Mitteln solcher Programme) nicht einheitlich geordnet oder selektiert und nur auf einfachste Weise sortiert werden. Einen groben Eindruck des Datenbankkonzepts vermittelt das Arbeiten mit Tabellen und Serienbriefen. Einen anderen, datenbankähnlichen Ansatz, der beim professionellen Umgang mit Text eine große Rolle spielt, bieten Absatz- und Zeichenformatvorlagen. Hält man sich nämlich streng an das Formatvorlagenkonzept, so sind zumindest die Voraussetzungen für eine einheitliche Ordnung der Textdaten geschaffen. Dieser Gedanke liegt den Markierungssprachen SGML und XML zugrunde, die bei Redaktionssystemen und Content-Management-Systemen (CMS) - datenbankähnlichen Verwaltungssystemen - verwendet werden.
Am ehesten in die Nähe von Datenbanken kommen die Datensammlungen, die sich mit Tabellenkalkulationsprogrammen aufbauen lassen. Viele dieser Programme (z. B. Excel) stellen sogar echte Datenbankfunktionen, wie das Sortieren und Selektieren (hier meist Filtern genannt), zur Verfügung. Im Vergleich zu einer richtigen Datenbank ist allerdings die Handhabung solcher Funktionen recht umständlich und die Möglichkeiten der Datenverwaltung sind sehr eingeschränkt, von Sicherheitsaspekten und der Möglichkeit mehrerer Benutzer einmal ganz abgesehen.
Datenbanken und Datenbankprogramme sind von allen Computeranwendungen die abstraktesten. Wer sich damit befasst, wird mit allen grundlegenden Bereichen der Informations- und Computertechnik konfrontiert. Da es andererseits zahlreiche sinnvolle Einsatzmöglichkeiten von Datenbanken im privaten und beruflichen Alltag gibt, haben sich Software-Unternehmen schon immer bemüht, Datenbankprogramme zu entwickeln, die jeder Anwender mit Computergrundkenntnissen verwenden kann. Dazu zählen ganz einfache Programme wie Works (genauer: der Datenbankteil von Works) oder etwas komplexere wie FileMaker, Access und Paradox. Die Merkmale solcher Datenbanken bzw. Datenbankprogramme werden im Folgenden beschrieben.
Aufbau typischer Datenbanken: Der Datenbestand in einer Datenbank ist in eine Folge von kleinen Einheiten unterteilt, die Datensätze (engl. records). Ein Datensatz besteht seinerseits aus mehreren Einzeleinheiten, den Datenfeldern. Häufig weisen alle Datensätze die gleiche Struktur auf: Die Anzahl von Datenfeldern und die Bedeutung einander entsprechender Datenfelder stimmen überein. Dann lassen sich die Daten in einer Tabelle anordnen. Jede Tabellenzeile enthält einen Datensatz und die den Tabellenspalten zugeordneten Einträge eines Datensatzes sind die Datenfelder.
Zur Anzeige der Daten stellen die meisten Datenbankprogramme zwei Ansichtsarten (manchmal auch Layouts genannt) zur Verfügung: Im Listenmodus werden alle bzw. alle ausgewählten Datensätze in einer Tabelle angezeigt, im Formularmodus nur ein Datensatz. Der Listenmodus wird verwendet, wenn man eine Übersicht über viele Datensätze ansehen möchte, der Formularmodus eignet sich für die Darstellung und Bearbeitung möglichst vieler Datenfelder eines einzelnen Datensatzes. Beide Ansichten lassen sich mit datenbankeigenen Werkzeugen gestalten (»Datenbankdesign«). So kann man etwa im Listenmodus der Übersicht halber die Zahl der dargestellten Felder einschränken und im Formularmodus die einzelnen Felder mit Bemerkungen versehen.
Ein wichtiges Element beim Datenbankdesign ist das Einbinden von Scripts (Methoden, Aktionen), also das Zuweisen von kleinen Makros zu Feldern oder grafischen Objekten (beispielsweise Schaltern oder Tasten, engl. buttons). So kann man etwa festlegen, dass sofort zu einem anderen Layout gewechselt werden soll, wenn die Daten in einem bestimmten Feld eingegeben sind und dieses per Tabulatortaste verlassen wird. Oder man belegt einen Button (der angeklickt wird) mit dem Befehl »Sortieren« usw.
Eine eigene Art von Layouts sind die Berichte (engl. reports), also speziell für den Ausdruck definierte Feldanordnungen. Berichten werden in der Regel so gestaltet, dass a) in keines der im Layout enthaltenen Felder Daten eingegeben werden können und b) Feldinhalte automatisch ausgewertet werden. So lassen sich z. B. gleichartige Feldinhalte zu Gruppen zusammenfassen, oder es können Summen, Mittelwerte usw. über alle Datensätze hinweg gebildet werden.
Besonderheiten der Dateneingabe: Zur Navigation in einer Datenbank können die für Windows oder MacOS üblichen Tastenkombinationen und Mausklicks verwendet werden (z. B. Tabulatortaste zum Springen von einem Feld zum nächsten). Dasselbe gilt für Bearbeitungsaktionen wie Kopieren, Ausschneiden und Einfügen.
Das Besondere an Datenbanken ist, dass bei der Eingabe automatisch Prüfungen vorgenommen (s. u. Datensicherheit) oder dem Benutzer Hilfen angeboten werden können. Wiederholt sich z. B. die Information, die in ein Feld eingegeben werden soll, ständig, so können dem Feld hinterlegte Wertelisten, aus denen einfach nur der passende Wert ausgewählt zu werden braucht, die Eingabe wesentlich erleichtern.
Ohne dass der Benutzer es merkt, wird beim Anlegen eines neuen Datensatzes eine Datensatzidentifikationsnummer (Datensatznummer) generiert (engl. record-ID), die üblicherweise bei 1 beginnt und mit jedem Datensatz um 1 erhöht wird.
Sortieren: Die Ursortierung einer Datenbank ist immer die Sortierung nach der Record-ID. Das Feld, welches die Record-ID enthält, trägt den primären Index einer Datenbank. In manchen Datenbanken kann neben dem Primärindex nur noch ein zweiter Index (auch Sekundärindex genannt) festgelegt werden; in einer Adressdatenbank könnte beispielsweise das Feld Nachname den Sekundärindex tragen. Datenbankprogramme wie FileMaker bieten sogar die Möglichkeit, beliebig viele Felder mit einem Index zu versehen. Indizes beschleunigen das Sortieren erheblich, vergrößern gleichzeitig aber die Datenbank immens, weil im Hintergrund spezielle Indextabellen mitgeführt werden.
In den Sortierkriterien legt der Anwender fest, nach welchen Feldern, in welcher Feldreihenfolge und ob auf- oder absteigend sortiert werden soll. Innerhalb eines Feldes bestimmt die ASCII- bzw. ANSI-Nummer eines Zeichens die Sortierfolge.
Selektionen/Datenbankabfragen: Eines der Hauptmerkmale einer Datenbank ist die Möglichkeit, Datensätze auswählen und alle weiteren Arbeitsschritte (Änderungen, Sortierungen, Ausgabe von Berichten usw.) auf diese Auswahl beschränken zu können. Um eine Auswahl zu treffen, muss eine Abfrage (engl. query) an die Datenbank gestellt werden (manchmal spricht man auch von Suchabfrage oder einfach von Suche; eine andere Bezeichnung ist Filtern). Dazu legt man mithilfe von Suchkriterien fest, wonach gesucht werden und wie die Suche ablaufen soll. Zur Formulierung der Suchkriterien lassen sich gewöhnlich arithmetische und logische Operatoren (z. B. , >, = und And, Or, Not) heranziehen und verknüpfen.
Die zwei wichtigsten Arten von Datenbankabfragen sind QBE (Query by Example, dt. »Abfrage anhand eines Beispiels«) und die Verwendung der Abfragesprache SQL (Structured Query Language, dt. »strukturierte Abfragesprache«). Bei QBE ruft man den Suchmodus auf und bekommt 1:1 das Eingabeformular angezeigt. Die Suchkriterien können hier wie normale Daten in die Felder eingegeben werden, mit dem Unterschied, dass sie jetzt vom Programm als Muster aufgefasst werden, nach denen die gesamte Datenbank zu durchsuchen ist. SQL dagegen erlaubt es, unabhängig von vordefinierten Formularen komplexe Suchkriterien (z. B. wenn Feld1 > 1000 und Feld2 Feld3) aufzustellen, ja zu programmieren. QBE ist die Methode für den typischen Endanwender, SQL wendet sich an Datenbankexperten. Praktisch alle gängigen halb- oder vollprofessionellen Datenbankprogramme sind SQL-fähig.
Während einfachere Datenbankprogramme wie FileMaker als Ergebnis einer Abfrage lediglich eine Selektion von Datensätzen präsentieren, wobei jeder Datensatz alle Felder des Eingabelayouts enthält, sind komplexere Programme wie Paradox oder Access zusätzlich in der Lage, ihre Ergebnisse in spezielle Antwortlayouts (Tabellen) zu schreiben, die neben der Datensatzauswahl auch eine bestimmte Auswahl an Feldern enthalten.
Datensicherheit: Ein wichtiges Argument für die Verwendung einer Datenbank gegenüber z. B. einer Tabellenkalkulation ist die Sicherheit. Dabei kommt es insbesondere auf zwei Punkte an: Erstens müssen Falscheingaben möglichst vermieden und zweitens dürfen Inhalte nicht aus Versehen gelöscht oder überschrieben werden.
Speziell die Dateneingabe kann der Entwickler dadurch sicherer gestalten, dass er wichtige Felder mit Überprüfungsfunktionen versieht. So kann z. B. bei der Eingabe überprüft werden, ob die Daten das richtige Format haben (in ein Zahlen- oder Datumsfeld darf nicht aus Versehen Text eingegeben werden), ob ein Feld leer bleiben darf oder nicht, ob ein Feldinhalt einmalig sein soll oder nicht (um Doppeleintragungen zu vermeiden) usw.
Da Datenbanken in der Regel von mehreren Personen mit unterschiedlichen Computerkenntnissen bedient werden, die oft auch nur bestimmte Teile der Datenbank sehen sollen, wird üblicherweise mit einem Passwortschutz gearbeitet. Ein Passwort berechtigt den zugehörigen Anwender nur zu ganz bestimmten Aktionen an und in der Datenbank: Er hat z. B. Zugriff auf nur einige wenige Layouts und Felder, darf prinzipiell nur eingeben, aber nicht löschen usw.
Ebenfalls wichtig für den Mehrbenutzerbetrieb ist die Sperre des Datensatzes (Datensatzsperre), der gerade von einem bestimmten Anwender bearbeitet wird: Auf einen solchen Datensatz hat ein anderer Anwender keinen Zugriff.
Komplexe Datenbanken bestehen aus mehreren miteinander verknüpften Dateien. Hier ist es wichtig, genau festzulegen, welche Auswirkungen das Anlegen oder Löschen von Datensätzen innerhalb einer Datei auf die verknüpften Dateien hat, damit es im Laufe der Zeit keine »losen« Datensätze gibt, die unnötig Platz verbrauchen oder nach denen nicht mehr sinnvoll gesucht werden kann. Dieses Sicherheitsmerkmal wird Referenzintegrität (Integrität) der Datenbank genannt.
In großen Unternehmen kommt es häufig vor, dass Mitarbeiter in unterschiedlich aktuellen Versionen ein und derselben Datenbank arbeiten und dass irgendwann diese Versionen miteinander abgeglichen werden müssen. Während z. B. die internen Mitarbeiter direkt in der Hauptdatenbank arbeiten, verwenden Außenmitarbeiter eine Kopie davon auf ihrem Notebook. Man sagt auch, es wird mit verteilten Datenbanken gearbeitet. Wie kann in solchen Fällen sichergestellt werden, dass beim Datenabgleich nicht aktuelle Daten durch ältere überschrieben werden? Hier kommt das Konzept der Replikation zum Einsatz. Replizierfähig sind u. a. Datenbanken auf der Basis der Programme Access und Lotus Notes.
Datenmodelle: Hinter allen Datenbanken stecken theoretische Überlegungen, wie die zu verwaltenden Daten am besten organisiert werden können. Man spricht auch von unterschiedlichen Datenmodellen.
Daten lassen sich grundsätzlich auf vier verschiedene Weisen organisieren:
- in Form von Datensätzen und Feldern (s. o.), die gemeinsam Tabellen bilden,
- hierarchisch, also in einer Art Baumstruktur,
- in vernetzter Form und
- als mehr oder weniger freie Objekte.
Das am weitesten verbreitete Datenmodell ist die erstgenannte Organisationsart, das Tabellenmodell. Bei ganz einfachen Datenbankprogrammen (wie z. B. bei Works von Microsoft) ist jede erstellte Datenbank eine einzelne Tabelle, die nicht mit anderen Tabellen in Verbindung steht und in der immer nur ein Anwender arbeiten kann. Eine Erweiterung stellt das relationale Modell dar. Es kommt praktisch bei allen professionellen Datenbanken und Datenbankprogrammen zum Einsatz, die sich an kleine Firmen und Privatpersonen (mit gehobenen Ansprüchen) wenden (z. B. Approach, Access, Oracle, FileMaker, Paradox). Der Grundgedanke dabei ist, Informationen möglichst effizient zu verwalten und vor allem die Redundanz der Daten so gering wie möglich zu halten, also die Mehrfacheingabe von Daten zu vermeiden. Das wird erreicht, indem man mehrere Datenbankdateien, also letztlich mehrere Tabellen, miteinander verknüpft. So stehen bestimmte Daten in der Tabelle B zur Verfügung, obwohl sie nur einmal, nämlich in A, eingegeben wurden. Als Beispiel kann eine Versandhausdatenbank dienen, die aus den beiden Tabellen »Kunden« und »Waren« besteht. In der Kundentabelle werden die Kundennummer und die Adressen verwaltet, in der Warentabelle neben der Kundennummer die bestellten und ausgelieferten Waren, aber keine Adressen. Beide Tabellen sind über die Kundennummer miteinander verknüpft. Die Kundennummer muss in beiden Tabellen eindeutig sein, sie wird als Primärschlüssel (Schlüssel) verwendet. Da zu jedem Kundendatensatz mehrere (n) Warendatensätze (aber nicht umgekehrt) gehören können, spricht man von einer 1:n-Beziehung zwischen den Tabellen (Beziehung). Soll nun eine Rechnung geschrieben werden, so stammen die Adressangaben aus der Kunden- und die Warendaten aus der Warentabelle. Ohne die Möglichkeit einer Relation hätte die Kundenadresse bei jedem Warendatensatz erneut eingegeben und mit verwaltet werden müssen.
Bei hierarchischen Datenbanken sind die Datensätze über eine Baumstruktur (Baum) hierarchisch geordnet. Ausgehend von einem Wurzeldatensatz (z. B. »Firma«) gibt es Verzweigungen zu untergeordneten Objekten (z. B. »Abteilung A«, »Abteilung B«). Unterhalb dieser Ebene kann es weitere Verzweigungen geben (z. B. »Projekt 2«, »Projekt 3«). Baumstrukturen gestatten spezielle, z. T. sehr schnelle Suchverfahren. Allerdings können Strukturänderungen nicht ohne weiteres vorgenommen werden. Hierarchische Datenbanken waren früher auf Großrechnern weit verbreitet. Heute finden sie nur noch in geringem Umfang Verwendung.
In vernetzten Datenbanken können die Datensätze wie in einem Netzwerk miteinander verknüpft werden. Dadurch sind vernetzte Datenbanken wesentlich flexibler als hierarchische Datenbanken, die Suche nach bestimmten Datensätzen gestaltet sich aber aufwendiger. Sie werden selten eingesetzt.
Objektorientierte Datenbanken zeichnen sich dadurch aus, dass die starre Datensatzstruktur von Tabellen aufgegeben wird: Während bei Tabellen jeder Datensatz aus derselben Zahl von Feldern mit fest vorgegebenen Eigenschaften besteht, ist bei objektorientierten Datenbanken die Zahl der Felder - hier Objekte genannt - pro Datensatz frei. Eine gewisse Einheitlichkeit ist allerdings dadurch gegeben, dass Objekte, die in mehreren Datensätzen vorkommen, dieselben Eigenschaften haben; beispielsweise hätte das Datumsfeld »Bestelldatum« in einer Warendatei in allen Datensätzen diesen Namen, und es könnten immer nur Datumsangaben eingetragen werden und keine reinen Zahlen oder Texte. Ansonsten ist aber eine sehr große Flexibilität und Anpassungsfähigkeit der Datenbank gegeben - theoretisch können während der Eingabe diejenigen Objekte ad hoc angelegt werden, die bei einem bestimmten Datensatz gerade benötigt werden. Zusätzlich können die Objekte im Unterschied zu den Feldern der »klassischen« relationalen Datenbanken Inhalte fast beliebigen Formats aufnehmen, so z. B. auch Grafiken, Videos oder HTML-Dateien. Objektorientierte Datenbanken erlauben oft eine umfassendere und präzisere Abbildung der Anwendungswelt als andere Datenbanktypen und kommen der natürlichen Denkweise entgegen. Außerdem können sie mit modernen objektorientierten Programmiersystemen nahtlos zusammenwirken. Aufgrund dieser günstigen Merkmale etablierten sich objektorientierte Datenbanken auf dem Markt, ohne jedoch die vorherrschenden relationalen Datenbanken verdrängen zu können. Ein Beispiel für eine objektorientierte Datenbank ist Poet.
Eine Mischform aus objektorientiertem und relationalem Modell bilden die objektrelationalen Datenbanken. Die Grundidee besteht darin, die Tabellenstrukturen und Beziehungen einer relationalen Datenbank um einige objektorientierte Konzepte zu erweitern. Dadurch wird der Anwender in die Lage versetzt, alte relationale Datenstrukturen schrittweise an die objektorientierten Prinzipien anzupassen. Damit lassen sich mit geringen Änderungen alte Datenbestände mit den Vorteilen der Objektorientierung nutzen.
Die Entwicklung von objektorientierten und objektrelationalen Datenbanksystemen ist noch nicht abgeschlossen. Zwar sind in der Fachwelt intensive Forschungen im Gange, es herrscht aber noch kein Einvernehmen über die genaue Festlegung der den Datenbanken zugrunde liegenden Datenmodelle.
Anwendungen: Datenbanken bilden die Grundlage von Informationssystemen in allen Bereichen von Wirtschaft, Verwaltung, Wissenschaft und Kultur. Aber auch in der sog. New Economy, insbesondere beim E-Commerce, spielen Datenbanken eine wichtige Rolle. Das Web-Publishing von Datenbanken (dt. »Veröffentlichen im World Wide Web«) ist die Grundlage von elektronischen Warenhäusern. Bei dem in HTML kodierten Bestellformular eines Online-Shops handelt es sich nämlich i. d. R. um nichts anderes als um eine Eingabemaske einer Kunden- und Warendatenbank. Zusatzmodule wie etwa der WebCompanion von FileMaker ermöglichen es dem Datenbankprogramm, die über das Internet eingehenden Eingabedaten automatisch in die Datenbank des E-Commerce-Anbieters aufzunehmen.
Eine weitere moderne Datenbankanwendung ist das Database Publishing, also das Erstellen von Druckwerken aus einer Datenbank heraus. Dieses Verfahren eignet sich besonders für Werke, die aus vielen Einzeltexten unterschiedlicher Autoren bestehen, wie Wörterbücher, Lexika oder Zeitschriften. Auch die Redaktionssysteme großer Verlage oder die Content-Management-systeme (CMS), die zurzeit in viele große Unternehmen Einzug halten, sind im Kern Datenbanken, die allerdings um umfangreiche Textverarbeitungs- und Satzfähigkeiten ergänzt worden sind.
* * *
Da|ten|bank, die <Pl. ...banken>: technische Anlage, in der große Bestände an ↑Daten (2) zentral gespeichert sind: Schon gibt es die D. Schon nummeriert sich die Menschheit, jederzeit abrufbar (Grass, Butt 501); Riesige -en lassen sich künftig auf kleinstem Raum verwirklichen, weil die Speicherkapazitäten immer größer werden (VDI nachrichten 18. 5. 84, 2).
Universal-Lexikon. 2012.