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