Erste Seite Zurück Weiter Letzte Seite Übersicht Grafik

Zugriff auf Datenbank


Notizen:

In allen Softwaresystemen, welche die funktionale Aufteilung „Frontend/Backend“ erkennen lassen (das schließt filebasierte Datenbanken ausdrücklich ein!), ist der Vorgang immer wieder ähnlich:
Das Frontend (das Programm, mit dem der eigentliche Benutzer arbeitet) bereitet einen Befehlsstring auf (zumeist in einer Stringvariablen o.ä.), indem z.B. Benutzereingaben ausgewertet werden (z.B: Eingabe der gewünschten Kundennummer). Dieser Befehl wird dann der Datenbankengine „übergeben“. Diese erzeugt ein Ergebnis und retourniert es an das Frontend, das dieses wiederum anzeigt.
Dieser prinzipielle Ablauf wird im Grunde immer eingehalten, auch wie bereits erwähnt bei filebasierten Datenbanken wie etwa MS Access. Der Unterschied zum „echten“ Client/Server-System besteht darin, dass dafür ein richtiges – zumeist generisches, also herstellerabhängiges – Netzwerkprotokoll besteht, und die Anfrage typischerweise auf einem anderen Computer erzeugt wird als ausgewertet. Das ist aber keine notwendige Voraussetzung: auch wenn Client- und Serverkomponente auf ein und demselben Rechner installiert sind, spricht man von einer C/S-Datenbank.
Anm. zu MS Access: Obwohl hier die erwähnte funktionale Aufteilung in Frontend- & Backendprogramm nicht so offensichtlich ist, ist sie dennoch gegeben: in VBA (früher: Access-Basic) werden Masken und Code erzeugt, die in anderen Systemen in einer Hochsprache wie C#, Java o.ä. formuliert wären. Dort werden aber scheinbar nicht SQL-Strings erzeugt, die dann der JET-Datenbankengine übergeben werden, sondern es werden Methoden von Programmierobjekten aufgerufen, welche die Datenbankmanipulationen kapseln. Dort allerdings passiert wieder nichts anderes, als wir es mittlerweile gewohnt sind: Es wird ein SQL-String erzeugt, der JET-Engine übergeben, und das Ergebnis aufbereitet. Tatsächlich ist es so, dass man als Programmierer diese Technik auch anwenden kann, wenn man das möchte.