データベースとして代表的なのは
リレーショナル方式
お父さん:データベースについてはなんとなくわかったのですが、現実の台帳の内容をどうやってデータベースにすればいいのでしょうか?
先生:台帳の内容など、実世界のデータをコンピュータ上のデータベースに変換する方式にはいろいろなものがあります。中でも現在主流なのは、1970年にIBMのエドガー・F・コッド(Edgar F. Codd)博士が提唱した「リレーショナル方式」というもので、この方式のデータベースを「リレーショナルデータベース」と呼んでいます。
由美:どんな感じのものなんですか?
先生:リレーショナルデータベースでは実世界のデータを関係(リレーション)で表現します。ある商品をお得意さんに納品するケースを考えてみましょう。鉛筆などの商品には、単価や商品名といったそれぞれに固有のデータがありますよね。それらは表形式の商品データとして表わされます。また同じようにして顧客のデータも定義することができます。これらのデータが関係付けられると、新たに納品データを作ることができます(図1)。
お父さん:この納品データは消しゴムをAさんに1ダース、鉛筆をBさんに6本販売したということを意味するのですね。
先生:そうです。リレーショナルデータベースでは、この商品データなどの表を「リレーション」と呼びます。そして、それぞれのリレーションにおける商品番号や商品名、単価など項目は「フィールド(属性)」と呼んでいます。
由美:でもこうしてみると、表計算ソフトにとてもよく似ているんですね。それぞれのリレーションが表計算ソフトのワークシートね。それで、商品データというワークシートには、商品番号、商品名、単価というラベルがあって、それぞれの具体的な内容が並んでいるって感じね(図2)。
先生:そうですね。そのような解釈をすると外見はよく似ています。だからこそ直感的にわかりやすいリレーショナルデータベースが普及したともいえますね。
お父さん:ということは中身が違うんですね。
先生:その通りです。後でまた説明しますが、リレーショナルデータベースではデータベースの「一貫性」が保証されています。たとえば、ある表では消しゴムの単価が100円なのに、別の表では110円だったらおかしいですよね。データベースで管理すると、そういう間違いを排除できるんです。
ディレクトリサービスは
ユーザー認証向け
由美:ほかにもデータベースには種類があるんですよね?
先生:はい、用途に応じてリレーショナルデータベースとは異なったデータベースが使われています。由美さんの大学では、コンピュータは誰でも使えますか? また、学内には誰でも入れますか?
由美:コンピュータを使うためには、私のアカウントとパスワードが必要です。あと学内には誰でも入れますが、図書室などへの入館は磁気カード化された学生証が必要です。
先生:こういう処理を認証といいますが、この認証にもデータベースが利用されています。特に、この認証でデータベースが管理するのは主にユーザー情報です。こうしたユーザー情報の管理にはリレーショナルデータベースよりも「ディレクトリサービス」のほうが向いています。
お父さん:なぜあえてディレクトリサービスなのですか? リレーショナルデータベースではいけないんでしょうか? 新しい話ばかりで当惑してしまって……。
先生:もう少しがんばってください。リレーショナルデータベースでも構いませんが、組織のユーザー情報というのはそう頻繁には更新が発生しません。更新が発生しないということは、検索が中心ということです。検索だけならデータベースとしての負荷は減って、構造も検索に向いた簡単なツリー構造にすることができます。でも、たいていのリレーショナルデータベースは頻繁な更新が発生することを前提に設計されていますので、仕組みが複雑なんです。
お父さん:どういう用途で利用されるかは非常に大きなポイントなんですね。
先生:そういうことです。ところで、まわりを見回すとユーザー認証の必要なサービスがいくつもありますが、パスワードって全部管理できていますか?
由美:大学のコンピュータは、みんなパスワードがバラバラで管理しきれません。
先生:固有のリレーショナルデータベースでユーザー認証系を構築してしまうと、使えるシステムが限定されてしまう可能性があります。でもディレクトリサービスでユーザー管理を行なえば、さまざまなアプリケーションから認証を行なうことができるので、一元管理が可能になります。使う側も管理する側もメリットが高くなるわけです。
(次ページ、「全文検索システムは索引作りがキモ」に続く)
この連載の記事
-
最終回
ソフトウェア・仮想化
「せんせい!SQLってRDBを操作する言語よね?」(由美) -
第3回
ソフトウェア・仮想化
「インデックスとトランザクションって」(由美) -
第2回
ソフトウェア・仮想化
「由美ちゃん、これがRDBの要素だよ」(先生) - この連載の一覧へ