-
21-09-2019 - |
题
这是不是与特定的语言问题,而在建筑的处理库存的正确方法。
考虑用于存储软件的结构如下:
platforms (platformID*, platformName)
titles (titleID*, titleName)
和以下为独特的产品
加入者表products (platformID*, titleID*, releaseDate, notes)
和下面是一个表,我想保持我的库存跟踪
inventory (platformID*, titleID*, quantityAvailable)
在实施例I所看到的,其他人创建的,其中一个软件的每个唯一副本存储在一个单独的行作为这样的表:
software(softwareID*, softwareTitle)
inventory(inventoryID*, softwareID*)
我想知道哪种方法是优选的?我应该创建一个inventoryID并且因此一排对每个唯一的软件副本:
inventory(inventoryID*, platformID*(fk), titleID*(fk))
或者使用一个表,其存储量代替,因为这样的:
inventory(platformID*(fk), titleID*(fk), quantityAvailable)
解决方案
我也将开始与quantityAvailable而不是为所有项目行。 但的我还是会选择一个inventoryId,因为情况可能发生,你必须使用相同的平台/标题组合解剖条目 - 与inventoryId你是在未来更enhanceable
我也建议增加一个进一步列:使用versionNo ---软件产品的版本号。有时你可能有不同的同一产品的版本。当你有这样的,它不是信息拖放到标题(比如你要搜索的不管版本的所有“微软办公”的产品...)是个好主意。
其他提示
为每件库存的唯一行的好处是,以后,如果你想跟踪之类的东西库存是对临时滞留,库存是对序,这就是被出售,但仍然可以返回,等库存
我没有看到任何真正的缺点这种方法除了它可能是更多的工作,这可能不是还清,如果不是真的需要这些东西。
我应该创建inventoryID和 因此,一排每个独特的软件 复制?
有没有理由这样做,除非你想在每一个独特的软件拷贝,一些信息存储诸如每个副本购买日期。这是在软件清单很少pracitical。
或者使用一个表,其存储量 代替?
您也可以考虑在你的产品表中新增quantityAvailable
列,除非你认为最终你会想为每个标题许多库存,为了能够分配的股票数量是在特殊优惠,即很快将要到期等
不隶属于 StackOverflow