我想在我的数据库中存储一些产品数据。起初我想有一张product
桌子和product info
一张桌子,但不确定是否应该将它们全部合并到一张桌子中。
例子
Coke - 355 ml
Product.Name = Coke
ProductInfo.Size = 355
ProductInfo.UnitType = ml
Coke - 1 Liter
Product.Name = Coke (would not be duplicated...just for illustration purposes)
ProductInfo.Size = 1
ProductInfo.UnitType = L
如果我这样做了,那么我当然不会重复“名称”两次。我当时的计划是我可以很容易地找到同一产品的所有尺寸,因为我所要做的就是查看任何给定项目的多方面关系。
但问题是,所有数据都将由用户驱动并输入。有人可能会写“Coke a Cola”而不是“Coke”,现在这将被视为两种不同的产品,就像我去查看是否输入了名为“Coke a Cola”的产品但它不知道要检查“可乐”也是如此。
这导致我不得不像部分匹配一样尝试找到它,但是如果有人有一些通用品牌会发生什么,那就是“可乐”并且也会匹配。
这让我想到,也许没有必要将数据分开,因为对我来说,似乎很有可能一切最终都会成为它自己的产品。