Seitenleiste

Community

SQL

Grundlagen

Datenbanksysteme

Client/Server

Eingebettet

Vom der Datei zum Datenbanksystem

Datenbanksysteme lösen ein in der Programmierung immer wieder auftretendes Problem: Das Ablegen und Wiederauffinden von Daten. Nahezu jedes Programm verarbeitet irgendwelche Daten und in den seltensten Fällen werden alle Daten direkt von der Tastatur eingelesen und das Ergebnis nur auf dem Bildschirm ausgegeben.

Dateisystem

Also begann man Daten auf dem Dateisystem abzulegen: Ein Compiler ist ein gutes Beispiel für ein solches Programm: Er liest Quelltexte von der Festplatte, verarbeitet den Quelltext und schreibt seine Ausgabe wieder auf die Festplatte. Damit lässt sich beispielsweise eine Adresskartei gut realisieren. Jedes Programm speichert seine Daten so ab, dass nur das Programm selbst diese lesen kann. Der Austausch zwischen unterschiedlichen Programmen ist also grundsätzlich nicht vorgesehen. Um dem abzuhelfen wurde das das CSV-Format erfunden (Comma Separated Values), welches aber nur begrenzt „standardisiert“ ist. Für CSV gibt es viele Standards…

Weiterhin kann immer nur ein Benutzer an den Dateien arbeiten. Für eine Abfrage müssen sich die Benutzer also am Computer anstellen.

Dateiverwaltungssystem

Der nächste Schritt war es, die Dateien durch ein Dateiverwaltungssystem verwalten zu lassen. Dabei hat man nicht direkt auf die Daten zugegriffen sondern über ein Dateiverwaltungssystem. Dieses hat einem dann einfach die Datei zu Verfügung gestellt.

Der Fortschritt dieser Methode war, dass die Datenhaltung geräteunabhängig wurde und man von jedem System über das Verwaltungssystem auf die Daten zugreifen konnte.

Datenbanksystem

In heutigen Datenbanken werden alle Daten zentral verwaltet. Die Daten werden mithilfe einer Datenbanksoftware (DBMS = Data Base Management System) bereitgestellt.

Die Datenbank (also die gespeicherten Daten) und der Datenbank-Service (das Programm, dass die Daten verwaltet) zusammen bilden das Datenbank-System.

Programme, die Daten aus der Datenbank abfragen wollen immer eine logische Sicht auf die Daten - wie die Daten dabei auf dem Dateisystem des Datenbank-Servers gespeichert werden, interessiert das fragende Programm dabei nicht mehr. Diese physische Sicht, also wie die Daten schlussendlich gespeichert werden, kann jede Datenbanksoftware für sich entscheiden.

Der Datenbank-Service ist nun der einzige Nutzer, der die Daten bearbeitet und kann über das Netzwerk beauftragt werden, Daten zu lesen oder zu bearbeiten. Die Nutzer müssen also nicht mehr an den Computer gehen, bei dem die Daten auf der Festplatte gespeichert werden, sondern können über das Netzwerk Anfragen stellen.

Wo sind Datenbanken nützlich?

Aufgrund der Tatsache, dass Datenbanken von mehreren Benutzern abgefragt werden können und über das Netzwerk angesprochen werden können, sind sie natürlich besonders im Internet interessant. Datenbanken, wie zum Beispiel ein Forum, die Artikeldatenbank von Online-Shops oder Wikis speichern ihre Daten gerne in Datenbanken. Diese Daten lassen sich leicht klassifizieren: Ein Forumposting hat eine Überschrift, einen Autor, einen Text. Ein Artikel hat eine Artikelnummer, eine Namen, eine Beschreibung und einen Preis - egal, ob es sich um eine CD oder ein Auto handelt. Um zum Compiler am Anfang zurück zu kommen: Ein Quelltext ist deutlich komplexer und lässt sich nicht so leicht klassifizieren: Für solche komplexen Daten, wie es auch Bilder, Tondokumente oder Filme sind, eignet sich eine Datenbank also nicht so gut, hier verwendet man lieber weiterhin das Dateisystem direkt.

Aber auch zu Hause lassen sich genug Daten finden, die sich klassifizieren und in einer Datenbank auflisten lassen: Die DVD-Sammlung, vorhandene Bücher, verliehene Artikel und so weiter. Und gerade in Firmen, wo viele leicht zu klassifizierende Daten anfallen (Kundendaten, Adressen, Bestellungen…) werden Datenbanken entsprechend gerne und viel verwendet. Es lohnt sich also durchaus sich mit Datenbanken zu beschäftigen.