第4回 リレーショナルデータベース

このコラムを書くのに、いろいろな資料をひっくり返していたら、私が大学生のころ使ったソフト(スウィングver.2)の説明書が出てきました。
ま、いわゆるNECのPC98用のソフトでかれこれ十年くらい前の物。ハードディスクも10MBで、インターネットなんて誰も知らなかったころです。
その説明書、よくよく見てみたらリレーショナルデータベースシステムって書いてあって笑ってしまいました。そんなこと意識しないで、このソフトで、自宅の図書管理システムとバイト先の某家電チェーンの顧客管理システムを作ってたとは。そういうことで、この与太話を読まないでも、差し支えなくRDBMS(リレーショナルデータベースマネジメントシステム)はマスターできるということのようです。

ま、でも簡単な解説?をしましょ。(じゃないとこのコラムの連載が終わってしまう)Web-DBのデータベースというものは、どういうものかというのを、前回の定義から。

 ・データを格納する形式
 ・データを操作するインターフェース
 ・Webサーバーと連動機能
 ・データベースから情報を引き出して分析可能

でしたね。RDBMSははじめの二つに特徴があります。まず、「データを格納する形式」です。いくつかのテーブルをあるキーで関係付けをするという特徴があります。
こう書くと「なんのこっちゃ?」という感じなので、分かりやすく説明してみましょう。たとえばどっかの企業の社員。

この人に関する情報はどんな感じになっているかと言うと、

名前
住所
所属部所

でも、これだとこの人どこでなんの仕事してるのか分からないので、

名前
住所
所属部所
所属部所の仕事内容
会社の住所

なんて情報を加える必要があります。さらに行くと、会社自体の規模だの所属部所の実績などなど 加え出すときりがないわけです。しかもその部所には何人もいるわけですから、情報が爆発的に増えるわけです。でも、ちょっと考えると、まとめたり 共通で使える情報があるはずです。たとえば

・個人の情報
名前
住所
所属部所名

・部所の情報
部所名
所属部所の仕事
内容会社の住所

このときに、ある個人の情報を見て、そこの所属部所名を見て、部所の情報を拾うという手続きをとれば、人数分の部所情報を用意しないでも良いわけです。
こういうなんか探す手がかり(キー)を元に、他の情報の塊から内容を引っ張ってくることができることをリレーション構造といいます。
こういう構造を持ってるのがRDBMSの特徴のひとつです。この特徴を使うと、いろいろすごいことを知るための構造を作れます。
そのために、Web-DBのDBに必要な条件の
 ・データベースから情報を引き出して分析可能
を満たしていると言えます。どうしてリレーション構造があると こういうことが出来いるのかはそのうちおいおいということで。もうひとつのRDBMSの特徴に「データを操作するインターフェース」があります。
このRDBMSのインターフェースは超有名です。「SQL」と呼ばれているものです。これは、構造型問い合わせ言語の英語訳の省略形で、Structured Query Languageの略です。まぁ、手っ取り早い話がさっき言ったリレーション構造になっている情報を手早く探して来たり、内容を書き換えたり、内容を追加したりする言語です。
言語というくらいですから、インターフェースとは言っても、えっらい地味です。
こっちがなにやってるのか悩めます。MACやWindowsなどのGUIに馴染んだ人々にはなんのこっちゃという代物です。
ただ、このままではちょっと問題があるんですね。RDBMSはSQLしか理解できないということです。Web-DBを作る上ではこのSQLをいかに してWebサーバーからデータベースに引き渡すのかが問題になります。ここの部分は、各ベンダーごとやシステムごとの独自の技術なんで、 次回はここに焦点を絞りつつ、現行のRDBMSの製品を紹介して行きましょう。----- EXTENDED BODY: