Eine Frage, die in den Kursen immer wieder auftaucht ist die nach einer einfach zu verwendenden Datenbank. “Kann so schwierig nicht sein...” war der erste Gedanke dazu - in der Open Source gibt es reichlich Implementationen, die dies leisten. Das ist auch richtig, allerdings bieten die meisten Lösungen nur eine geringe Bandbreite an unterstützten Systemen, verwenden ODBC (Open DataBase Connectivity) oder setzen auf Datenbanksystemen auf, deren Vorhandensein vorausgesetzt wird. Die meisten dieser Datenbanksysteme sind weder leichtgewichtig noch einfach zu installieren, benötigen häufig Administratorrechte usw. Also weit entfernt vom Interesse der Teilnehmer, die etwas einfaches und portables suchen, welches nicht erst umständlich auf einem Rechner installiert werden muss.
Schließlich stieß ich bei den Recherchen auf DataReel, ein einfaches relationales Datenbanksystem in der Tradition von DBase - Open Source, übersichtlich, objektorientiert, reichliches Beispielmaterial, umfangreiche Dokumentation (Englisch), nutzbar mit mehreren Compilern (MSVC, GCC, HPUX) und auf verschiedenen Plattformen (u.a. Windows und Linux). Der Vorbereitungsaufwand zur Verwendung ist gering und außer den mitgelieferten Klassensystemen wird nichts weiter benötigt - also einfach perfekt.
Die folgende Anleitung zeigt die ersten Schritte und wie man DataReel mit Code::Blocks zum Laufen bekommt.
Erster Schritt Download des DataReel Zip Files aus dem Downloadbereich der DataReel Homepage. Das zip File enthält alle Quellen und Informationen die benötigt werden, jede Menge Beispiele und eine vollständige Dokumentation. Die in Code::Blocks benötigten Dateien sind in den Ordnern src (cpp Quellcode-Dateien) und include (header-Dateien) enthalten. Will man das Datenbanksystem nutzen, dann kann man diese Dateien in den Projektordner kopieren, in das Projekt mit aufnehmen, mit übersetzen und das war es dann auch schon - die DataReel Datenbank ist bereit. Hinweis: der Übersetzungsvorgang unter Code::Blocks wirft einige Warnings, die aber zunächst ignoriert werden können. Wenn es einem nichts ausmacht eine ziemlich große Anzahl von Dateien (84 Quellcode-Dateien und 104 Header) in das Projekt einzubinden muss man nichts weiter tun.
Eleganter ist es aber die cpp-Dateien zu einer statischen Library zusammenzufügen, so dass man statt der 84 Quelldateien nur eine Library hinzulinken muss, und den Include-Pfad zu erweitern. Danach hat man eine 1,2 MB Datei mit dem Datenbanksystem und die Header können einmal an zentraler Stelle vorgehalten werden.
Um eine statische Library zu erzeugen geht man wie folgt vor:
Schritt 1 - Projekt für eine statische Library in Code::Blocks anlegen Code::Blocks starten und im Menü “File -> New -> Project...” aufrufen. In der Auswahlliste nach unten scrollen und den Eintrag “Static library” auswählen und mit Doppelklick oder dem Button “Go” bestätigen.
|