Tdbengine
aus Wikipedia, der freien Enzyklopädie
Der korrekte Titel dieses Artikels lautet „tdbengine“. Diese Schreibweise ist aufgrund technischer Einschränkungen nicht möglich. |
Die tdbengine ist ein "Relationales Datenbank-Management-System" (RDBMS) mit einer integrierten Programmiersprache EASY. Sie wird als Freeware vertrieben. Sie wurde optimiert, um hauptsächlich als Web-Datenbanken eingesetzt zu werden. Die Verbindung mit dem Web-Server erfolgt über die standardisierte CGI-Schnittstelle.
tdbengine ist sehr klein (ca 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 z.B. 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