DBASE

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

dBASE(ディーベース)は、初期のマイクロコンピュータに向けて開発され広く使われた最初のデータベース管理システム(DBMS)である。アシュトンテイト社によって発売され、CP/MApple IIMS-DOS搭載のPC/AT互換機などで動作した。

数年間、世界で最も売れたソフトウェアとなったが、Microsoft Windowsへの対応はうまくいかず、ParadoxClipperFoxProなどの新たな製品に取って代わられた。dBASEは1991年ボーランド社に売却されたが、1999年にボーランド社は権利を売却し、新たに dBASE Inc. が設立されている。

1980年代中盤から、他社がdBASEを真似た製品やプログラミング言語を開発している。FoxPro(現在は Visual FoxPro)、Quick-Silver、Clipper、Xbase++、Harbour などである。これらは非公式ではあるが、まとめて xBase あるいは XBase と呼ばれている。

dBASE のファイル形式である dbf は構造のあるデータを単純なフォーマットで格納する形式であり、多くのアプリケーションで使われている。

dBASE は15年間のサポート保証付で販売されていた。

目次

歴史

dBASEの歴史は1960年代中盤までさかのぼる。そのころ、RETRIEVE というシステムが開発され、Tymshare Corporation から販売された。この RETRIEVE のユーザのひとつがジェット推進研究所(JPL)である。1960年代終盤にJPLはプログラマ Jeb Long にRETRIEVE のカスタマイズ版の作成を頼んだ。その結果開発されたのが UNIVAC 1108 汎用機上でFORTRAN言語を使って書かれた JPLDISJet Propulsion Laboratory Display Information System)である。

1978年、Jeb Long の友人であり JPL のプログラマである C. Wayne Ratliff は、JPLDIS の機能をCP/M上に再現するデータベースプログラムをアセンブリ言語で書いた。彼はこれをスタートレックのミスター・スポックにちなんで Vulcan と名づけた。1982年の Popular Computing誌の記事およびProgrammers at Work: Interviews With 19 Programmers Who Shaped the Computer Industry (ISBN: 1556152116)収録のRatliffをインタビューした記事によれば、Vulcan はRatliffがフットボール賭博で必勝法を見つけるために作られたのだという。その後も改良と拡張を加えたころ、Ratliff は「これは売れるかもしれない」と考えた。

1979年10月から数ヶ月間、Vulcan の広告が BYTE magazine誌に掲載された(販売価格は7000ドル)。しかし反応は薄かった。1980年夏ごろ、Ratliff は仕事とVulcanの改良に疲れたために販売を中止し、すでに購入してくれたユーザのサポートだけに専念することにした。

アシュトンテイト

George Tate と Hal Lashlee は Vulcan の噂を聞いて、Ratliffのところへ行き、Vulcanのデモを見せてもらった。彼らはすでに Discount Software という会社を経営していた。彼らは Ratliffから Vulcan の独占販売権を得た。製品名はdBASE IIと変更された。dBASE とするよりも完成された感じがするからということで 「II」を付けたのである。これは当初まったく売れなかった。Ratliff 自身が売っていたときよりも悪かったくらいである。しかし1981年にIBM PCが発売されて状況が劇的に変化する。dBASE II はキラーアプリのひとつとなった。1982年、アシュトンテイトは Ratliff を技術部門の副社長として迎えた。1983年には株式上場を果たしている。(注:アシュトンテイトの名前は、Hal Lashlee が自分の名前を出すことをきらったため、架空の Joe Ashton という名前を使い、後に George Tate の名前と組み合わせて Ashton-Tate としたものである。)

Ratliff と アシュトンテイトの取り決めは2,3年続いた。Ratliff は後にdbase iiiのプロジェクトマネージャを務め、設計者としてもプログラマとしても働いた。Jeb Long もこの時期に雇われ 8年間勤めている。彼は dBASE の指導者として知られ、dBASE内部のプログラミング言語の基本設計も行った。

その後の dBASE シリーズ

  • dbase iii 1984年6月:プログラムが大きくなったためC言語で開発されたが、このために古いPCでは性能が悪化した。
  • dBASE Mac 1986年:GUIを備えていてPC版とデータ互換はあるが、他のMac用データベースより機能的に劣っていた。結局、二年後にdbase iiiを完全移植し、DOS版との完全なインターフェイスを備えたバージョンをリリースしている。
  • dbase iv 1988年10月:非常にバグが多く、FoxBaseClipperなどの互換製品のために販売は苦境に陥った。アシュトンテイト社は FoxBaseを訴えたが、結局知的財産権はJPLにあることが確認され、裁判は即座に終わった。傾きかけた同社は1991年ボーランド社に買収された。dBASE-IVのバグが修正された上で、よりハイエンドなプラットフォームに移植された。SolarisAIXVMSなどである。dBase-IV は1993年ごろまで販売され続けた。
  • dBASE 5 ボーランド社は dBASE-IVと互換があってオブジェクト指向インターフェイスを備えた dBASE 5 を開発しようと悪戦苦闘したが、結局 dBASE-IV のコードをベースとすることをあきらめ、WordTech 社から dBASE互換製品 DBXL の権利とプログラマを買取り、dBASE 5 を完成させた。DBXL は仮想マシン方式で書かれており、多くのプラットフォームへの移植が容易だった。PC版がリリースされた1994年には dBASE の市場シェアは急速に低下していた。ボーランド社は dBASE Inc.に権利を売却した。

