Previous: データベースは情報をどのように組織しているか
Up: リレーショナル・データベースとは
Previous Page: データベースは情報をどのように組織しているか
Next Page: リレーショナルとは
図書館と比較して、リレーショナル・データベースの新しさは、それが、情報の
いれものとして、本の代わりに「テーブル」を採用していることにある。
「テーブル」は、たてよこに罫線の入った表をイメージしてもらって構わない。むし
ろ、普段、我々が目にする表は、ある行が何段かに細分されたり、複数の項目にまた
がった中項目や大項目があったり意外と複雑な構造を持っていることもある。そういう
意味では、データベースの「テーブル」は、もっとシンプルな表だと思っていい。
もちろん、構造は単純でも、膨大な量の情報を蓄えることはできる。リレーショナル・
データベースでは、こうした単純な構造の表が、多数集まって、お互いに協力しあって
複雑な情報を蓄えているのである。
以下に「テーブル」の満たすべき要件を列挙してみた。
- テーブル」は、「名前」を持つ。
- リレーショナル・データベースの中には、沢山のテーブルが準備されている。
沢山のテーブルの中から、求めるテーブルを指定するために、テーブルには、
名前が必要である。これを「テーブル名」と呼ぶ。
- テーブル」は、同じ構造を持つ「行」から構成される。
- いくつかの行が集まってテーブルを構成している。先に、テーブルの構造は、
普通の表よりも単純だと述べたが、それは各行は同じ構造を持つという、この
要件を、テーブルは守っているからである。
行は、情報の一つのまとまりをなしている。物理的なイメージでは、ファイル
上の「レコード」を連想されてもいい。本書で、「行」というのは、rowの訳
語である。
- 行」は、「項目(カラム)」から構成される。
- リレーショナル・データベースの扱う情報の最小単位は、この項目の中におさ
められている。行の中の項目は、情報の原子で、行は、情報の分子だと考えて
もいい。ただ、このとき忘れてならないのは、項目は項目で、テーブルの中
で、行をつらぬいて一つのまとまりをなすということである。テーブルの中
の項目は、やはり情報の分子なのである。
- 項目(カラム)」は、「名前」を持つ。
- 項目におさめられた情報を引き出すためには、項目を指定する必要がある。
それには、名前が必要である。これを「項目名」と呼ぶ。
- 項目(カラム)」は、「型」を持つ。
- これも、テーブルの構造の単純さを保証する条件である。正確にいえば、「同
一の項目は、同一の型を持つ」ということである。テーブルの一つのカラムに
は、同じデータタイプのデータしか入ってはいけない。テーブルをつくるため
には、この「型」を定義する必要があるということになる。前に、「同じ構造
の行」という要件について述べたが、実は、この「構造」とは、ここで述べた
項目の型の並びがつくる構造に他ならない。
- 行」は、一意に指定可能でなければならない。
- 本当は、この要件はもっと先に述べるべきなのだが、わざとここに持ってき
た。テーブルに名前があって、項目にも名前があって、行中の項目におさめら
れている情報が、リレーショナル・データベースの情報の最小単位なら、この
情報にアクセスするためには、行にも名前があっていいように思う。ところ
が、行には名前は無い。しかし、行は一意に指定可能でなければならないとい
う。それでは、どうしたらこうしたことが可能なのだろうか? 行の指定で
基本的なのは、各行の特定の項目(ないしは、複数の項目の組み合わせ)の
内容が、その行を一意に特定するようにすることである。別の言い方をすれば
行のなかみそのものが、行を区別する情報を含んでいなければならない。
こうしたやりかたを採用しているので、もし、まったく同じ内容の行が複数存
在するとすれば、それらを相互に区別する「一意の指定」は不可能となるか
ら、テーブルの中に、同じ行は存在してはいけないことになる。
すこし、話が面倒になって来たが、細かな議論は、リレーショナル・データベースに
慣れてから、もう一度、振り返ることにして、当面は、情報の入れ物としてのテーブル
の特徴を、次の様におさえておくので十分である。
- 「データベース」は、「テーブル」から構成される。
- 「テーブル」は、「行」から構成される。
- 「行」は、「項目(カラム)」から構成される。
maruyama@wakhok.ac.jp
1995年02月10日 (金) 00時49分16秒 JST