郵便番号検索と郵便番号一覧において同じ郵便番号に複数の地域が割り当たっているような場合、次のようなデータになっていることは知っていました。
第一のパターン
〒098-4581 北海道稚内市抜海村(上勇知、下勇知、夕来、オネトマナイ)
〒098-4581 |
このデータは日本郵便で配布しているCSVファイルからのものになるのですが、括弧書きで複数地域を表記してあるというものです。データベースを知っていればこのようなことはしないと思いますが、古くから使われているためか手作業を感じるデータとなっています。
ところがこのパターンの他に同一郵便番号を複数行として登録してあるケースがありました。
第二のパターン
〒004-0000 北海道札幌市厚別区
〒004-0000 北海道札幌市清田区
〒004-0000 |
先程の例であれば「北海道札幌市(厚別区、清田区)」となるかと思いますがそうではないようです。
この第二のパターンから分かることは郵便番号を主キーにはできないということです。
もともと長い文字数によって町域フィールドを(!)複数行に分割してあるデータがありますので郵便番号は主キーにはならないのですが、こういった手作業アナログ的なデータの揃わなさが配布されているCSVファイルには多数見受けられます。
対応
今回郵便番号検索と郵便番号一覧において対応していなかった第二のパターンに対応させました。正確には対応していたのですがURLの生成で1つになってしまっていたものを複数対応させました。- http://yubin.ko2.info/zip/0040000.html
- http://yubin.ko2.info/zip/0040000_001.html
検討事項としてこれといったユニークキーがなかったためURLで何をもって複数データを識別するかという点がありましたが、独自に枝番を付することで対応しました。他に候補としては住所のエンコードといったものでも良いかも知れません。