我有一张Ingredient
桌子和一张Food
桌子,想用一张桌子把它们联系起来IngredientToFood
。我还希望能够指定Order
,因为这对营养信息非常重要。我的IngredientToFood
表目前有、 和列IngredientId
,在两个 ID 上具有复合 PK,并且 2 个 FK 引用每个相应的 ID。我想知道的是实施订购配料的最佳实践方式。我在这里和其他地方看到了以下提出的解决方案,我想知道哪个是我的用例的最佳解决方案。FoodId
Order
- 使用该
Order
列指定数字顺序,在(100、200、300 等)之间留下大量分隔符。 - 在这种情况下,使用两列 a
beforeIngredient
和。afterIngredient
- 在插入或删除之前使用触发器重新编号现有
Order
值(在更新的情况下您会做什么?)
我不是在寻找有史以来最优雅的解决方案,而只是在寻找一种对订购成分的应用有意义的解决方案。我假设我可能会更频繁地插入/删除成分,而不是重新排序现有成分。