売上伝票は、一見複雑そうです。初心者はどこから手をつけてよいのか、わからないかもしれません。
しかし段階を踏んで考えると、必ずわかるようになります。
それでは、売上伝票をじっくり分析してみましょう。
【1】まず、計算で出せる項目を考えてみます。
・売上伝票
金額(税抜):数量と単価から計算できる
合計:金額を集計すると計算できる
税率:日付から計算できる
消費税額等:合計と税率から計算できる
税込合計金額:合計と消費税額等、または合計と税率から計算できる
【2】そこで、計算で出すことが出来るデータを省くと、以下のようになります。
これでかなりスッキリしましたね。何だか簡単になったような気がしませんか?
計算できる項目は、データを保存しておく必要がないので、項目自体を消しています。省略した項目は、後で演算フィールドで計算して表示できます。
残った項目が、テーブルに保存する各フィールドになります。
【解説】
(1)税率(消費税率)は、過去に 3%から 5%に上がりました。今後も変化する可能性が十分あります。また消費税がかからないものもあります。
税率については、主に3通りの考え方があります。
・税率は売上伝票の日付から計算できる
・売上伝票のテーブルに税率を保存しておく
・税率用にテーブルを作成し、参照する
どの方法でも可能ですが、今回はわかりやすくするため、税率を省略しました。
売上伝票の日付から計算する方法だと、税率を保存しておく必要はありませんが、表示する時には、計算する時間が必要です。
逆に税率を保存する場合は、容量が必要ですが、表示する時に計算は不要です。
税率については、後から加えることもできるので、とりあえず側に置いておいてください。
(2)基本的には、計算で出せるデータは、テーブルに保存しませんが、例外もあります。
合計や消費税額等、税込合計金額のような、計算で出せる項目(フィールド)を、あえて残し、テーブルに計算結果を保存しておくことがあります。
例えば、レコード数が多く、計算が複雑になる場合は、計算してから画面へ表示すると、時間がかかってしまいます。するとユーザーにとって、システム自体の動作が、とても遅く感じるとこがあります。
そこで、処理に余裕のある時(追加や更新時)に計算して、テーブルに保存しておきます。表示する時には、計算が不要になるので、その分システムの動作が速くなります。
また、帳票などに集計結果を表示する場合も同じで、その都度計算してから表示するより、あらかじめ計算しておいたものを表示したほうが速いです。
しかし、これらは特別な場合です。やはり基本的には、計算で出せるデータは、テーブルに保存しないと覚えてください。