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