- Paradox (Programmiersprache)
-
Paradox ist eine Datenbankentwicklungsumgebung bzw. ein dateibasiertes Datenbankformat der Firma Borland bzw. Corel, welches dBASE III, dBASE 3+ und dBASE IV sehr ähnlich und seit den 1980er Jahren auf dem Markt erhältlich ist.
Inhaltsverzeichnis
Aufbau
Datenbank
Paradox ist für den Betrieb mit der Borland Database Engine (BDE) vorgesehen. Diese ist selbst nicht Teil von Paradox, sondern eine eigenständige Bibliothek und wird in vielen anderen Softwareprodukten eingesetzt.
Die BDE stellt eine relationale Datenbank bereit. Jede Tabelle und jeder Index belegen dabei eine eigene Datei. Beim Mehrbenutzerbetrieb liegen diese Dateien auf einem Netzlaufwerk, während die BDE-Instanzen der teilnehmenden Rechner den gemeinsamen Zugriff miteinander durch Sperrdateien koordinieren.
Benutzerschnittstelle
Kernfunktionalität von Paradox sind die Formulare. Das sind Windows-Fenster, die man mit Hilfe der (kostenpflichtigen) Entwicklerversion durch Platzieren von vorgefertigten Eingabe- und Bedienelementen entwirft. Hierdurch entstehen Bildschirmmasken zum Betrachten und Eingeben von Daten.
Eine Programmierung im Sinne von Programmcodezeilen ist hierbei nicht erforderlich. Das Laden, Sperren und Speichern von Datensätzen besorgt die Paradox-Laufzeitumgebung automatisch.
Eine weitere Benutzerschnittstelle sind die sogenannten Reports. Sie werden in ähnlicher Weise konstruiert wie die Formulare, dienen aber nicht der Bildschirmdarstellung, sondern zum formatierten Ausdrucken.
Ein Formular belegt je eine Datei, ebenso ein Report.
Scriptsprache
Zu fast allen Ereignissen (etwa Eingaben, Blättern oder Mausklicks) kann Programmcode hinterlegt werden, der die Paradox-eigene Abarbeitung des Ereignisses in beliebiger Weise verändert. Beispielsweise kann man beim Ereignis "Speichern" unstimmige Daten erkennen, eine Meldung ausgeben und die Speicherung abbrechen. In modernen Begriffen kann man dies als Scriptsprache bezeichnen.
In Paradox steht als Scriptsprache die Paradox Application Language (PAL) bzw. ObjectPAL (in den Windows-Versionen) zur Verfügung. ObjectPAL ist die objektbasierte Variante von PAL (es wird hier bei Paradox korrekt zwischen objektbasiert und objektorientiert unterschieden). Beide sind von Pascal abgeleitet.
Oft wird die Scriptsprache unscharf ebenfalls als "Paradox" bezeichnet.
Anwendungsprogrammierung
Paradox-Anwendungen werden in einen Zwischencode kompiliert. Zum Ablauf dieser Programme ist weiterhin ein Paradox-System oder eine (kostenfreie) Paradox-Runtime notwendig. Im Gegensatz zu etwa Access muss durch die Teilkompilierung der Quellcode nicht weitergegeben werden.
Versionsgeschichte
Paradox für Windows 1.0 erschien Anfang der 1990er Jahre. Aus Marketinggründen wurde die Version 1.1 als Version 4.5 auf den Markt gebracht - da Paradox für DOS bei diesem Versionsstand war. Das Paradox-Tabellenformat wird daher bei Paradox für Windows 1.0 und 4.5 auch bis Level 4 unterstützt. Paradox für Windows 5.0 war dann die eigentliche zweite Generation (Paradox Table Level 5). Danach kam Paradox 7 in einer Version für Windows 16-Bit und Windows 32-Bit (Level Table 7 - der letzte Formatstand). Die letzte deutsche Version ist Paradox 9, die letzte englische Paradox 11. Diese Version wird auch mit einigen Versionen der aktuellen Office-Suite von Corel ausgeliefert.
Mitbewerber in dieser Kategorie Datenbankentwicklungssysteme ist etwa das bereits erwähnte Microsoft Access, wobei Paradox von Anfang an für Entwickler ausgelegt war (leistungsstarke Programmierfähigkeiten) während Access eher auf Endbenutzer (leichte Bedienbarkeit) getrimmt war. Ebenso beherrscht Paradox bzw. die DB-Engine sog. Record-Locking und ist daher besser für Mehrbenutzerbetrieb geeignet.
Das Produkt Paradox (für Windows) wurde nach Version 7 für Windows an Corel abgegeben (erste Version von Corel ist Corel Paradox 8).
Sicherheit
Der Inhalt von Paradoxdatenbanken ist mit paradoxfremden Mitteln, auch mit einfachen Textverarbeitungsprogrammen, zu lesen. Das Paradoxprogramm bietet die Möglichkeit, den Dateninhalt zu verschlüsseln. Zur Entschlüsselung solcher Dateninhalte braucht man aber keine Kenntnis eines Kennwortes oder ähnlichem: Die Regeln der Verschlüsselung sind fest und der Schlüssel zum Lesen ist in der Datenbank mit gespeichert, so dass keine Brute-Force-Passwortsuche nötig ist. Das Hilfsprogramm decryptpdxtable kann zum Speichern einer unverschlüsselten Kopie einer Paradoxdatenbank verwendet werden.
Weblinks
Wikimedia Foundation.