我有四个表(产品、品牌、颜色和颜色产品) - 一种产品有一个品牌 - 一种颜色有一个品牌 - 一种颜色产品有一种产品和一种颜色
我看到的问题是 colorproduct 引用了颜色和产品,并且它们都引用了品牌。 如果同一颜色产品引用的产品和颜色引用了 2 个不同的品牌,会发生什么情况?
我想我的数据库坏了,但我不知道如何修复它。 我使用 Doctrine 2 ORM,并且在他们的文档中读到,如果可能,应避免使用复合主键。您能找到解决我问题的方法吗?
谢谢
最佳答案
在我看来,品牌有颜色是不必要的。
它为您提供了两种选择,将品牌存储在产品中,或者将品牌存储在 colorproduct 中。
我认为仅将品牌存储在产品中是有意义的,并且可以完全解决您的问题,因为颜色与品牌完全无关,因此将品牌与颜色产品相关联不一定有意义。
关于php - 数据库 四表数据完整性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24459428/