Microsoft Access 掲示板

在庫管理システムでの在庫数について

6 コメント
views
4 フォロー

お世話になります。
Access2013にて在庫管理の簡易システムを作ろうと思っているのですが、DBの設計で質問がございます。
製品1つに様々なサイズが存在しています。各サイズごとに在庫数把握したいのですが、どう出したほうがいいのかが
分かりません。
考えているのは以下です。
1.製品テーブルに1つの製品に対して複数サイズの列を持つ
2.製品テーブルに各サイズの製品を各個持つ
3.製品テーブルに1つの製品を持ち、在庫テーブルを別に持つ
いまいちどのやり方がいいのかが分かりません。おそらく別にいい方法があるのだと思いますが、
検索方法が悪いのかイマイチ出てきませんので相談させていただきました。
どうぞよろしくお願いいたします。

作成: 2021/09/01 (水) 16:37:05
通報 ...
1
涼子 2021/09/02 (木) 13:39:51 1a64f@e5635

参考になるかどうかわかりませんが・・・。
私も同じような在庫管理システムを作りました。
正解かどうかはわかりませんが私の場合は、2.です。
サイズごとに在庫数把握となるとサイズごとに別製品と判断した方が管理しやすいと思ったからです。
ただ、抽出や検索がしやすいように、大区分でカテゴリ分けをしました。

3

普通に考えたら1より2の方が管理しやすいですよね。
大区分でカテゴリ分けは頭になかったので検討してみます。
ありがとうございました。

2
りんご 2021/09/02 (木) 14:10:07 c564b@0e907

 ググると、こんなのがあります。便利そうです。

部品表とフィーチャ・オプション - 設計者の発言
 「仕様書によるアプリの動的制御」を実現したOSSプラットフォーム「XEAD D...
設計者の発言

 システム開発・刷新のための-データモデル大全(リンク:amazon)という本も出ています。
 基本形のモデルが載っていて、もう少しフラッシュアップされていました。モデルとインスタンス(具体例)が併記されているのを眺めて見ましたが、やっぱり便利そうです。ただ、こんな風に参照して使って下さいと踏み込んで説明されていないんですよ。モデル図を見ると、見出し・明細テーブルから便利モデルの1番下層のテーブルを外部参照してるっぽく見えるんだけど…。

1.製品テーブルに1つの製品に対して複数サイズの列を持つ

 Sサイズのフィールド、Mサイズのフィールド、Lサイズのフィールドみたいに、横に伸ばしていく場合、諸々の難易度が上がると思いますよ。絶対駄目とは言いません。逆立ちしながら、鏡を見ながらAccess操作するような感じでしょうか?

2.製品テーブル関連で各サイズの製品を持つ

 世の中、このパターンが多いらしいがどうなのでしょうか?

3.製品テーブルに1つの製品を持ち、在庫テーブルを別に持つ

 製品テーブル関連にサイズの情報を置かないけれど、在庫テーブルにはサイズ別に在庫情報を記録する、取り扱い製品が曖昧なまま在庫管理というイメージになるのかしら。このへんは、ちょっとよくわからない。
 製品テーブル関連モデルと在庫テーブル関連モデルをどう描きどう組み合わせるかと、論点が広がったような気もする。

4

リンク読みました。
初心者のため何となくしか理解できませんでしたが、FO便利そうですね。
データモデル大全という本はちょっと読んでみたくなりました。
2のパターンがやはり多いのですかね?涼子さんも2派みたいですし、私も2で検討してみようと思います。
ありがとうございました。

5

在庫管理は、言い換えれば、入出庫履歴の管理だと思います。

テーブルには、入出庫が発生するたびに、その個数を格納しておく。
ある時点での在庫数は、その時点までの入出庫数を集計すれば取得できます。

一例ですが、自分なら下記のような感じにテーブル設計にします。

製品マスター
🔑 製品コード
・ 品名
・ 
・ 

製品サイズマスター
🔑 製品サイズコード
・ 製品コード (製品マスターの外部キー)
・ サイズ
・ 
・ 

入出庫履歴
🔑 入出庫履歴ID (オートナンバー)
・ 入出庫日
・ 製品サイズコード (製品サイズマスターの外部キー)
・ 入出庫係数 (入庫=+1 出庫=-1)
・ 入出庫数

期首在庫
🔑 期首日
🔑 製品サイズコード (製品サイズマスターの外部キー)
・ 在庫数

6

なるほど
サイズコードを軸に組み立てれば管理できそうですね。
テーブル設計例まで考えていただきありがとうございます。
期首日を利用しての管理方法は考えていなかったので、盛り込んで検討してみます。