假设我们有一个冰淇淋应用程序。 对于所有冰淇淋店,所有商店的管理员将定义预设冰淇淋选项列表(例如,shop1将有1美元的香草冰淇淋和3美元的巧克力冰淇淋)。对于每个商店,其经理可以更改此列表:修改价格,修改风味。在任何时候,管理员都可以来更改预设的冰淇淋选项。在这种情况下,店铺经理应该能够看到并接受他们想要的变更。因此,对于商店,我们需要参考预设。
解决方案1:我想过拥有一个表,其中包含admin定义的数据和另一个用于商店的数据(由经理修改的值)。这里的优点是预设由实际数据分开。缺点是数据重复。
Icecream_preset (id, flavour, price)
Icecream_shop (id, IcecreamPresetId, ShopId, flavour, price)
解决方案2:拥有一个包含所有值的冰淇淋表,一个保存预设冰淇淋参考的表格和一个由商店经理定制的表格,该表格包含对预设的参考和参考改良冰淇淋。这里的缺点是冰淇淋表将包含预设和修改的数据。
Icecream (id, flavour, price)
Icecream_preset(id, IcecreamId)
Icecream_shop(id, Icecream_presetId, IcecreamId)
哪个是最佳解决方案还是有更好的解决方案?