- tdbengine
-
Die tdbengine ist ein Relationales Datenbankmanagementsystem (RDBMS) mit einer integrierten Programmiersprache (EASY). Sie wurde bis Ende 2010 als Freeware vertrieben (für Altnutzer gelten Fortsetzungsregelungen). tdbengine ist hauptsächlich für den Aufbau von Web-Datenbanken optimiert. Die Verbindung mit dem Web-Server erfolgt über die standardisierte CGI-Schnittstelle.
tdbengine ist sehr klein (etwa 400 KByte), extrem schnell und leicht zu verwalten. Es gibt Versionen für Linux (x86), FreeBSD (x86) und Windows (NT/2000/XP). Das System ist in der Programmiersprache Pascal geschrieben und mit FreePascal ohne weitere Bibliotheken oder Pakete kompilierbar.
Bei der integrierten Programmiersprache EASY handelt sich dabei um eine modulare Skriptsprache, welche sich in ihrer Syntax aus verschiedenen Elementen anderer Sprachen, wie zum Beispiel C, Pascal und BASIC bedient. Der Zugriff auf die Daten erfolgt frei von SQL. Somit ist eine wesentlich höhere Geschwindigkeit erzielbar, da beim Lesen direkt auf den Tabellen aufgesetzt werden kann.
Der Funktionsumfang von EASY ist der üblichen Einsatzweise als CGI-Datenbank für Web-Applikationen zugeschnitten und mit rund 300 Befehlen und Funktionen entsprechend umfangreich.
Die Quellcodes werden vom Compiler in einen binären Zwischencode übersetzt. Dieser Zwischencode wird dann zur Laufzeit interpretiert. Das ermöglicht es, Syntaxfehler schon zur Entwicklungszeit zu erkennen und gleichzeitig eine entsprechend schnelle Programmausführung zur Laufzeit zu ermöglichen.
Beispielprogramm:
procedure Main var nBottles : Integer var s : String CgiCloseBuffer nBottles:=99 while nBottles>=0 do if nBottles=1 then s:= else s:='s' end CgiWriteLn(Str(nBottles)+' bottle'+s+' of beer on the wall,') CgiWriteLn(Str(nBottles)+' bottle'+s+' of beer,') if nBottles=0 then CgiWriteLn('Go to the store, buy some more,') CgiWriteLn('99 bottles of beer on the wall.') else CgiWriteLn('Take one down and pass it around,') CgiWriteLn(Str(nBottles)+' bottle'+s+' of beer on the wall,') end nBottles-- end endproc
Weblinks
Wikimedia Foundation.