我正在设计一个数据库,我想在其中完成这种情况:我有一个 Category 表和 Products 表。我想让没有分配现有类别的产品无法添加(我相信我是使用 Products 表上的 FK 做到的)。我想在类别上强制删除,以删除分配给该类别的所有子项(产品)。我不想删除一个类别,如果/当所有属于它的产品都被删除时。
目前,我想出的是: http ://codepad.org/eSGqtyOs
我不确定,有人说类别表上的 FK 会阻止我添加没有产品的类别(catch 22 ..),如果我在产品表中添加 On delete CASCADE,它会自动删除一个类别,一次该类别中的最后一个产品被删除...
请帮助解决这个问题。
另外,请不要试图说服我不再“出售”旧类别/产品 - 我有我的理由,我知道我对这个系统的要求。