今回からデータベースサーバを構築していきます。
その前にデータベースとはなんぞや!?という方の為に簡単にご説明します。
データベースとは大雑把に言ってしまえばただのデータの寄せ集めです。
ただ、何でもかんでも節操なく集めたわけではなく目的を持って収集されたものを指す場合が多いです。
たとえばNTTが作ってる「タウンページ」は契約者と住所と電話番号を一覧にしたデータベースですし、ご家庭でお持ちかもしれない住所録も立派なデータベースです。
企業であれば顧客情報を集めたものは「顧客台帳」、商品情報を集めたものは「商品台帳」という立派なデータベースになります。
そしてこれらのデータベースをパソコン上で管理できるように作られたソフトを「データベースソフト」と呼ぶのです。
データベースソフトの形式にもいくつか種類があるようですが、現在主流になっているのは「リレーショナルデータベース」という形態です。
これは異なるデータの集まりを特定の項目で関連付けて管理するという手法です。
分からない人には何がなにやらサッパリ分かりませんね(汗
例を挙げて説明しましょう。
とある企業でお客さんの情報を集めた「顧客台帳」とお客さんから注文を受けた履歴を纏めた「受注履歴」という二つのデータの集まりをもっているとしましょう。
以下に簡単な表を示します。
顧客台帳
顧客コード | 顧客名 | 所在地 | 電話番号 | FAX番号 | Eメール |
001 | ○○商店 | ○○県○○市 | ○○-○○○○-○○○○ | ○○-○○○○-○○○○ | ○○○○@○○○.ne.jp |
002 | □□ストア | □□県□□市 | □□□-□□□-□□□□ | □□□-□□□-□□□□ | □□□□@□□□.com |
受注履歴
受注日 | 顧客コード | 顧客名 | 商品コード | 商品名 | 受注数 | 単価 | 納品日 |
2013/01/15 | 001 | ○○商店 | 0001 | ○○○○○ | 5 | 100 | 2013/01/17 |
2013/02/08 | 002 | □□ストア | 0002 | □□□□ | 3 | 200 | 2013/02/09 |
双方に顧客名を表示することも出来るのですが、それだとデータがダブって保管されることになりますよね。
そこでまずは表ごとに役割を決めて極力ダブりの少ない状態でデータを保存します。
たとえば受注履歴の顧客名を消してみます。
受注日 | 顧客コード | 商品コード | 商品名 | 受注数 | 単価 | 納品日 |
2013/01/15 | 001 | 0001 | ○○○○○ | 5 | 100 | 2013/01/17 |
2013/02/08 | 002 | 0002 | □□□□ | 3 | 200 | 2013/02/09 |
ちょっとだけスッキリした気がしませんか?しませんかね・・・
あとは商品コード、商品名、単価を格納した商品台帳を別に作成すれば受注履歴から商品名と単価が消すことが出来ます。
そしてコード(番号)などをもとにそれぞれの表のデータを関連付けて操作することでよりデータの管理を行いやすくする、という発想で作られてようです。
関連付けるというのは、例えば受注履歴に入っている顧客コードと一致する顧客情報を「顧客台帳」から探し出してそれを表示したり、顧客ごとの注文状況を分析したり集計したりすることになるでしょうか。
こういった機能を持つデータベースソフトを使用してサーバ内にデータを格納しておき、外部からデータを取り出したり加工できたりするサーバをデータベースサーバというのですが、話が長くなってきたので今日はここまで。
続きは次回お話しましょう。