0

products&之间存在多对多的关系 suppliers (连接表是products_suppliers)。

由于每个supplier都有一个priceproduct而且这个价格也可能发生变化,所以我也有以下关系: products_suppliers <-> unit_prices (1:N)

现在,如果我想打破 aproduct和 a之间的关系supplier(例如,因为供应商不再提供产品),我会删除products_suppliers表中的一条记录。但是,这将破坏该price供应商对产品历史的访问。

如何正确执行此操作?

我在删除部分有问题。我不知道如何处理它。请帮忙。

4

1 回答 1

0

考虑在products_suppliers表中添加一个字段,您可以使用该字段来指示产品与供应商的关系是否仍然有效。您可以将其称为“活动”,或者颠倒逻辑并将其称为“存档”或“非活动”。

这可能会迫使您更改应用程序其他部分的查询,但它允许您保留该链接到您的价格历史表。它还有一个好处是,如果供应商再次开始携带产品,那么您只需再次更改products_suppliers表中的标志。

于 2013-09-29T19:42:33.147 回答