dBASE Inc. は製品サポートのための会社だったが、新たなバージョンもリリースしている。Windows向けのオブジェクト指向データベース dbase plus などだが、現在SQLベースの製品が主流の市場にあっては dBASE はほとんど力がないと言える。

dBASE プログラミング言語

Vulcan を IMSAI 8080 や CP/M さらには MS-DOS に移植した後、Ratliff は画面表示を扱うコマンド群や制御構造(DO WHILE/ENDDO や IF/ENDIF)を追加した。データを扱うため、dBase にはファイルを操作する様々な機能があり、文字列/数/日付などを操作する各種機能がある。関連するデータを持つ複数のファイルを同時にオープンして操作できることから、アシュトンテイトは dBase を「関係データベース」と称したが、もちろんエドガー・F・コッド関係モデルに準拠しているわけではない。あえて分類するとすれば、関係データベースとナビゲーショナルデータベースの中間である。

dBase はインタプリタを備えており、ユーザーはプロンプトにコマンドを打ち込むことでそれを実行させることができる。スクリプト(拡張子は PRG)も DO コマンドを使ってインタプリタで実行され、その中の各コマンドや変数も実行時に評価される。このため dBase プログラムは簡単に書くことができ、コンパイルなどの手間もかからない。これは、CPUの性能が低い時代には重要な特徴だった。インタプリタはメモリ管理も自動的かつ動的に行うため(メモリ確保などが不要)、プログラミングに不慣れな人でも簡単に使うことができた。

逆に、ユーザーが dBase の言語に習熟してプロが現れるようになると、その単純さが足かせとなってきた。より複雑で大規模なアプリケーションが開発されるようになって、信頼性と性能のために高度なプログラミング機能が要求されるようになった。

アシュトンテイトと競合するクローンメーカーは、ユーザー定義関数、変数スコープ、複雑なデータを扱う配列、パッケージ機能、オブジェクト指向的構文、遠隔のデータベースにアクセスするインタフェースなどのプログラミング機能を導入するようになってきた。アシュトンテイトも同様の機能を導入していった。さらにSQLも導入されるようになった。

1980年代後半、dBase 言語の標準化が検討された(IEEE 1192)。その際にアシュトンテイトの製品と区別するために "XBase" と呼ばれるようになった。dBase や XBase プログラミングについての書籍も数多く出版された。Joseph Carrabis は1980年代後半に dBase に関するマニュアル本をいくつか執筆し[1]、著書の販売数で世界でも十指に入ることになった。

今日、dBase 言語の実装は拡張され、様々な機能が追加されている。GUI操作、分散処理、インターネット、最新の周辺機器とのインタフェースなどである。従来互換のために dBase 言語をサポートするアプリケーションはあるが、dBase/XBase は既に主要な標準とは言えないものとなった。

プログラミング例

以下の例では、従業員表("empl")を開き、"filter"をセットしてマネージャー(部下を持つ人)を選択して表示し、給料を10%上げて、結果をプリンターに印刷する。

 USE empl            
 SET FILTER TO supervises > 0
 GO TOP
 IF .NOT.EOF()
   BROWSE
   REPLACE ALL salary WITH salary * 1.1
   GO TOP
   LIST fname, lname, salary TO PRINT
 ELSE
   WAIT "該当がありません"
 ENDIF
 SET FILTER TO
 USE

dBASE は初めて(Perlのずっと以前に)ビジネス向けに文字列評価を実装した。

 i = 2
 myMacro = "i + 10"
 i = &myMacro.
 * i now has the value 12 

"&" は "MyMacro" に格納されている文字列の内容をプログラムコードであるかのように評価する。

ニッチ

この言語はビジネス用言語としては使われなくなってしまったが、ちょっとしたデータ変換には非常に使いやすい言語である。SQLと違って、データを変換して目に見えるファイル形式にするのも簡単に行える。これは、標準的なRDBMSと配列言語(APLやその進化形であるJ言語K言語)の中間のようなものとも言われている。

ファイルフォーマット

dBASEの大きな遺産は .dbf ファイル形式であり、多くのアプリケーションで活用されている。たとえば、地理情報システムで使われている shapefile 形式(ESRIが開発)は .dbf ファイル形式で属性データを格納している。この形式をサポートするアプリケーションは XBase と呼ばれている。

dBASE のデータベースシステムはヘッダー部(ファイル内のデータ構造を記述)を備えた最初のシステムとも言われている。これはつまり、プログラム自身がデータ構造を事前に知らなくてもファイルを扱えるということを意味する。

もう1つのファイル形式 .dbt はメモフィールド用である。キャラクタフィールドはそれぞれ254文字までに制限されているが、メモフィールドは10バイトのポインタで .dbt ファイルを指し、そこにさらに大きなテキストを置くことができる。dBase でのメモフィールドの処理は限定的だったが、Clipper などの xBase 言語では、メモフィールドをキャラクタフィールドとほぼ同じように操作できる。

dBase は .ndx ファイルをインデックスに使用する。一部の xBase 言語では .ndx についても互換を保っているが、異なる形式を使う言語として Clipper(.ntx 形式)や FoxPro(.cdx 形式)がある。

脚注

  1. ^ "Amazon.com: The Best Book of dbase iv" 2008-05-04閲覧.

外部リンク

Article keywords: dbase iv, dbase iii,

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net