マスターデータという言葉は、リアルワールドデータの解析で頻用される言葉なのですが、定義が人によって違うように思います。マスターデータはマーケティング用語らしいですが、データベースに応用されると少し性質が異なってきます。そこで、今回は主にデータベース学の観点から定義してみたいと思います。
マスターデータは主役?それとも・・【重要度の観点から】
まずは、重要度について考えてみたいと思います。
蓄積・閲覧目的のデータベース(電子カルテなど)では、マスターデータは脇役になることが多いです。
例えば、医薬品データの「薬剤コード・JANコード」の組み合わせのテーブルを考えてみましょう。
このとき、蓄積・閲覧目的のデータの場合、患者さんに医薬品を処方するたびに「薬剤コード」さえ追加していけば良いです。要するに、「JANコード」は冗長なデータになります。
それゆえ、「薬剤コード・JANコード」のテーブルは、マスターテーブルと呼び、どこかに置いておけば事足ります。
このため、マスターテーブルは追いやられ、データベースに登録すらされていないこともある不遇なデータです。
マスターテーブルを追いやる犯人は誰?
では、マスターテーブルを軽視し、追いやっている犯人は誰でしょうか?
要するに、マスターデータの生息場所
それは、データベース設計の「正規化」という概念です。(正規化はここでは詳しくは説明しませんが・・)
正規化とはテーブルの設計方針で、簡単にいうと「似たもの同士を集めましょう」という考え方だと思ってください。
ところで、似た者同士を集めることでどのようなメリットがあると思いますか?
例えば、「医薬品名」を探しているユーザーは、似た者同時の「医薬品投与日」や「処方量」も検索しようとしていることが多いのではないでしょうか?
これらのカラムが別個のテーブルに格納されていると、再度テーブルの先頭から順に検索していく必要が出てきます。
似た者同士を集めて格納する理由として、「検索効率が高まるから」というのは直感的に理解できます
正規化すると一般的にテーブル数が多くなりますが、マスターテーブルが増えているとも考えることができます。
特に第三正規形まで実施すると、冗長なマスターデータは確実に「日々格納され続けるデータ」とは別の場所に格納されます。ひどい場合は、データベースの外に放り出されます。
分析用データベースで息を吹き返すマスターたち
一方で、マスターデータは分析用のデータベース(データウェアハウス)では、主役級になることがあります。
検索や分析が目的の場合、マスターデータで検索したいという需要が多くなるためです。
このため、データウェアハウスではマスターデータを追いやっていた「正規化」が適用されていない場合が非常に多くなります。
まさに、天敵がいない状態です。
まとめ
まとめると、マスターデータというのは、
①蓄積・閲覧・分析等、それぞれのデータベースの目的によって主役や脇役になることがあり、
②正規化によって追いやられるデータ
ということになります。
人に説明するときは、マスターデータというのは「正規化によって追い出されるデータ」と簡単に説明することにしてはいかがでしょうか。
コメント