これは特定の言語に関連する質問ではなく、在庫を処理するアーキテクチャの正しい方法論に関する質問です。
ソフトウェアを保存するための次の構造を検討してください。
platforms (platformID*, platformName)
titles (titleID*, titleName)
そして、以下はユニークな製品のジョイナーテーブルです
products (platformID*, titleID*, releaseDate, notes)
そして、以下は私の在庫を追跡したい表です
inventory (platformID*, titleID*, quantityAvailable)
私が見た例では、他の人がソフトウェアの各一意のコピーが次のように別々の行に格納されているテーブルを作成しました。
software(softwareID*, softwareTitle)
inventory(inventoryID*, softwareID*)
どちらのアプローチが望ましいか知りたいですか?InventoryIDを作成し、一意のソフトウェアコピーごとに行を作成する必要があります。
inventory(inventoryID*, platformID*(fk), titleID*(fk))
または、代わりに数量を格納するテーブルを使用します。
inventory(platformID*(fk), titleID*(fk), quantityAvailable)