データベース・アーキテクチャ を考える

さぁ、帰ろう...と思ったら雨。
バイク通勤なので、ちょっと雨宿り時間ができてしまった。
(なんとか8時までには投票所へ行かなければ....)

ということで、そんな時間を使いながら、SuperOPAC開発日記を前に進めてみたい。
まずは、[データベース構造]を考る。データベースを考える基本として

・テーブル (ex.同一フォーマットの目録カード)
・フィールド (ex.目録カードの各項目)
・リレーション (ex.特定のフィールド(キー項目)を元にふたつのテーブルとつなぐこと)

を考えるところなのだが、それ以前に考えなければならない基本的なデータベース・アーキテクチャはすでに出来上がっているのです。前の投稿の【参考資料】にもリンクを張っておいた『OpenINDEX: 多種類情報資源相互参照システム』として作ったデータベース構造がそれで、SuperOPACを構築するにあたり、そのデータベースアーキテクチャを使いたいと考えている。

まずは、このOpenINDEXアーキテクチャをかいつまんで解説すると...
基本的な考え方としては、

1) それぞれ固有の構造を持つ複数のデーターベースを、効率よく一元管理する。
2) 複数の固有データベースを串刺しで検索できる
3) 同じ種類はもちろんのこと、種類の違うデータベース同士を、相互に関連づけられる。
4) 後から違う種類のデータベースを受け入れることができる
と、まぁ、こんな構造です。
特に4)は、図書館の目録カードにある[→○○○も見よ]をデータベースの種類を超えて関連づけられるものなのです。

効率を考えなければ、ひとつのデータベースに、考えられるすべてのフィールドを用意する...ってこともアリかもしれませんが、それはあまりにも無謀というもの。無駄なフィールドが増えたり、必要なフィ−ルドだけを抜き出すことも、かなりの労力がかかります。
それに、後々のメンテナンスも大変な作業になる...ということで、たどり着いたのが、このOpenINDEXアーキテクチャなのです。
(って、ここに至るまでに、どれだけの試行錯誤をしたことやら〜...)
------------
※OpenINDEXは、丸山高弘が考案したデータベース・アーキテクチャです。
[PR]
by maruyama_takahiro | 2005-09-11 18:16 | SuperOPAC開発日記 | Comments(3)
Commented by HARA at 2005-10-12 18:35 x
初めまして。
mixiの司書コミュから来ました。
このOpenINDEXで最も売りになるのはデータベースの串刺し検索
だと思うのですが、実際に表示するにあたって、問題はないのでしょうか?
各種データベースは記録方法も違い、テーブルを画一的にできないのでは?また、画一的に表示するならば、データベースの管理者に協力をお願いすることになるのではないでしょうか?
自分は検索データベースにに詳しいわけではないので、もしかしたら見当違いのことを言ってるかもしれませんが、丸山さんの言っているフィールドを大量につけるデータベースを創れたらいいな、と思っているので聞いてみました。

Commented by maru3 at 2005-10-13 22:32 x
>HARA さん
コメント、ありがとうございます。
OpenINDEXアーキテクチャーは、多種類(本来別々のテーブル)の情報を、相互に関連つけられるとともに、串刺し検索ができる構造です。
ひとつのテーブルに大量のフィールドをつくる...という訳ではないので、ご注意くださいませ。

これからもよろしく。
Commented by HARA at 2005-10-15 13:37 x
あ、そうですね。
失礼しました。
わざわざお答えいただき、ありがとうございます。
また、遊びに来ます。
<< デジカメが...欲しい。 SuperOPAC 開発宣言。 >>