私は、データベースにアイテムの数量を格納する最も簡単な方法を考えようとしています。私は、人々にレンタルされたギアを監視しログに記録するために開発しているWebアプリケーションと連携して動作するデータベースを作成しています。だから、私はすでにいくつかの異なる方法を考えてきましたが、将来に備えて維持することが容易かどうかはわかりません。どのようにアイテムの数量をSQLデータベースに保存しますか? (Postgresql)
私は毎回ギアを取り出したためその後などのサイズなどのデータとともにギアの種類(例えば、シャツ、ズボン、帽子)を格納gear
表は、それが記録されている
1アイデアgear_inventory
テーブルには、ユーザーID、歯車タイプ、ブール値などの詳細情報が格納されています。そして、数量を追跡するために、gear
テーブル内の特定の歯車アイテムの歯車数をtotal_quantiyと数えます。これは、アイテムが取り出されたときまたは指定された数量に戻されたときにトリガされる第2のクエリで更新されます。 2
アイデアは、そのタイプのすべての非返されるアイテムの数としてgear_inventory
に連結された前述の総量を持っ。
アイデア3
テーブル更新または挿入時にこれらの量を変更するには、更新タスクを持っています。次に、与えられたクエリの量を加算または減算することによって同じことを行います。
アイデア1は、他のアイデアよりも最も簡単で信頼できるものではありません。アイデア2は最も信頼性が高く、量の取り扱いが確実にデータベースに入ります。その後、アイデア3はまだそれを更新する予定のタスクに依存しているので信頼性が高くありません。
これで、記録された在庫レコードとの同期が失われないように、量量をどのように実装しますか?
編集1
詳細情報 - 私は保存するか、その項目との合計nunberの仲間と比較することができ、取り出したアイテムの数を持っていることの方法を持っているachiveしようとしているコア・ソリューション。下で勇気づけられるように、それはボーリング場の貸し出し/借りる靴と同様のファッションで動作し、exectユーザーは記録されます。したがって、アイテムが貸し出されたときにレコードが挿入され、そのレコードはリターン日付に更新されます。アイテムのタイプは、一般的なアイテムの詳細を格納する独自のテーブルにあり、記録されたギアテーブルと1対多の関係になります。問題は、アイテムの数を格納/検索する完全な証明/信頼性の高い方法です。または、私はこれを熟考しています。簡単なカウントクエリは十分ではありません。
あなたが解決しようとしている問題についてもっと話をし、あなたの提案された解決策について話をすることができない場合、これは簡単に答えることができます。いくつかのストレートフォワード・ジョイン・テーブルで処理されるようですが、問題のパラメータを把握するのは難しいです。シナリオは何ですか?あなたはそのデータで何をしたいですか?これは装備を貸し出しているボーリング場のようなものですか? – Schwern
@Schwernあなたが探していた情報を、うまく追加しました。 – sparcut
大きなデータを扱う可能性は低く、統計テーブルは必要ないため、アイデア2が最適だと思います。あなたは 'gear_inventory_returned'と呼ばれる追加のテーブルを作成し、' gear_inventory'からそのテーブルにレコードを移動することができます。 –