我设计一个数据库,在那里我需要以下实体:数据库设计采用多很多一对多的关系
Manufacturers: e.g. CocaCola Brands: e.g. Diet Coke, Coke Zero Continents: e.g. North America, Europe Territories: e.g. United States, Canada Regions: e.g. Alaska, California, Quebec Suppliers
供应商不在一个范围内,且只有一个区域,该区域属于领地,属于一个大陆。
A品牌属于制造商。
供应商,地区,领土和大洲属于至少1个,但可能更多的品牌。
我无法想象如何组织表格之间的关系,以便供应商可以按品牌或制造商分组,而不会导致在供应商拥有多个品牌时在单个制造商下的总计算中包含重复项。当我尝试考虑将区域添加到该等式中时,我更加困惑,更不用说Territory或Continent。
任何与此有关的帮助将不胜感激。
在我的理解你没有多对多的关系。我看到层次结构,也就是一对多的关系。 – Flinsch 2010-11-02 12:57:47
对不起,我认为这是我解释的错。正如我所看到的,如果一个地区属于2个品牌,那么这里存在多对多的关系,否则我需要在Regions表内复制该地区?我认为同样适用于供应商,地区和大陆。感谢您的帮助。 :-) – MartynJones87 2010-11-02 12:59:09
不,这是不正确的。如果区域属于两个品牌,则Brands表中的两行将具有相同的region_id。 – 2010-11-02 13:07:08