2011年05月21日

Ubuntuのデータベース・フロントエンドあれこれ

元Macユーザーの私にとってデータベースといえばFileMakerなので、データベースソフトといえばあのイメージがある。実際、あれはよくできたソフトだ。Windowsで代表的なのはAccessだろうが、ごく初期のバージョンを一時使っていた感覚では、あれはかなり高度な知識が必要になる。直感的な操作ということではFileMakerの方がいい感じだったと、まあこれはずいぶんと昔の話。
ともかくも、そういうイメージでUbuntuにやってくると、案外にもデータベースがない。いや、データベース関連のソフトはMacやWindows以上に豊富で強力なわけだ。ところが、これが素人のイメージするFileMakerやAccessとは全くちがう。mySQLやPostgreSQLのサーバーはデフォルトで入っているのだが、「それってどう使うの?」と、まるでとっかかりがない。プログラマが扱う領域なわけだ。それ以外にもオープンソースのデータベースプログラムがあるが、やっぱり敷居が高い。その上のレイヤにもいろいろなプログラムがリポジトリにはあるが、これまた使い方がわからない。結局、FileMakerだのAccessだので私のイメージにある「データベースソフト」は、フロントエンドの印象でしかないわけだ。だから必要なのは、本格的なデータベースサーバーではなくそのフロントエンドのGUIだということ。これがなかなか、「うん、使えるね」というのを見つけられなかった。
実際には、ないわけではない。いちばん簡単なのは、やっぱりOpenOffice(あるいはLibreOffice)のBaseだろう。それでも、FileMakerやAccessに比べればずいぶんと難しい。わかってしまえば「なあんだ」というようなことでも、わからないからなかなか先に進めない。これは、ヘルプとかチュートリアルの問題ではなく、やっぱりUIの設計なのだろうなと思う。だいたいが、私はヘルプとかチュートリアル、マニュアルなんかをほとんど読まず、GUIに導かれるままにソフトを使っていく癖がついてしまっている。「習うより慣れろ」式なわけだ。MacがそういうUI思想だったから、パソコンなんてそういうものだと思ってしまったのかもしれない。そういう感覚でいては、なかなかBaseは使いこなせない。5年間も何度かトライしては敗退を繰り返し、ようやく少しはわかるようになってきた。
そんなとき、単純な失敗でデータをすっ飛ばしてしまうハプニングがあった。幸い使いはじめで実質的なデータはそれほど入っていなかったので被害は小さいのだけれど、それでも一から構築し直さなければならない。それならこれを機会に他のデータベース・フロントエンドに乗り換えるのはどうだろうと、ちょっと調べてみた。
データベースのフロントエンドには、有力なものとして、GnomeのGlomとKDEのKexiがある。以前、データベース用のアプリを探していた時代、どちらもそれぞれに一応チェックした。Glomは何がなんだかわからず、Kexiは当時まだ開発が進んでおらず、動きが非常に怪しかった。たぶんFeistyかHardyの頃だと思う。それでもその時代からどちらもリポジトリには入っていたようで、久しぶりにインストールしてみて、「そういえばこういうのもあったよなあ」と、ようやく思い出した始末。
その頃よりは私も多少はUbuntuのことがわかってきたこともあるのだろう、今回は少しは使えそうな気がした。そこでどちらかで失われたデータベースの再構築ができないかと、ちょっといじってみた。
まず、Kexiを試してみた。使い方がよくわからないからまず見本をと思って「テンプレートから作成」を選択してみたけれど、肝心のテンプレートがない。ネットを探してみても、3つほどしか出てこないから、あまり人気のないソフトなのかもしれない。仕方ないので「新規に作成」から進んでみる。以前に触ったときのはるかな記憶と比較すると、ずいぶん進化した様子。テーブル、クエリ、フォーム、リポートと並ぶ左ペインの感じは、だいたいOpenOfficeのBaseと同じなので使えそうな気がする。ツールがタブ式に配置されているのも運用を開始したら強みになるだろう。早速テーブルをひとつつくってみる。だいたいBaseと同じ感じなのでそれほど迷うことはない。ところが、このテーブルを保存しようとすると文句を言われる。なぜかと思ってよく見ると、どうやら日本語で入力した「キャプション」が、全て「_」と解釈されてしまっている。要は日本語対応がうまくいっていないわけだ。これではちょっと使えない。ということで、この段階でKexiは断念。
次にGlom。こちらは以前の記憶が全くない。これも同様にテンプレートから作成してみようとするのだけれど、これが何度やっても途中で処理が袋小路に入ってしまうらしく進まない。仕方ないので、やはり新規作成。こっちのほうがKexiよりもFileMakerに近い感じかもしれない。データはどうやらカード式に個別に保存される様子だ。これは設計としては堅牢だろうと思う。クラッシュした直後だからこれは好ましく思えた。ただ、その分だけデータのサイズが半端ではない。何もデータを入れていない段階、まだレイアウトすらやっていない段階で37MBもある。これって、運用したらどこまで膨れるのだろうと、ちょっと不安になる。なんだか使い方もよくわからないしと思って公式サイトに行くと、「Ubuntuのリポジトリにあるのはバグが多いからPPAのを使え」と書いてある。テンプレートから作成できなかったのもそのせいかと合点してリポジトリを導入してみるが、なぜか通らない。よく見ると、まだNatty用のリポジトリが出来ていないようなのだ。そこでMarverickのを入れてみたが、これはバージョンがUbuntu公式のものよりも低い。あえてそっちを使おうと思うと依存関係がめんどくさそうなので、この段階でGlomも断念した。
ということで、結局はOpenOffice(LibreOffice)のBaseに戻るわけだけれど、そもそも今回データが壊れたことだって、現在の運用に問題があるからではないかという気がしている。というのは、LibreOfficeのBaseは、どういうわけかコントロールやナビゲーターがうまく表示されず、円滑な運用ができない。しかたないのでWineでWindows版のOpenOfficeを入れてBaseに関してはそっちで運用しているのだけれど、これはさすがにWineだけあってバグっぽく、ときどきJavaを見失ってくれたりもする。こういう無理な運用がやっぱりよくないと思うので、Baseを使うのならLinux上できちんと動くOpenOfficeなりLibreOfficeなりを入れたいと思う。
ということで、Natty用のOpenOfficeのリポジトリがないかと思ってあちこち探したのだけれど、見つかったものは結局はLibreOfficeへの移行パッケージで、OpenOfficeをインストールしてくれるものではなかった。公式の.debファイルをインストールするのは前回失敗しているし(本当は失敗ではなく実行ファイルを見失っていただけなのだけれど)、それならDebianの公式バイナリとか、いろいろ試したけれどダメ。
最後に、LibreOfficeの公式サイトからLibreOfficeの.debファイルをダウンロードして解凍後、そのフォルダで端末を開いてsudo dpkg -i DEBS/*.deb を実行したら、LibreOfficeの最新版がインストールされた。実行ファイルの場所だけが問題で、これは/opt/libreoffice/program内にあった。ここから起動するようにすれば全然問題はないのだけれど、以前にはわからなかったわけだ。
で、本家版のLibreOfficeなら、Baseが全く問題なく動作する。コントロールもナビゲーションも、きちんと表示されるわけだ。なんのことはない。LibreOfficeそのものにはバグはなかった。もしも問題があるとしたら(私の環境だけの問題でないとしたら)、Ubuntu用のパッケージに問題があるわけだ。だから、LibreOfficeそのものの問題としてはいくら検索しても上がってこなかったわけなんだろう。
ということで、これからLibreOfficeを使ってデータベースの再構築をすることになる。手間はかかるけれど、まあ、いろいろといい勉強をさせてもらったわけで、まあこれもよかったのかなと思う。パソコンって、そういうもののような気がするし。
posted by 松本 at 12:24| Comment(0) | Ubuntuのアプリケーション | このブログの読者になる | 更新情報をチェックする