Mail
 ナビゲーション リンクのスキップ

3.DBの特徴

★リレーション

データベースと言っても、幾つか種類があります。
現在、データベースと言うと、通常はリレーショナルデータベースを指します。
リレーショナルデータベースの特徴は、いろいろとあるのですが、私が最も重要で、他のアプリケーションと異なる特徴は、「同じデータをいくつも持たない」ということです。
例えば、「ベートーベン」に関する情報は、1つだけしか持たないということです。
そうは言っても、「ベートーベン」の情報は、様々な場所で使われるわけですから、ただ1つだけ単独であっても駄目です。
それを解決する機能が、「関連」(Relation)です。
データベースでも情報を表計算のような表(テーブル)で管理するのですが、このテーブルどうしを関連付けるわけです。
関連づけることで、一つしか無いデータを、様々な場面で使用することができ、データも増えません。
下の例では「CDテーブル」や「曲テーブル」、「オーケストラテーブル」、「ソリストテーブル」等々が別々に存在して、テーブル同士が関連付けられています。

リレーション 

先ほども述べましたが、一つ一つのテーブルは、表計算ソフトのような表になっています。
「曲テーブル」には曲のデータしか入力しませんし、それ以外のテーブルも、それぞれの情報以外は持ちません。

例えば「CDテーブル」には、「CD名」「レーベルID」「値段」以外の情報は無く、どのような曲が収録されているのか?、オーケストラは?などという情報は持っていません。
また曲テーブルには、曲のデータしか情報が無く、どのCDに収録されているのか?という情報を持っていません。
この「CDテーブル」と「曲テーブル」の間を取り持っているのが、「CD-曲インデックステーブル」です。
このテーブルが「CDIDがXX番のCDは、曲IDがYY番の曲を収録している」というような情報を持つことで、CDがどの曲を収録しているかがわかるようになります。

こうすることの利点は以下の通りです。

★データ入力の効率化

1回データを入力すれば、同じデータを再度入力する必要がありません。

★サイズが小さくなる

例えば「ベートーベン:交響曲第9番」が収録されているCDを、たくさん持っている場合も、「ベートーベン:交響曲第9番」に関する情報は、1つだけで済みます。
CDがどの曲を収録しているかは、曲につけられた番号で情報を保持します。
文字列よりも数字のほうが、サイズが小さくて済みますから、データ量が多くなればなるほど、データベースが有効になります。

★メンテナンス性が良くなる

例えば「交響曲第9番」という曲名を、全て「交響曲第9番<合唱>」に変更したい場合も、「曲テーブル」の「曲名」だけを修正すれば良くなります。(ワープロでも表計算でも一括置換をつかえば、同じようなことはできますが・・・)

★変更を局所化できる

整理したい情報を追加したい場合、該当するテーブルに追加するだけで良く、他のテーブルに影響を与えません。
つまり変更を局所化することができます。