世界中のすべての住所に共通の住所データベース設計はありますか? [closed] 質問する

世界中のすべての住所に共通の住所データベース設計はありますか? [closed] 質問する

私はプログラマーで、世界中の住所構造をデータベースに保存するための実用的な方法が必要です。では、住所を保存するための最良かつ一般的なデータベース設計は何でしょうか? 使いやすく、クエリが高速で、世界中のすべての住所を動的に保存できるものでなければなりません。

ベストアンサー1

標準的なフィールド セットで、さまざまな国の住所を表すことができます。名前または番号の付いた建物が位置する、名前の付いたアクセス ルート (大通り) という基本的な考え方は、中国を除いてかなり標準的です。その他のほぼ普遍的な概念には、一般的に地域と呼ばれる集落 (市/町/村) に名前を付けること、地域に名前を付けること、英数字の郵便番号を割り当てることなどがあります。郵便番号 (ZIP コードとも呼ばれます) は、一部の国でのみ純粋に数字であることに注意してください。本当に汎用的にしたい場合は、多くのフィールドが必要になります。

万国郵便連合(UPU)は、多くの国の住所データを提供しています。標準フォーマットUPU 形式は、国全体のすべての住所 (使用可能なフィールド精度まで) を保持するため、リレーショナル形式であることに注意してください。顧客の住所を保存する場合、すべての可能な住所のごく一部のみが保存されるので、すべてのフィールドと 1 行につき 1 つの住所を含む単一のテーブル (またはフラット形式) を使用することをお勧めします。

アドレスを保存するための適切な形式は次のようになります。

  • 住所 1-4
  • 地域
  • 地域
  • 郵便番号

アドレス行 1 ~ 4 には、次のようなコンポーネントを含めることができます。

  • 建物
  • サブビルディング
  • 建物番号(番地)
  • 敷地範囲
  • 通り道
  • サブストリート
  • 二重従属地域
  • サブ地域

多くの場合、住所行は 3 行のみ使用されますが、これでは不十分な場合が多くあります。もちろん、すべての住所を公式形式で表すために行数を増やす必要が生じる可能性もありますが、行区切りとしては常にカンマを使用できるため、情報は取得できます。

通常、データの分析は、地域、郵便番号、国別に実行され、これらの要素は、データを入力するときにユーザーが理解しやすいものです。そのため、これらの要素は個別のフィールドとして保存する必要があります。ただし、郵便番号や地域を入力するようユーザーに強制しないでください。これらはローカルでは使用されない可能性があります。

地域は、特に地図上の地域と郵便上の地域との区別がはっきりしないことがあります。郵便上の地域は、郵便当局が指定した地域であり、近隣の大都市である場合もあります。ただし、郵便番号によって問題や矛盾が解決され、公式の郵便上の地域が使用されなくても、正しく配達できるようになります。

おすすめ記事