Paradox (データベース)

Paradox（パラドックス）は、現在はコーレルが保守している関係データベース管理システム (RDBMS) 。DOS版は Ansa Software が開発し、Windows版はボーランドが1992年にリリースした。

**Paradox for DOS**
Paradox for DOS は、Richard Schwartz と Robert Shostak が開発したRDBMSで、1985年に彼らが創業した Ansa Software がリリースした。1987年9月、ボーランドが Ansa Software を買収し、Paradox/DOS 2.0 も入手した。3.5までは1.0からの拡張だが、4.0と4.5は Borland C++ で書き直されてGUI対応し、拡張メモリアクセス方法も変更されている。
Paradox/DOS は1980年代末から1990年代初めにかけてそれなりに成功を収めた。当時は dBASEとそのクローンである xBase（FoxPro、Clipper）が市場を占めていた。その他の競合製品としては、Clarion、DataEase、R:Base、Dataflexなどがある。
Paradox/DOS の特筆すべき機能は以下の通り。- AIエンジンによる視覚的な 例示による問い合わせ (QBE, Query by Example) 実装。- メモリ利用の効率性 - テーブルやインデックスをキャッシュすることで、最適化に技量を要する xBase に比べて高速化が簡単である- 画期的なプログラミング言語 Paradox Application Language (PAL) が使える。- テキストユーザインタフェースのメニューやウィンドウがデフォルトのインタフェースである（dBASEはコマンド行インタフェースがデフォルトで、その上に複雑なメニュー層を実装していた）。

**Paradox for Windows**
Paradox for Windows は別の開発チームが開発した全く異なる製品である。DOS版の特徴である QBE やデータベースエンジンはDOSからほぼそのまま移植されているが、言語が PAL から ObjectPAL に変わり、フォームおよびレポートの作成にGUIが導入された。ObjectPAL は議論の的となったが、PAL はキー押下を記録することに基づいていたため Windows では全く異なる方式が必須だった。代わりにHyperCardのアイデアに基づいたオブジェクトベースの言語とした。フォーム及びリポートの設計には、デバイス独立なスケーリングを使い、詳細レイアウトのためにズーム可能である。AltoとSmalltalkにならってマウスの右クリックでフォームとレポートに関するプロパティにアクセスできる。これは最近のWindowsプログラムでは一般的なインタフェースである。ObjectPALは視覚的オブジェクトと対応していて、やはり右クリックで見ることができる。プロパティ表示とレイアウトツールは画面上に固定することができる。これはNeXTにならったもので、今ではWindowsプログラムで一般的である。
当初の開発ではC言語でマクロを駆使してオブジェクト指向的なコードを書いていた。その後 Turbo C++ が利用可能になると、残りはC++で書くようになった。1.0リリースまでの製品マネージャは Joe Duncan だった。開発及び品質保証を含めてチームは総勢30名だった。
Paradox for Windows は Quattro Pro for Windows と密接に連携したプロジェクトで、1990年春から Windows 3.0 のベータ版を使って開発がスタートした。当初の計画より1年間開発が遅れ、1993年初めごろリリース可能となった。遅れた要因は色々あるが、大幅な書き換えであったこと、オブジェクト指向を初めて採用したこと、GUIを導入したこと、新しいオペレーティングシステムを使ったことなどが考えられる。この遅延により、マイクロソフトはAccessをParadoxの数ヶ月前に出荷でき、市場での勝利を得た。
1990年、ボーランドは DOS および Windows 向けの xBase も開発しており、1992年に出荷を予定していた。1992年初めごろ、アシュトンテイトがWindows版の開発が困難な状況に陥ったのを知り、ボーランドは計画を変更してアシュトンテイトを買収し、dBASE の公式な後継を出荷することにした。アシュトンテイト買収にともなってInterBaseを入手したため、ボーランドは Paradox/Windows がInterBaseのデータベースにもアクセスできるようにすることを決め、データベースエンジンとのインタフェースとしてIDAPIを策定した。
この買収によって方針転換が必要になった。Paradox はこれまで dBASE と競合しており、Paradox/Windows は開発者指向の市場にシフトすることで dBASE とは異なる方向を目指す方針だった。しかし dBASE を入手したためその方針は適切ではなくなり、より一般の使いやすさを指向した市場を目指すことになった。しかし、既に開発はかなり進んでいて、そこからエントリーレベル市場に転換することは不可能だった。Access は1992年のクリスマスにリリースされ、その市場を獲得した。それでも Paradox/Windows は健闘した。しばらくするとボーランドではアシュトンテイト買収による悪影響が出始めた。多くの製品開発が中止され、痛みを伴うリストラが敢行され、買収の中心であった dBASE プロジェクトも技術的理由で中止となり、ボーランドの売り上げが低下し、早急な dBASE for Windows の開発が必要となった。ボーランドは幅広い製品を販売するだけの体力を失った。dBASE for Windows がリリースされたときに置換するという方針で Paradox は積極的にはマーケティングされなかった。dBASE for Windows は1994年にリリースされたが、既に時期を逃していた。
Microsoft Access は Paradox/Windows よりもずっと低価格で、Word、Excel、PowerPointと共に Microsoft Office Professional の一部としても販売された。しかも、FoxPro開発チームの貢献によって性能もよかった。その後のバージョンで使いやすさを改善していったにもかかわらず、Paradox は徐々にシェアが減っていった。Paradox は他のボーランド製品と共にWordPerfect社に売却され、WordPerfect の製品として販売され、さらにコーレルが取得してオフィススイートの一部として販売するようになった。dBASE for Windows は出荷があまりにも遅かったため、dBASEおよびxBaseユーザーは既にほぼ同じインタフェースの Microsoft FoxBase に移行していた。ボーランドはInterBase/IDAPIサーバを保持しており、Delphiツール開発に注力するようになり、一部市場では今も根強い人気がある。

**Corel Paradox**
コーレルは1990年代中ごろに Paradox の権利を取得し、1997年に Corel Paradox 8 をリリースした。WordPerfect Office スイートの Professional Edition にも Paradox をバンドルしている。最新版は 11.0.0.676 で、Office X4 Hot Fix 1 および X5 Hot Fix 1 にバンドルされている。

**ユーザー**
Paradox には多数のユーザーがいて（外部リンクにある） Paradox Community やニュースグループを中心に活動している。彼らの多くはPC用DBMSとしては Paradox が一番優れていると信じている。
Paradox/Windows のプログラミング言語 ObjectPAL のファンも多いが、PAL/DOSスクリプトからの移行は容易ではない。オブジェクトやイベントのモデルが全く異なるので、PALからObjectPALへの移行にはアプリケーションの全面的な書き換えが必要になる。

**関連項目**
 XBase- dBASE

**脚注**
上記のVCPI標準は Paradox DOS版 3.5 かそれ以前に対応し、それらは Windows では動作しない。Paradox DOS 4.0 および 4.5 は Windows 2000 以外の Windows で動作可能。Windows 2000 では対応不能なエラーが2種類発生する。

**外部リンク**
  Paradox Community-  Paradox ObjectPAL code snippets-  Paradox File Format-  pxlib Paradoxのデータベースを読み書きするライブラリ-  pxtools ParadoxのデータベースをSQLデータベースに変換するツール-  Paradox Converter Paradoxのテーブルを他の形式に変換するツール-  Paradox DB file viewer