InterBase 6 を使う
はじめに
2000 年も 2/3 を過ぎて MS-Windows 環境で無償利用できる RDBMS が増えてきました。これまでも無償利用可能な RDBMS として IBM の DB2 や、Postgre SQL がありましたが、以下の点で導入を躊躇していました。
そのような中で Unix や Linux では無償利用可能だった MySQL がGPL を採用し、2000 年 7 月末に InterBase Public License (Mozilla Public License を一部変更したもの) に基づいた InterBase 6 が公開されました。純粋な MS-Windows 環境で利用できるので導入するのに (私以外の人の) 抵抗が小さくなるだろうということで使ってみることにしました。
2001/09/15 追加
ところで、InterBase を代替する Firebird という DB があることを知りました。これがどういうものかよくわからなかったのですが、IBPhoenix.com の説明でわかりました。
However with the recent announcements made by Borland, if you don't want to build your own version from source and you want certified binary versions of InterBase from Borland, you are going to have to pay for it. So whats the alternative? The answer is Firebird - the true open source version of InterBase available for download free of charge and freely distributable しかしながら最近、ボーランドが出した声明によると、
「もしあなたが自分自身でソースをコンパイルしてバイナリを作りたくないが、ボーランドが保証する InterBase のバイナリはほしいのならば、有償で入手するように」
ということだった。代替手段はないのか?その答えが Firebird −ダウンロードや配布を自由に出来る真のオープンソース版の InterBase である。
ということです。ただし Firebird はあくまで MPL で GPL ではありません。
このページは色々試しては結果を追加するつもりです。まだ“InterBase 6 を試す”が正しい状態で、あちこちが中途半端なことお許しください。また、ここを読んだ方でいろいろ情報をお持ちでしたら教えてください。
InterBase にはバックドアが見つかっています。これまでにインストールした方はパッチを当ててください。
InterBase をインストールする
入手したファイルを展開し、 setup を実行します。出てくるメニューに従えば問題なくインストールできます。ただし、アプリケーションには isql のようなコマンドライン版 (DOS 窓の環境で実行するもの) のものがあるのですが、インストーラーは path を切ってくれませんでした。よって isql などをコマンドプロンプトから使う場合は手動で path を切らなければなりません。
ツール
ツール名 形態 ツールの内容 IBConsole GUI isql コマンドライン 対話的に、あるいはファイルに記述された SQL 制御文を実行するためのツール gsec ユーザー管理のためのツール gpre C プログラムなどに SQL 制御文を埋め込むときに使うプリプロセッサ gfix 壊れたデータベースファイルを修復するためのツール gbak バックアップを作成するツール
情報処理技術者試験の問題を試してみる(未作成)
ユーザー管理を考える(未作成)
データベースを作る(未作成)
とりあえずの感想
利点
試用期限などの制限を気にせずクライアントーサーバー環境を試せるのがいいと思います
不満な点
メタデータ名 (テーブル名、フィールド名、インデックス名など) に利用できるのが英数字に限られるのは少し不満です。ただし、メタデータ名に (例えば) 漢字を使うのは必ずしもいいことではないようです。
group by を使うとき、select 句に group by 句に指定した列しか指定できません。これは SQL によっては通る仕様のものもあり、情報処理技術者試験の問題の中では×をつけたような問題が載っていました。
create table bookarchive (
writername char(30) NOT NULL,
bookname char(30) NOT NULL
);
insert into bookarchive values ('andrew', 'red planet');
insert into bookarchive values ('andrew', 'blue oyster');
insert into bookarchive values ('bob', 'midnight blue');
insert into bookarchive values ('smith', 'red planet');
insert into bookarchive values ('cris', 'what about public domain');
insert into bookarchive values ('john', 'sweet smail');
insert into bookarchive values ('dean', 'asassin');
insert into bookarchive values ('jadd', 'algolithm');
insert into bookarchive values ('cris', 'about lune');
insert into bookarchive values ('john', 'red planet');× (InterBASE の場合) ○ △ select bookname, writername
from bookarchive
group by bookname
having count(bookname) > 1;select bookname
from bookarchive
group by bookname
having count(bookname) > 1;select bookname, writername
from bookarchive
group by bookname, writername
having count(bookname) > 1;
参考文献
本屋さんを見渡した限りでは世の中は Oracle と MS SQL Server と Postgre SQL のみで出来ているようです。その中で一冊だけ InterBase の本を見つけられました(文献 1)。その後更に 1 冊見つかりました。
番号 | 書名 | 著者・監修者 | 発行 | ISBN | 価格 |
1 | データベース Linux InterBase 4.0 for Linux |
インプライズ株式会社 監修 | アスキー出版局 | 4-7561-2013-X | 4500+税 |
下田雅彦 著 | |||||
2 | データベース Linux Java Servlet による Web サーバー構築 |
インプライズ株式会社 監修 | アスキー出版局 | 4-7561-3379-7 | 3800+税 |
加藤大受・田原孝 共著 | |||||
3 | 初心者のための SQL 入門 (1) はじめてのデータベース操作 |
北本隆 著 | 翔泳社 | 4-88135-870-7 | 2600+税 |
渋井俊昭 著 | |||||
4 | InterBase 6 Language Reference | IinterBase のサイトのβ版マニュアル | |||
5 | InterBase 6 Developer's Guide |