Accessの正規化くずしって、こんな時必要です!パート②:正規化くずしについて。

LINEで送る
Pocket

Accessの正規化くずしって、こんな時必要です!パート②:正規化くずしについて。

 

こんにちは!つむぎです。
今回は、「消費税率が変更されても過去の商品単価がしっかりわかる!実際の現場で役立つ「正規化くずし」をした設計例」をご紹介します。

前回の正規化した設計例では、過去の[商品単価]や[消費税率]がわかりませんでした。
さて、ではどうすれば、過去の[商品単価]や[消費税率]がわかるようになるでしょうか?

 

ズバリ!
過去の[商品単価]や[消費税率]がわからないという問題は、一部のデータの「正規化くずし」を行うことで解決します!

そうなんです!
「伝票明細テーブル」に[商品単価]と[消費税率]を保存できるフィールドを追加すると解決するんです!

 

上記の解決策、[商品単価]と[消費税率]について配慮した設計事例が、下記の例です。
(画像クリックで、拡大されます♪)

②正規化を一部くずして([商品単価][消費税率]を「伝票明細テーブル」に保存)して、運用する場合のテーブル設計例

 

データとしては、前回と同じく「商品マスタ」「伝票テーブル」「伝票明細クエリ」。
そしてここでは、「消費税率テーブル」を追加。

「伝票明細」に関しても前回と同じく、実際の運用時に使用する「伝票明細クエリ」の形で説明します。
※ここではわかりやすくするため、「メーカー情報」や「お客さま情報」は除いています。

 

☆各データの説明

①「商品マスタ」→[商品コード][商品名][商品単価]から構成されるテーブル
②「消費税率テーブル」→[消費税率][表示]から構成されるテーブル
→[表示]のチェックを外すと、その[消費税率]は参照しないように設定できます。
③「伝票テーブル」→[伝票番号][日付]から構成されるテーブル
④「伝票明細クエリ」→「商品マスタ」+「伝票テーブル」+「伝票明細テーブル」が連携して構成されるクエリ
・[伝票番号]は、「伝票テーブル」と連携
・[商品コード]は「商品マスタ」と連携して、「商品マスタ」から[商品名]を参照
・[商品単価]は、[商品マスタ]の[商品単価]を参考に、「伝票明細テーブル」に保存
→手動で、[商品マスタ]に登録されている[商品単価]以外の単価に変更可能
・[消費税率]は、[消費税率テーブル]の[消費税率]を参考に、「伝票明細テーブル」に保存
・[商品ごとの金額]は、「伝票明細テーブル」内の[商品単価]と1+[消費税率]と[数量]を掛けあわせて、計算で算出
[商品単価]×(1+[消費税率])×[数量]

 

※↓ここが、①の設計と変わった!!!

・「消費税率テーブル」→[消費税率][表示]から構成されるテーブル
→[表示]のチェックを外すと、その[消費税率]は参照しないように設定できます。

・[商品単価]は、[商品マスタ]の[商品単価]を参考に、「伝票明細テーブル」に保存
→手動で、[商品マスタ]に登録されている[商品単価]以外の単価に変更可能
・[消費税率]は、[消費税率テーブル]の[消費税率]を参考に、「伝票明細テーブル」に保存
[商品ごとの金額]は、「伝票明細テーブル」内の[商品単価]と1+[消費税率]と[数量]を掛けあわせて、計算で算出
→[商品単価]×(1+[消費税率])×[数量]

ここでのキモは、ズバリ!どんな[消費税率]にも対応できるように「消費税率テーブル」を追加した点と、「伝票明細テーブル」に[商品単価]と[消費税率]を保存できるようにしたこと。

 

☆この設計の利点は?

・[消費税率]が5%でも8%でもそれ以外でも、その時々の[商品単価]をいつでも調べられる
・手動で、[商品マスタ]に登録されている[商品単価]以外の単価にも、柔軟に変更が可能。
→ひょっとしたら、商品ごとに単価を値引きをすることもあるかもしれません。
・[消費税率]が混在した伝票明細が、作成できる
→ある商品に対して、[消費税率]の変更の前後で、相殺作業が必要な場合もあるかも?

 

このように設計することにより、店長さんは無事、「消費税率が5%の時のある商品の単価」を調べることができるようになりました。

ある商品の過去の商品単価がわかるようになって、喜ぶ社長さん

 

ちょっとしたことで便利になったり不便になったり。
起こりえる状況を予測してのAccessのテーブルの設計や正規化は、それなりのむずかしさがあります。

これからご自身で、「Accessでシステムを作ろう!」と思っている方は、ぜひ今回の事例を参考にしてくださいね。
ちょっとした配慮で、とーっても使いやすいシステムになること間違いなし!

 今回は、一部のデータに「正規化くずし」を設定することにより、話題の[消費税率]の変更に柔軟に対応できる設計についてのご紹介でした。

 

LINEで送る
Pocket

PAGE TOP