例えばExcelでアドレス帳を作ります。

図1:


アドレス帳に勤務先と勤務先の住所を追加することになりました。

図2:



朝日太郎さんが転職した場合を考えると、朝日太郎さんの勤務先に関するF列、G列のデータだけを変更すれば済みます。

では、A社が移転して郵便番号、住所、電話番号が変更になったとします。
そうなると朝日太郎さん、山田一郎さん、富士五郎さんの勤務先に関する列のデータを変更しなければなりません。3件程度なら簡単でしょうが、数百件のデータだったらA社に勤務している人を探すだけでも大変な作業になります。

そこでデータベースの登場です。

データベースの形態

表1
氏名郵便番号住所電話番号
朝日太郎111-1111xx県oo市xx町00-123-4567
夕日花子222-2222xx県oo市xx町00-245-7845
山田一郎333-3333xx県oo市xx町00-410-5625
富士五郎444-4444xx県oo市xx町00-041-4890

データベースには色々な方式がありますが、リレーショナルデータベース(RDB)では、上表の様な形式で管理し、このような2次元の表をテーブルと呼びます。 テーブルは行と列から構成されていて、行をレコード、列をアトリビュート、行と列の交わる各欄をフィールド(項目)と呼びます。
現在このデータベースは4つのレコードと、4つのフィールドから構成されていますが、 この表にレコードを追加することによって、住所録はどんどん増えてゆくことになります。

データ量が少なく、データ構成が固定的な場合は表計算ソフトなどで簡単に作成することが出来ますが、データ量が多くなったり、項目数が増えた場合には、その都度プログラムを書き換えなければなりません。
さらに検索やソート(並び換え)などのプログラミングも必要になりますが、データベースはこれらの操作を一手に受け持つDBMSによって管理されているのです。

一般的にDBMSには検索/操作/一貫性/排他制御/アクセスなどの機能が備わっていますので、プログラマがそれらの機能をいちいち作成しなくてもよいようになっております。

リレーショナルデータベースとは、データベースに含まれるすべてのデータを行と列から構成される表として表現し、複数の表を関連付けて利用するものです。この関連付けを英語でリレーションと言います。

リレーショナルデータベースではレコードやフィールドの構造は考える必要がありませんので、例えばアドレス帳に勤務先やFax番号などのフィールドを追加したい場合は、単純に新しいフィールドを追加するだけで、データベースの操作方法やプログラム本体を変更する必要はありません。

複数の表を関連付けて利用するとは

個人情報のデータと勤務先情報のデータを別々に作成し、個人情報欄には勤務先コードだけを登録するようにします。

個人情報テーブル
氏名郵便番号住所電話番号勤務先
朝日太郎111-1111xx県oo市xx町00-123-45670001
夕日花子222-2222xx県oo市xx町00-245-78450002
山田一郎333-3333xx県oo市xx町00-410-56250001
富士五郎444-4444xx県oo市xx町00-041-48900001

勤務先情報テーブル
勤務先コード勤務先郵便番号住所電話番号
0001A111-1111xx県oo市xx町12-345-4789
0002B222-2222xx県oo市xx町00-412-4102

2つのテーブルから1つのテーブルを表示します。

統合したテーブルを表示
氏名郵便番号住所電話番号勤務先郵便番号住所電話番号
朝日太郎111-1111xx県oo市xx町00-123-4567A111-1111xx県oo市xx町12-345-4789
夕日花子222-2222xx県oo市xx町00-245-7845B222-2222xx県oo市xx町00-412-4102
山田一郎333-3333xx県oo市xx町00-410-5625A111-1111xx県oo市xx町12-345-4789
富士五郎444-4444xx県oo市xx町00-041-4890A111-1111xx県oo市xx町12-345-4789
この表は表示だけするもので、この表自体を作成するわけではありません。

このようにすれば、勤務先情報テーブルのA社に関する項目を変更するだけで、個人情報テーブルに手を加える必要がなくなります。



© AstroHeart. All Rights Reserved.