Seitenleiste

Community

SQL

Grundlagen

Datenbanksysteme

Client/Server

Eingebettet

Datenbanksysteme

Was sind Datenbanksysteme?

Datenbanksysteme werden benutzt, um Daten strukturiert, sowie effizient zu verwalten und zu speichern. Sie teilen sich in ein Datenbankmanagementsystem und die eigentliche Datenbank auf. Sämtliche Daten werden über das Managementsystem verwaltet. Auf die eigentliche Datenbank erhält niemand direkten Zugriff.1) Wenn man also Daten in eine Datenbank einpflegen will, übergibt man sie an das Managementsystem. Ein Datenbanksystem ist für folgende Datenbearbeitungen konzipiert:

  • Daten hinzufügen
  • Daten verändern
  • Daten löschen

Es existieren verschiedene Ansätze um die Daten zu verwalten:

  • Hierarchische Datenbanken
  • Netzwerkartige Datenbanken
  • Relationale Datenbanken

Hier die exakten Arbeitsweisen auszuführen, würde zu weit führen, jedem System ist ein eigener Artikel in der Wikipedia gewidmet. Nur so viel sei gesagt:

Hierarchische Datenbanken legen ihre Datensätze ähnlich ab, wie ein Computerdateisystem. Netzwerkartige Systeme bilden ein Netzwerk aus Datensätzen, ohne über- und untergeordneten Datensätzen. Relationale Datenbanken kann man sich als Tabellen vorstellen, wobei mehrere Tabellen in einer Datenbank existieren können und miteinander verknüpft werden können. Solche Tabellen können dann nach Werten durchsucht und die Ergebnisse ausgegeben werden. Dieses System gehört heute zum etablierten Standard und damit wollen wir uns hier auch auseinandersetzen.

Die Kommunikation mit der Datenbank erfolgt über eine sogenannte Datenbanksprache. Für relationale Datenbanken ist das SQL.

Welche Systeme eignen sich für welchen Einsatzzweck?

  • Client/Server Betrieb
  • Lokale Datenbank

Die Wahl des Datenbanksystems hängt, wie so oft, vom geplanten Einsatzzweck ab. Sollen die Datensätze über das Netzwerk/Internet erreichbar sein und zentral auf einem Server gespeichert werden? Dann bieten sich Client/Server Systeme, wie z.B. MYSQL an. Soll die Datenbank nur auf einem Rechner genutzt werden oder steht kein Server zur Verfügung? Dann bieten sich Systeme an, die ihre Datenbank lokal als Datei ablegen. Muss die Datenbank speziell gesichert werden? Muss die Datenbank ein Berechtigungssystem unterstützen? Welche Daten sollen abgelegt werden…?

Was sind eingebettete Datenbanksysteme

Ein solches System wird so weit in eine Anwendung integriert, dass sie für den Benutzer überhaupt nicht sichtbar ist. Dadurch ist es möglich eine Datenbank perfekt an die speziellen Bedürfnisse einer Anwendung anzupassen und zu beschleunigen. Eine solche Datenbank kann auch nicht von einem Fremdsystem mitbenutzt werden. Andererseits ist es dadurch sehr schwierig Daten zwischen verschiedenen Systemen auszutauschen.

Wozu kann man sie einsetzen?

Das will ich an dem Beispiel einer Kundendatenbank erläutern: Es soll eine Liste mit Kunden angelegt werden, die Name, Adresse und Kundennummer enthält. Außerdem sollen zu jedem Kunden auch alle jemals von ihm gekauften Artikel gelistet werden.

Um dieses Problem mit herkömmlichen Dateien zu lösen, steht man vor folgenden Problemen:

  1. Daten strukturiert speichern
  2. Daten miteinander verknüpfen
  3. Suchroutinen
  4. Daten einlesen
  5. Daten ausgeben

Alle diese Aufgaben könnte ein Datenbanksystem für uns erledigen, ohne, dass wir auch nur eine Zeile programmieren müssten. Dazu müssen die Daten lediglich an das System übergeben werden, z.B. über die Kommandozeile des Datenbanksystems.

Um unser Problem von oben mit einer Datenbank zu lösen, stehen wir lediglich vor dem Problem eine Datenbankanbindung in unser Programm zu integrieren, an die wir die Daten und Suchanfragen übergeben, bzw. Daten und Suchergebnisse zurückerhalten.

Tutorials zu den Datenbanksystemen

Client/Server Systeme

Lokale Systeme

Artikel zu Datenbanken

1)
Administrative Aufgaben können hier eine Ausnahme bilden