这不是一个与特定语言相关的问题,而是一个处理库存的架构的正确方法的问题。
考虑以下存储软件的结构:
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 - 数据库中的库存架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2296485/