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番<合唱>」に変更したい場合も、「曲テーブル」の「曲名」だけを修正すれば良くなります。(ワープロでも表計算でも一括置換をつかえば、同じようなことはできますが・・・)
★変更を局所化できる
整理したい情報を追加したい場合、該当するテーブルに追加するだけで良く、他のテーブルに影響を与えません。
つまり変更を局所化することができます。
|