让我们说我正在尝试将地址存储在如下所示的数据库中:
123 Some Street
Placeville, Idaho
83201, USA
将其存储在类似MySQL的关系数据库中的最佳实践方法是什么?
通常,我将其标准化为几个单独的表,如下所示:
| Region Table | <-- store state/province
| City | <-- Store city
| Address | <-- Store Street Address
然后,我可以使用联接来组装完整的地址,同时仍然为报告等提供数据标准化的灵活性。
话虽如此,我也意识到我可以使用MPTT算法将地址结构存储在树中:
USA
|
+-Idaho
|
+-City 1
| |
| +-Address 1
|
+-City 2
|
+-Address 2
我的问题是,是否有理由选择一种方法而不是另一种方法?