想象一下,我们出售了许多不同的物品,比如家具,我们在逻辑分类的表格中列出了所有这些物品(因此椅子会进入chairs
表格,等等。)
现在我们发明了一个系统,我们可以在客户购买一套特定商品时提供折扣,例如同一位设计师或其他类似的椅子,桌子和沙发。
这很酷,我们只是在我们的数据库中添加一个packages
表,并为它们添加一些外键,用于椅子,桌子和沙发,并将它们链接起来。
当我们添加更多这些套餐优惠时会出现问题。我们必须为我们创建的每一个添加越来越多的外键,如果我们的大部分产品都包含在某些套餐中最后,那么大多数产品都将其外键包含在该表中。那似乎...... icky。
还有其他办法吗?如果没有,那么最好的选择是什么:
为每个特定的套餐交易创建一个表格,以便减少一个表格中所需的FK。
为所有套餐优惠创建一个表格,以便减少不同表格的数量。
由于“最佳”可以被解释为询问您的意见,让我澄清说我的意思是询问每个选项的优缺点是什么。
编辑:通过阅读本文,我意识到我的措辞非常接近一个很好的问题可以包含在测试或一些作业中,所以让我向你保证这是一个我现在正在处理的一个非常现实的问题,我只是更改了一些细节以使事情更简单。