取引先マスタの設定
『グラス片手にデータベース設計』よりチャプター4 取引先マスタの設計についてメモ
取引相手の顧客マスタと仕入先マスタを別々にもつのか、1つのマスタにまとめるかどうか。みなさんならどうするだろう?
私としては、顧客マスタは取引先(お客さん)、仕入先は顧客とは別の企業ということが多かったため、1つのマスタにせず顧客マスタと仕入先マスタに分けると思う。もちろん、項目も内容が違うため顧客マスタには支払日や支払い方法などの項目を持たせ、仕入先は仕入れに関する項目を持たせて設計する。
この本では、1つのマスタにする場合、「取引先マスタ」という形で共通の項目を作成し、顧客なのか仕入先なのかを判別する項目も作成する。メリットとしては、顧客と仕入先が同じであるケース、別々に管理する必要がない場合になる。
一方で、上記で書いたように、顧客マスタと仕入先マスタは持つデータが異なるため、それぞれのマスタにあった項目を設定したほうが管理しやすい。
そのため、顧客と仕入先は別々なことの方が多い場合は取引先マスタでデータを持つと無駄な項目が増えてしまう。
そこで、この本では、取引先マスタを作成し1本化するが、さらに顧客の項目と仕入先の項目をそれぞれ別テーブルに格納する設計をしている。
つまり、取引先マスタに顧客区分項目を持たせ、0,1で判断する、同様に仕入先区分項目を持たせ0,1でこの取引先は顧客なのか、仕入先なのか、または顧客と仕入先どちらも兼ねているかを把握できるつくりとなっている。
感想として、顧客マスタと仕入先マスタをそれぞれ作成するイメージはつくが、それをさらに取引先マスタで持つというのは新しい発想だと感じた。イメージだと一つ上の階層に持たせる感じでいるが、束ねるための設計はデータ検索や分析する際に便利だったり集計しやすくなりそうだ。
今日はここまで。読んでくださりありがとうございます。
ちょっとずつですが読み進めています。
この記事が気に入ったらサポートをしてみませんか?