データベース入門者の人たちに向けてデータモデリングにどう向き合えばいいかを連載していこうと思います。第1回は、「インスタンスから考えよう」です。
たいていのデータベースの入門書は、正規化されていない表を題材にして、第3正規形にするまでの流れを説明しています。この記事では最初から表を題材にせず、データベースのモデルを考えていきたいと思います。
ここでいうインスタンスとは、具体的な例、として捉えてください。
さて、データベースやテーブルといった実装を考える前に、取り扱うデータを細かく分解してその関連を考えてみましょう。ここでは、表にまとめるのではなく、実際の値を丸で囲み、値と値のつながりを表現してみましょう。
最初からきれいな関連図ができなくても構いません。具体例をどんどん取り入れて、関連を描いていきましょう。完全な答えはどこにもありません。なぜならデータベースを使う人が便利であればいいからです。できる限りの例示を行ってください。連想ゲームみたいに考えて、どんどんアイディアを出していきましょう。
例1: 大西彰のデータ関連

この例では、私自身に関するデータを示しています。
出てきた値を整理してみましょう。
値 :項目
大西 彰 :氏名
会社員 :職業
35歳 :年齢
男性 :性別
生年月日(内緒):生年月日
所属企業 :勤務先
世田谷区在住 :住所
郵便番号(内緒):郵便番号
PASSJにブログ有 :ホームページ
・・・
具体的な値を並べていくと、値を整理するための項目名が浮かんでくると思います。難しいことは抜きにして、まずはこの値を列挙することから始めましょう。この作業は、データ中心アプローチ(DOA)とは若干異なりますが、目指すことは一緒です。データを洗い出すために項目から考えるのではなく、実際の値から考え、項目を考えるというわけです。表を考えることはしばらく忘れて、この作業に集中してみてください。取り扱うデータの思わぬ関連に気がつくこともあるでしょう。
次回は、「ドメインを考えよう」です。列挙した値を使って、それぞれの値が持っているルールを明確にしていきます。