人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

DBの設計についての質問です。

現在、業務用のシステムを作っています。その中で、在庫や資金に関わる部分の設計について気になっていることがあります。

例えば、在庫であれば増減があります。入荷は在庫増、出荷/販売などは在庫減。
商品、取引 各テーブルがあり、さらに入出荷テーブルを用意し、
商品ID 100
取引ID 999
増減 100
などと記録すれば、100個入荷したものとします。
「増減」の値がマイナスであれば在庫減、その事由については取引テーブルを見るとして。

今の自分の考え方では、集計は「増減」をSUMすればいいと思っています。

しかし、過去、(既製の)システムを見てきましたが、
例えば商品テーブルに「現在庫」なるカラムがあったりします。

で、質問です。
こういった、他のテーブルに絡んだ集計結果を保管するメリットはなんでしょうか?
(「現在庫」カラムが活躍する場面などの例を挙げていただければ…)

#整合性を気にしなければならないかなぁと思い、質問させて頂きました。
(先ほどの例でいけば、「商品」に対して現在庫数、「取引」に対しては合計金額など。)

以上、よろしくお願いします。

●質問者: Chatii
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● きゃづみぃ
●50ポイント

レコードが なくなる場合とか想定すると ありそうです。

集計する場合、全レコードをなめないといけませんが、
年度が かわったため、前年度のレコードを削除したりした場合、
または 履歴が 大量になると 計算に時間がかかるなど 想定されます。


2 ● だわかき
●50ポイント

その会社の運用にもよりますが、棚卸しをして在庫の確定をしたときに「現在庫」を使っている会社を見たことがあります。

そのシステムが現在庫をどう扱っているかにもよりますが、集計にはコストがかかる(CPUパワーやメモリを使う)ので、頻繁に在庫量をチェックする場合には、あらかじめ「現在庫」に数値を入れておくという運用も考えられます。


3 ● 無頼庵
●230ポイント ベストアンサー

データは事実を保持することです。
従って、在庫量は現時点の数量を示しています。

計算に時間が掛かるとか、そういったことではありません。
あくまでも、事実を捉えておくことが基本です。
これは、コンピュータシステムの問題ではなく、実務上の要件です。

同じように入出荷テーブルという名称は、感心しません。
確かにデータベースなのでテーブルですが、入出荷はトランザクションです。
同様に商品はマスターです。
テーブルはデータベースの仕組みの呼び名ですが、実務的には台帳とか伝票から転じた名称を使用するのが良いと思いますよ。

システムは要件ありきです。


4 ● ラフティング
●50ポイント

棚卸のときに、実在在庫と帳簿在庫が異なるケースがあります。
現在庫数は、期首在庫数+総入庫数―総出庫数であらわされるかと思いますが、万引・窃盗・横流し・有効期限切れ・自然損耗・入力ミス等々などにより、実在庫数との差異が発生します。この差異をきちんと管理する必要があります。

また、在庫管理は数の管理だけではなく、在庫金額を管理し、決算の際に「棚卸資産」として貸借対照表に示したり、損益計算書上の「売上原価」を計算する必要があります。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