このページの本文へ

女子大生とゼロから学ぶ データベースの基礎 第1回

RDBMSの考え方を基礎から学ぼう

「データベースってなんですか?」(由美)

2010年01月14日 09時00分更新

文● 樋口千洋

  • この記事をはてなブックマークに追加
  • 本文印刷

データベースとして代表的なのは
リレーショナル方式

お父さん:データベースについてはなんとなくわかったのですが、現実の台帳の内容をどうやってデータベースにすればいいのでしょうか?

先生:台帳の内容など、実世界のデータをコンピュータ上のデータベースに変換する方式にはいろいろなものがあります。中でも現在主流なのは、1970年にIBMのエドガー・F・コッド(Edgar F. Codd)博士が提唱した「リレーショナル方式」というもので、この方式のデータベースを「リレーショナルデータベース」と呼んでいます。

由美:どんな感じのものなんですか?

先生:リレーショナルデータベースでは実世界のデータを関係(リレーション)で表現します。ある商品をお得意さんに納品するケースを考えてみましょう。鉛筆などの商品には、単価や商品名といったそれぞれに固有のデータがありますよね。それらは表形式の商品データとして表わされます。また同じようにして顧客のデータも定義することができます。これらのデータが関係付けられると、新たに納品データを作ることができます(図1)。

図1 リレーショナルデータベースのキモは関係付け

お父さん:この納品データは消しゴムをAさんに1ダース、鉛筆をBさんに6本販売したということを意味するのですね。

先生:そうです。リレーショナルデータベースでは、この商品データなどの表を「リレーション」と呼びます。そして、それぞれのリレーションにおける商品番号や商品名、単価など項目は「フィールド(属性)」と呼んでいます。

由美:でもこうしてみると、表計算ソフトにとてもよく似ているんですね。それぞれのリレーションが表計算ソフトのワークシートね。それで、商品データというワークシートには、商品番号、商品名、単価というラベルがあって、それぞれの具体的な内容が並んでいるって感じね(図2)。

図2 表計算ソフトとリレーショナルデータベースは似ている

先生:そうですね。そのような解釈をすると外見はよく似ています。だからこそ直感的にわかりやすいリレーショナルデータベースが普及したともいえますね。

お父さん:ということは中身が違うんですね。

先生:その通りです。後でまた説明しますが、リレーショナルデータベースではデータベースの「一貫性」が保証されています。たとえば、ある表では消しゴムの単価が100円なのに、別の表では110円だったらおかしいですよね。データベースで管理すると、そういう間違いを排除できるんです。

ディレクトリサービスは
ユーザー認証向け

由美:ほかにもデータベースには種類があるんですよね?

先生:はい、用途に応じてリレーショナルデータベースとは異なったデータベースが使われています。由美さんの大学では、コンピュータは誰でも使えますか? また、学内には誰でも入れますか?

由美:コンピュータを使うためには、私のアカウントとパスワードが必要です。あと学内には誰でも入れますが、図書室などへの入館は磁気カード化された学生証が必要です。

先生:こういう処理を認証といいますが、この認証にもデータベースが利用されています。特に、この認証でデータベースが管理するのは主にユーザー情報です。こうしたユーザー情報の管理にはリレーショナルデータベースよりも「ディレクトリサービス」のほうが向いています。

お父さん:なぜあえてディレクトリサービスなのですか? リレーショナルデータベースではいけないんでしょうか? 新しい話ばかりで当惑してしまって……。

先生:もう少しがんばってください。リレーショナルデータベースでも構いませんが、組織のユーザー情報というのはそう頻繁には更新が発生しません。更新が発生しないということは、検索が中心ということです。検索だけならデータベースとしての負荷は減って、構造も検索に向いた簡単なツリー構造にすることができます。でも、たいていのリレーショナルデータベースは頻繁な更新が発生することを前提に設計されていますので、仕組みが複雑なんです。

図3 リレーショナルデータベースとディレクトリサービス

お父さん:どういう用途で利用されるかは非常に大きなポイントなんですね。

先生:そういうことです。ところで、まわりを見回すとユーザー認証の必要なサービスがいくつもありますが、パスワードって全部管理できていますか?

由美:大学のコンピュータは、みんなパスワードがバラバラで管理しきれません。

先生:固有のリレーショナルデータベースでユーザー認証系を構築してしまうと、使えるシステムが限定されてしまう可能性があります。でもディレクトリサービスでユーザー管理を行なえば、さまざまなアプリケーションから認証を行なうことができるので、一元管理が可能になります。使う側も管理する側もメリットが高くなるわけです。

(次ページ、「全文検索システムは索引作りがキモ」に続く)


 

カテゴリートップへ

この連載の記事