2014-02-11 35 views
0

我有一个表,将有一堆的股票号码和一些其他信息。我需要能够创建一组库存号码,例如产品123A,456B和789C都在同一组中。每个股票编号在表格中都有自己的记录。我并不在乎它是如何完成的,只要我能确保这些项目是分组的并且这些组号码是唯一的。什么是完成这个最好的方法?在MySql中最好/正确的方式来分组记录(不是“分组”)

有我能想到的完成这几个方面,但我真的不知道最好的方法是什么,或者是否有隐藏的缺点:

1)我能有一个单独的表有一个自动增量列负责生成组ID,然后在生成后将该ID添加到库存编号表中,但这会造成浪费。

2)从股票号码表中选择最大的groupId,并添加一个,以获得新的组ID?

3)我不能在股票号码表中使用groupId,并使用具有GroupID列和StockNumberId列的单独表格执行此操作。我仍然会如何让groupId这样做?

您不必对所有三个都做出回应。指出哪种方式是最合适的方式,任何有关实施或陷阱的说明都会有所帮助。如果还有更好的方法,我没有统计,请赐教。谢谢。

回答

1

如果您只需要为每只股票设置一个groupId,并且如果每只股票属于一个且仅有一个组,则解决方案(2)将工作得很好。

我还会在groupId列上创建一个索引,以便于检索属于同一组的股票,以及更高效地获取MAX(groupId)。

我会用溶液(1),如果我不得不也存储组信息,例如,组名等

溶液(3)会更朝着多对许多种群和基团,其中的关系你所描述的桌子位于两者之间。但在你的情况下,这不是一个好的解决方案。

+0

感谢您的回应。我不确定选项2是否有我不知道的一些模糊问题。 – William