我有一张桌子会有一堆股票编号和其他一些信息。我需要能够创建库存编号组,例如产品123A,456B和789C都属于同一组。每个库存号在表中都有自己的记录。只要我能确保将项目分组并且组号是唯一的,我就不在乎它是如何完成的。实现这一目标的最佳方法是什么?
我可以通过几种方式来实现这一目标,但我不确定最好的方法是什么,或者是否存在隐藏的缺点:
1)我可以有一个单独的表,其中一个自动增量列负责生成组ID,然后在生成后将ID添加到库存号表中,但这样就浪费了。
2)从股票编号表中选择max groupId并添加一个是否可以获得新的组ID?
3)我不能在库存编号表中使用groupId,并使用具有GroupID列和StockNumberId列的单独表来执行此操作。我怎样才能让groupId这样做呢?
您不必回复这三个人。指出哪种方式是最合适的方式,任何关于实施或陷阱的说明都会有所帮助。如果有更好的方式我没有无数请赐教。谢谢。
答案 0 :(得分:1)
如果您只需要为每个股票设置groupId,并且每个股票属于一个且只有一个组,那么解决方案(2)就可以正常工作。
我还会在groupId列上创建一个索引,以便轻松检索属于同一组的股票,以及更有效地获取MAX(groupId)。
如果我还要存储组信息,我会使用解决方案(1),例如groupName等。
解决方案(3)更倾向于股票和组之间的多对多关系,其中您描述的表位于两者之间。但在你的情况下,这不是一个好的解决方案。