PostgreSQL 超入門 第3回 (2)
ところで、Excel に出てくる表とデータベースの表では少し違いがあります。その違いを次に解説します。
- データベースの表では、フィールド同士を連結したり、一つのフィールドを複数のフィールドに分割したりすることはできません。一つのフィールドに入れることができるデータは、一つです(ただし、データとして配列など、複数の値が入るように拡張してあります)(図3-2)。
- 行の順序には意味がありません。データベースからデータを読み出した場合、特に順序を指定しなければ、読み出される順は予測することはできません。入力した順序というわけでもありません。実際データを読み出す際には、データの順序を一定にする手段がいろいろと用意されています(図3-3)。
- 行は、それぞれのフィールドの値でだけ区別されます。したがって、図7にあるように、全く同じ値のフィールドでできている2つの行を区別する方法はありません。実際にはデータベース管理システムが種々のシステムカラムを用意して、これらのカラムの値を使って値が同じ行でも区別できるようになっています(図3-4)。
- データの読み書きは、SQL と呼ばれる一種のプログラム言語を使って行ってます。CUI や GUI などでデータベースを操作する場合でも、データベースとの直接のやりとりは、あくまで SQL を介して行われます。
リレーショナルデータベースにはこの表がたくさんあって、アプリケーションが必要な行やカラムのデータを探したり、アプリケーションから指定された行を書き直したり、表から取り除いたり、新しく行を作ったりしています。表を新しく作ったり、取り除いたり、表にカラムを追加したりすることもリレーショナルデータベースの仕事です。
以上は見た目の違いですが、これ以外にも Excel の表とは多くの点で異なっています。この続きは、次回(12/24、じっくりと説明します!
(2008年12月09日公開)