Hessischer Bildungsserver / Arbeitsplattformen

Datenbanken mit Delphi

BDE - Borland Database Engine

Je nach Version (Standard, Professional, Client/Server) bietet Delphi mehr Datenbankfunktionalität. In der Standard-Version können Anwendungen für lokale Datenbanken entwickelt werden, in der Professional Version kann mit den ODBC-Treibern auf lokale und remote-ODBC-Datenbanken zugegriffen werden, die Client/Server-Version erlaubt die Entwicklung zweiseitiger Datenbankanwendungen (SQL-Links). Die in der Schule meist eingesetzte Standard-Version lässt sich mit Freeware-Komponenten zur Nutzung von ODBC nachrüsten.

Delphi kann problemlos auf die hauseigenen Formate wie dBASE und Paradox sowie ASCII zugreifen. Die ODBC- und SQL-Schnittstelle und erlaubt den Zugriff auf weitere Formate wie z.B. Oracle, DB2 und Informix. Man kann natürlich auch auf MS-Access-Datenbanken zugreifen, allerdings setzt dies voraus, dass die entsprechenden DAO-Treiber zur Verfügung stehen, die bei der Installation von Access bzw. Visual-Basic automatisch installiert werden.

Die Datenbankfunktionalität wurde von Borland in die Borland Database Engine (BDE) zusammengefasst. Delphi, Paradox, Datenbank-Explorer, Visual dBase und alle weitere Borland/Inprise-Programme kommunizieren über die BDE mit den Datenbanken. Eine Übersicht zeigt das Bild.

BDE-Konfiguration

Die Konfiguration der Datenbankschnittstelle wird über die BDE-Verwaltung vorgenommen. Sie steht in der Systemsteuerung und im Startmenü zur Verfügung. Die Registerkarte Konfiguration stellt die verfügbaren Treiber dar. Es wird zwischen nativen und ODBC-Treibern unterschieden. Delphi in der Standard-Version kommt nur mit den nativen Treiber zurecht. Für die interaktive Arbeit mit Datenbanken, z.B. Arbeit mit SQL-Anweisungen im Datenbank-Explorer bzw. dem Anlegen und Bearbeiten von Datenbanken mit der Datenbank-Oberfläche kann man auch die verfügbaren ODBC-Treiber benutzen. Insbesondere kann man auch mit ODBC-Treibern auf Access-Datenbanken zugreifen, sofern es Schwierigkeiten mit dem nativen Treiber MSACCESS gibt.

Datenbank-Aliase

Die Registerkarte Datenbanken zeigt alle Datenbank-Aliase, also Name von definierten Datenbanken an. In einem Delphi-Programm benutzt man den Datenbank-Alias, weswegen bei einer Verlagerung der Datei keine Programmänderungen, sondern nur Änderungen in der BDE-Verwaltung nötig sind. In der BDE-Verwaltung können Sie neue Aliase für native Treiber anlegen. Über Objekt/Neu wählt man zunächst den Treiber, dann den Namen fest. Anklicken von Database Name lässt die Datenbankdatei auswählen. Der Parameter LANGDRIVER ist für nationale Anpassungen zuständig.

ODBC-Aliase

ODBC ist gewissermaßen das Pendant von Microsoft zur BDE. Einen ODBC-Aliase legt man am besten in der ODBC-Verwaltung an. Man erreicht sie über die Systemsteuerung. Hinzufügen ruft zunächst die Treiber-Auswahl auf. Anschließend gibt man den Datenquellenname (DSN = DataSourceName) als Alias-Namen ein und ruft über Auswählen den Dateiauswahldialog auf. Die Vorgehensweise ist also ganz analog zum Anlegen eines Datenbank-Alias in der BDE. Spätestens nach Ansicht/Aktualisieren zeigt die BDE den neuen ODBC-Datenbank-Alias an.

Klickt man das Pluszeichen vor dem Alias an, so wird geprüft, ob man die Datenbank öffnen kann. Den Inhalt der Datenbank kann man mit dem Delphi Werkzeug Datenbank Explorer anzeigen.

Aufgabe
Richte für den Zugriff auf die Nordwind-Datenbank einen Alias
  1. mit nativem Access-Treiber und
  2. mit ODBC-Treiber ein.

Der Datenbank-Explorer

Mit dem Datenbank-Explorer kann man alle per Datenbank-Alias verfügbaren Datenbanken untersuchen. Geht man in der Baumstruktur bis zu den Tabellen, so lassen sich über die Registerkarte Daten die Daten der ausgewählten Tabelle ansehen und auf der Registerkarte SQL-Eingabe können Schüler SQL-Anweisungen eingeben und auswerten.

Die Datenbank-Oberfläche

Mit dem weiteren zu Delphi gehörigen Werkzeug Datenbank-Oberfläche (abgespeckte Version der Paradox-Oberfläche) lassen sich über die reine Auswertung von Datenbanken auch relevante Operationen, wie z.B. Anlegen einer neuen Tabelle, Umstrukturieren einer Tabelle, Eingeben neuer Datensätze, Bearbeiten von Datensätzen erledigen. Zusätzlich stehen QBE (Query-by-Example) und SQL zur Verfügung. Im Umgang mit Access-Tabellen ist die Datenbank-Oberfläche etwas unhandlich, weil Access alle Tabellen in einer Datei zusammenfasst, während dBase und Paradox alle Dateien in einem Verzeichnis als eine Datenbank ansehen. Statt der BDE nimmt man für Access-Datenbanken besser Access selbst.