GaucheでRDBプログラミング:Gaucheでメタプログラミング(3)(2/5 ページ)
Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部)
GaucheのRDBインターフェイス
GaucheもRDBインターフェイスライブラリを持っています。このインターフェイスはPerlやJavaのRDBインターフェイス同様に、RDBソフトに依存しないAPIを提供するDBI(Database Independent Interface)と、DBIと各RDB用ライブラリをつなぐDBD(Database Driver)の2つのレイヤに分かれています。
従って、GaucheでRDBを扱うプログラミングを行うには、各RDBソフトのインストールのほかに、各RDBソフトに対応したDBDをインストールする必要があります。
現在、Gaucheから使えるDBDの一覧は、Gauche PackagesまたはGaucheのWebフレームワーク「Kahua」のDBIページにあります。
SQLite3のインストール
この連載では、RDBソフトとして扱いが簡単なSQLite3を使います。SQLite3はMySQLやPostgreSQLのようなクライアントサーバ型ではなく、ライブラリと1つのデータベース格納ファイルで動くシンプルなRDBソフトウェアですが、SQL92にほぼ準拠しているので開発環境や簡単なデータ管理には十分な機能を持っています。もちろんオープンソース(Public Domain)です。
SQLite3自体のインストールは各OSのパッケージ管理システム(apt、yum、portsなど)でインストールできます。注意する点としては、いくつかのパッケージ管理システムではヘッダファイル(.h)が、開発用パッケージとしてSQLite3本体とは分かれている場合があるので、ヘッダファイルも必ずインストールしてください。
Gauche用DBDは、kikuchiさんの作られたSQLite3ドライバを使います。インストールはおなじみの手順です。
% wget http://autogol.ath.cx/dbd-sqlite3/Gauche-dbd-sqlite3-0.1.3.tgz % tar xzf Gauche-dbd-sqlite3-0.1.3.tgz % cd Gauche-dbd-sqlite3-0.1.3 % ./configure % make % make check
make checkの結果表示の最終行が以下のようになっていればmake成功です。
Testing dbd.sqlite3 ... passed.
あとはインストールしてください。
% sudo make install
これからRDBプログラミングで使うDBを作成しておきましょう。用意したalih.sqlファイルをダウンロードし、sqlite3コマンドを使いテスト用のDBを作成します。なお、このデータは私が仕事で関係しているアジアリーグアイスホッケーの成績データを引用させていただいています。
% mkdir GaucheWork # これからプログラミングで使うための適当なデイレクトリーを作ります % cd GaucheWork % wget http://www.atmarkit.co.jp/fcoding/articles/gauche/03/alih.sql % sqlite3 alih.db < alih.sql % sqlite3 alih.db .... sqlite> select * from players; # データが出来ているか確認 1|20|KATAYAMA,Kazuhito|G|3|0|0|0|0|0|9/4|0|0|0 2|31|MATSUMOTO,Shiro|G|3|0|0|0|0|0|3/3|0|0|0 3|39|KIKUCHI,Naoya|G|24|0|0|0|0|0|91/64|0|0|0 .... 25|40|FUJITA,Kiyoshi|F|27|16|6|10|48|42|25/15|16|0|0 sqlite> .quit # sqlite3コマンドの終了 %
Copyright © ITmedia, Inc. All Rights Reserved.