Excelではだめなのか


連載が一段落したところで、新しいテーマに移る前に、余談を含めてデータベースについて考えてみたいと思います。
先の連載にも登場した10人の生徒の部活動一覧表を作るとしたらどうするでしょうか。
エクセルで次のような2つのタイプの表を作ると思います。
どちらが良いでしょうか。どちらも目的は果たしています。

これらの表は、どちらもこれで完結しています。
しかし、視点を変えるとこの2つ表は問題点があります。
部活動別の名簿を作ろうとするとどちらもうまくいきません。
並べ替えやオートフィルタ―を使って、「部活動」や「部活動1」を基準にすると

上の表では、音楽部と百人一首部に名無しの部員が抽出されます。

下の表では、、3人いるはずの音楽部と百人一首部が2人しか抽出されません。

では、上の表を次のように作り直したらどうでしようか。

部活動別の名簿は正しく作成できそうです。
しかし、安心するのは早いです。
年度が替わり、クラス替えがありました。
エクセルだと、この表をどこかにコピーしてクラスと番号を書き直す作業をすることになるでしょう。
その際、お分かりの通り「本田つばき」と「吉田 めい」については2ヶ所書き直さなければなりません。
実際にはこんな少ない生徒数ではないので、大変な作業となります。

つまり、最終結果の出力として最初の2つのような表のうちどちらを作成するかは、個人の好みの問題です。
しかし、元のデータそのものがこのようなものでは、加工するのは困難なのです。
エクセルに頼っていると、このような不便さに直面するはずです。

データベースはこのような不便さを解決してくれます。

というより、このようなことは気にしなくていいのです。
データベースのデータはテーブルに保存されますが、テーブルを開いた状態がエクセルの表のように見えるので、最初は違いがよくわからないかも知れません。
エクセルに限界を感じたら、データベースを始めましょう。
テーブル設計が大切になりますが、説明の通り「元データのテーブル」が上記のようなエクセル表のようではいけないことを理解してください。