【发布时间】:2012-04-19 16:12:45
【问题描述】:
我正在为葡萄酒和其他酒精饮料的经销商开发一个网站。显然,每种葡萄酒都是在一个必须在 Wine table 中建模的国家/地区生产的。 但很多时候,一个葡萄酒也有一个产区(朗格多克、里奥哈、布戈涅等),这些产区当然与一个国家是亲子关系。 存在以下选项:
- 只给 Wine 表一个区域的参考 问题是有些葡萄酒/威士忌没有提到地区,只提到国家
-给酒桌 2 个单独的 FK 引用,分别指向 Country 和 Region 表。这引入了循环引用和冗余问题,因为国家和地区已经相关。
-使用 Location 表和从 Wine 表到 Location 表的单个 FK 引用。 Location 表实际上是一个地区或一个国家(甚至可能是一个城市),所以它有一个字段“location_type”和一个父 FK 字段,指的是它自己的 PK。对于顶级 Country 条目,父 ID 为空。 这是我在互联网某处找到的示例。然而,这会使查询更加复杂。
这是一个已知问题,有什么建议吗? TIA,克拉斯
【问题讨论】:
标签: sql data-modeling region country