
こんにちは。どのカテゴリーで質問すればよいのか
わからなかったのですが、データベースの仕様について
悩んでおります。
在庫の受払いのデータベースを作ろうとしています。
受、払それぞれにデータを日ごとに入力し、最終的に
下記の様な形で月ごとに合計するつもりです。
前月残|受|払|当月残
また、日々の詳細についても逐次見られる様にしたいと考えてます。
こういった場合、前月残から当月算残までを1レコードにまとめる
(まとめ方もよくわかりませんが)方がよいのか、受、払それぞれの
レコードから表示する時だけデータを持ってくるのがよいのか、わから
ず悩んでおります。
申し訳ありませんが、ご助言頂ければ幸いです。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
>受、払それぞれにデータを日ごとに入力
>日々の詳細についても逐次見られる様にしたい
通常ではテーブルとして
*在庫テーブル(商品一覧テーブル)
*取引先テーブル(販売先等ある場合)
*仕入先テーブル(仕入先等ある場合)
*入出庫テーブル(受入・払出を同一テーブルで行う場合:受入・返品・払出は区分などを使い入出庫テーブルで済ませる。)
が必要です。
受入・返品・払出を別テーブルで管理するならば最低5つのテーブル。 でしょうか。
欲を言って入出庫テーブルのバックアップテーブルと月次更新時の在庫数を年月数と共に保存する在庫バックアップテーブル。
*1ヶ月終わったら入出庫テーブルのレコードをバックアップに移し日々使用するテーブルを軽くするため。在庫のバックアップは年月数と共に月次更新時にバックアップを取れば1商品毎の年間推移等が簡単に把握できるレコードが出来るため。
できれば欲をだした構成にした方が後々楽だと思います。
在庫テーブルの更新は月次処理で充分。
デイリー:受入・返品・払出の発生に伴い入力する。
その際、受入・返品・払出が一つのテーブルで処理していれば同一フォームで区分等の変更により入力処理できる。(入力業務の簡易化)
日々の在庫数確認は在庫テーブルの数量と入出庫テーブルのレコードを集計しリアルタイムに在庫数量を表示する。(入出庫のテーブルを先の理由等で当月分処理だけのレコードにしておけば日付での抽出をしなくてすむため集計が少しでも早くなる。)
月次:入出庫テーブルを集計し在庫テーブルのレコードと合算し在庫テーブルの数量を更新する。更新後在庫テーブルのバックアップテーブルへ各レコードを月末の日付データと共に追加してバックアップを取り在庫テーブルは翌月開始数量となる。
こんな感じでしょうか。
>前月残から当月算残までを1レコードにまとめる方がよいのか
>受、払それぞれのレコードから表示する時だけデータを持ってくるのがよいのか
1レコードにまとめてもデータベースの意味がありません。データベースとして一番効率の良いテーブル(上記の様な感じのDB)の構築をするのがベストです。
No.2
- 回答日時:
1ヶ月分をまとめたレコードを作るかどうかは、データ量によって判断することになるでしょう。
しかしそれは性能改善ということで行うべきもので、十分な性能がでるのならば正規化の考え方からいってやらない方がいいものです。
私なら次のようにすると思います。
入出庫明細テーブル
・明細ID
・商品ID
・日時(システム導入前の切替用残高は0にしておく)
・入出庫区分
・取消区分
・数量(在庫が増える場合はプラス、減るならマイナスにする)
こうしておけば、残高は日付で選択したレコードの「数量」の合計で計算できます。
No.1
- 回答日時:
将来、日々の詳細まで見られるようにするのであれば「件」ごとのレコードに
しておくといいでしょうね。
年月日、時間、受払い区分、取引明細 でしょうか。
データベースの設計で大事な原則が3つあります。
1.1つのレコードの中に繰り返し部分を作らない。
2.同じデータを複数のレコードにダブって持たない。
3.必要な時に計算できるデータはデータベースに持たない。
理由は、1はデータ抽出が難しい。2,3はデータ修正をかけたときに矛盾を
発生する恐れがある。またデータ修正が簡単にできる。等の理由です。
ということで、設計の指針は
1.取引レコード、需要家マスタ、商品マスタ・・・と分ける。
2.1か月分を1レコードにまとめることなどはしない。
ということになりましょうか。
なお、詳しいことは「データベース 正規化」でお調べになるといいでしょう。
それと、データベースでどんなことが出来るかは「SQL」「クエリー」等で
検索してみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) IT用語について質問です。 以前ITパスポートの試験を受けた際にデータベースが何の集まりかについての 2 2022/12/10 12:29
- 公認会計士・税理士 地代家賃と前払費用の決算整理仕訳 1 2023/02/25 08:14
- 高校 日商簿記3級の勉強中なのですが 精算表が完成せず困っています。 こちらの問題の回答を教えていただきた 2 2023/03/02 09:07
- 財務・会計・経理 ウーバーイーツ配達員で、今年から青色申告をするために届出を出して帳簿をつけ始めましたが、仕訳の入力で 1 2023/02/23 13:58
- 所得・給料・お小遣い 産休に入る月の給与が思ったより少ない。計算は合ってますでしょうか? 当方、正社員で働いております。5 3 2023/06/03 19:17
- docomo(ドコモ) 「d払いご利用可能額」とご利用明細歴」が合わないのは何故ですか? 4 2023/01/28 03:59
- 労働相談 有給休暇使用時の賃金の計算方法について 5 2022/04/04 00:02
- 楽天市場 ネット通販。店舗都合でのキャンセルについて。 3 2023/01/22 14:12
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
- Amazon この場合 Amazonプライム が ピンハネ したと思われますか? 2 2023/02/03 03:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルメーカーproで作った、...
-
データベースファイル(.db)を開...
-
警察はスマホに保存した動画や...
-
エクセルのフィルタ抽出が固まる
-
リスト形式の表とデータベース...
-
最新の日付とその金額をクエリ...
-
テキストボックスにコントロー...
-
顧客データベースを作る場合、...
-
Accessのフォームへ、記録者の...
-
Accessを開きなおすとテキスト...
-
CSVファイルでテキストの改行の...
-
Excelフィルタ抽出で「検索して...
-
半角ハイフンに似た文字
-
汎用カード型のデータベースソ...
-
Accessフォームからパラメータ...
-
sql update で 抽出条件データ...
-
googleフォームでインストール...
-
ACCESSのSQLで、NULLかNULLでな...
-
データベースの勉強 公務員を目...
-
はじめてのAccess 2019 について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
SQLで、Join句で結合したテ...
-
Accessの構成をコピーしたい
-
既存データをINSERT文にして出...
-
同一テーブル内での比較(最新...
-
SQLサーバに対するSQL文で抽出...
-
副問合せを使わずにUNIONと同様...
-
結合したテーブルをSUMしたい
-
テーブル名が可変の場合のクエ...
-
PRIMARY KEYのコピー
-
2つのテーブルをLIKE演算子のよ...
-
ACCESSのVBAにてExcelに行...
-
DB2のSQLコマンドについて
-
Excelでしりとりを作る方法
-
ExcelのMatch関数のようなもの...
-
改行を含んだデータのインポート
-
ExcelのVLOOKUP関数の動作をMyS...
-
ADO+ODBCでテーブルに接続する...
-
データ無し時は空白行にしたい...
-
Access特定のテーブルを編集不...
おすすめ情報