【发布时间】:2011-01-18 18:48:01
【问题描述】:
这不是与特定语言相关的问题,而是关于处理库存架构的正确方法。
考虑以下存储软件的结构:
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)
【问题讨论】:
-
我从我的问题中遗漏了一个重要的细节;也就是说,我计划跟踪借出的库存。我不确定这会如何影响我的计划。
标签: mysql database-design architecture inventory