前回の投稿では、データモデルがグローバル情報(数値、通貨、電話番号、住所、日付、タイムゾーンなど)を適切に処理できるようにすることについて書きました。ただし、多くのサンプルデータモデルには、私が注意した「自己中心」または「アメロ中心」のアプローチがあることに気づきました。
海外に住んでいるアメリカ人として(今ではほぼ30年間)、人々は自分が知っていることの普遍性についてあまりにも多くの仮定をしていることに気付くことがよくあります。たとえば、一部のアメリカ人は、他の人が自国の郵便番号システムとその補足のZIP+4バージョンを自動的に理解していると想定しています。私の経験では、世界中のほとんどの人がZIP+4が何であるかを知りません。
ですから、アドレスをモデル化するためのよりグローバルなアプローチについて書くのは良いことだと思いました。
世界中で知られているアドレス
世界中の有名な住所とあまり知られていない住所をいくつか取り上げて、それらのストレージをサポートするデータモデルを作成しましょう。
まず、米国大統領のホワイトハウスの住所から始めましょう。
ホワイトハウス
1600ペンシルバニアアベニュー北西
ワシントンDC20500
現在、1600は、一般に番地または番地と呼ばれるものです。それが通りにある家(建物)の数です。ペンシルベニアアベニューは通りの名前です。 「NW」はNorthwestの略語であり、この特定の住所が配置されているワシントンのセクションを指します。興味深いことに、1600ペンシルバニアアベニューSEはまったく別の住所です。それはアパートの建物です。
したがって、ワシントンは都市名です。そして、DC、またはコロンビア特別区は「州」です。ただし、DCはアメリカの州の中で特別です。ワシントンD.C.はアメリカ合衆国の首都ですが、州とは適切に呼ばれておらず、アメリカの50州の1つとして数えられていません。 (ワシントン州がありますが、ワシントンD.C.とは完全に反対の海岸にあります。スターバックス、ボーイング、その他の有名な企業の本拠地として知られているかもしれません。)私たちのポイントは、米国の郵便制度では「DC」が機能しているということです。他の州の略語と同じように。
現在、その番号は20500です。ほとんどの国では、これは郵便番号または郵便番号と呼ばれます。アメリカ人はそれを郵便番号と呼んでいます。 ZIP(Zone Improvement Plan)コードは、1963年に米国で導入されました。ホワイトハウスの場合、ZIPコードは20500であることがわかります。
1983年、米国郵政公社はより正確なものを求めていたため、拡張されたZIP+4コードを作成しました。このZIP+4には、郵便番号の5桁、ハイフン、および郵便番号内の特定の場所を指す4桁の追加の数字が含まれています。米国大統領のZIP+4は20500-0001です。ファーストレディ(大統領の妻)のZIP+4は20500-0002です。そして、ホワイトハウスのZIP+4は20500-0003です。
ZIP + 4は非常に正確ですが、1人で使用されるZIP+4を見つけることはめったにありません。多くの場合、私書箱(大企業の場合)、私書箱の範囲、または都市内の近隣を指します。
ビバリーヒルズ90210
年齢によっては、米国のテレビシリーズ 90210をご存知かもしれません。 またはビバリーヒルズ90210 。この人気のある10代のメロドラマは、米国の郵便制度が機能しているもう1つの良い例です。一部の人々は、それが近所、通り、あるいは特定の家の正確な住所であると考えています。
まず、いくつかの背景から始めましょう。ビバリーヒルズは、カリフォルニア州ロサンゼルス郡の都市です。多くのハリウッドスターと高級ショッピングストリートのロデオドライブ(1990年の映画プリティウーマンで有名になった)の本拠地です。 )。
https://goo.gl/maps/gqdvgRMNn472
ビバリーヒルズの郵便番号の1つは90210ですが、ビバリーヒルズ市では他の郵便番号(90209、90211、90212、および90213)も使用しています。 90210コードは、ビバリーヒルズのポッシャー地区の1つを指しているため、ロサンゼルスの高級地区にある高級地区を指します。
しかし、90210のZIPコードはビバリーヒルズを超えています。隣接するハリウッドヒルズのいくつかが含まれています。 「HOLLYWOOD」の看板がある丘をご存知ですか?それは90210のZIPコードにあります。
https://goo.gl/maps/Fa2t8SQaGj222
このZIPの残りのセクションは、北に向かってマルホランドドライブ(デイヴィッドリンチの2001年のサイコスリラーで不死化)まで伸びており、ロサンゼルスの丘の一部として残され、何十年も匿名のままでした。
バッキンガム宮殿
バッキンガム宮殿の住所は簡単なので、エリザベス女王に手紙を書きたい場合は、次の宛先にメモを送ってください。
バッキンガム宮殿
ロンドンSW1A1AA、イギリス
この住所には、奇妙な種類の郵便番号があります。英国(および英国連邦とほとんどの旧英国植民地を構成する国)では、郵便番号は英数字です。これを、米国の郵便番号を含む他の多くの国で見られるすべて数値の郵便番号と比較してください。
英国では、郵便番号には通常、ロンドンの地方の町または地域にちなんで名付けられた1文字または2文字の「都市コード」が含まれています。この例では、これは「SW」であり、ロンドンの南西部を指します。その後に、その地域の地区を表す1桁または2桁の「1A」が続きます。次に、1つの数字と2つの文字で構成される任意のコードがあります。この場合は「1AA」です。
番号10
英国の首相は、建物の番地にちなんで名付けられた「ナンバー10」と呼ばれる住所にあります。
10ダウニング街
ロンドンSW1A2AA、イギリス
バッキンガム宮殿と同様に、「ナンバー10」はロンドンの南西部にあります。一部の英国の都市の郵便番号は、都市のどの部分に住所があるかを認識するのに役立ちます。
エリゼ宮殿
一方、フランス大統領は通常、次の住所で見つけることができます:
55RueduFaubourgSaint-Honoré75008
フランス、パリ
この例は、おなじみのパターンに従います。通りの番号(55)と通りの名前(Rue duFaubourgSaint-Honoré)が最初に来ます。
次に、5桁の郵便番号を見つけます。フランスの郵便番号では、最初の2桁は、住所がどの「県」(地域)にあるかを示します。パリの郵便番号の場合、最後の3桁は、住所の「区」(近隣)を示します。したがって、この場合、郵便番号は住所の近隣を示します。
あまり知られていない(しかし複雑な)アドレス
インド
十分な単純なアドレス。一部の国では、番地を使用することはめったにありません。代わりに、アドレスは、場所が有名なサイトの隣にあることを指定する場合があります。または、建物の名前とそれが配置されている近所を記載するだけかもしれません。
これは、マハラハシュトラ州のインドの都市プネーにあるハイアットホテルの住所です。
ハイアットプネ
アガカーン宮殿、ナガルロード、カリヤニナガルに隣接
インド、プネ、411006
ここに別の郵便番号がありますが、この場合は4桁でも、5桁でも、5 + 4桁でも、数字と文字の組み合わせでもありません。 6桁です。インドの郵便番号は、地域コードで始まり、次にサブ地域コードと仕分け地区を表すコードです。この場所を直接見つけようとしている場合、これはあまり有用な情報ではありません!
この場合、プネが位置する州についての言及はありません。ただし、複数の都市が同じ名前を共有しているが、インドの異なる州にある場合は、住所に州を含めることができます。
通りの名前(Nagar Road)と近所の表示(Kalyani Nagar)が見つかりましたが、実際の番地はありません。この場所を探してナガルロードを上下に歩くことができます。したがって、その場所は有名な場所であるアガカーン宮殿に隣接していると指定されていることがわかります。
日本
映画「ロストイントランスレーション」で見たかもしれないもう1つのハイアットホテルの例を取り上げます。
パークハイアット東京
3-7-1-2西新宿区新宿区
東京、日本、163-1055
わかりやすく言うと、ここでは日本語の文字ではなく、西洋のフォーマットと英語の翻訳を使用しています。
繰り返しになりますが、このアドレスには、近隣、都市、および郵便番号の要素が含まれています。 「西新宿」は、東京の新宿地区にある超高層ビルのビジネス街です。
さて、このホテルはどの通りにありますか?住所からは、手がかりがありません。通りの名前はめったに使用されず、ほとんどの日本の通りには名前さえありません(京都などのいくつかの都市を除く)。
そして、3-7-1-2とマークされた建物を探して通りを歩いてみないでください。これらの番号は、地区、セクション、サブセクション、および特定の街区(この場合は東京内)を示しています。
日本の住所システムは、西洋風に書かれている場合、最小のエンティティ(通常は家番号)から始まり、最大のエンティティに進みます。市区町村(丁目ちょうめ)の住所に「ちょうめ」がよく見られます。
なぜセルフセントリックアドレスモデリングなのか?
アドレスモデリングの問題の1つは、作成者が自分のローカルアドレスのみを適切にサポートするモデルを作成する場合です。これについては別の投稿で説明したので、主な問題を要約します。
- 地元の視聴者向けに設計されたデータモデルでは、多くの場合、別の国からの情報を受け入れることができません。たとえば、英国の誰かが8桁の英数字の郵便番号を5桁の数字のみのアメリカの郵便番号フィールドに入力しようとしても、機能しません。
- 海外の視聴者は、国内の視聴者と同じ用語、形式、レイアウトを理解または使用できない場合があります。
では、なぜこれが起こるのでしょうか?先見性の欠如がありますが、それはトレーニングにも関係しています。データモデラーがグローバルに考えるように教えられていない場合、ほとんどの場合、ローカルで考えることになります。要点を詳しく説明するのではなく、上記の投稿で言及しましたが、多くのデータベースモデリングの教科書では、アメロ中心のアプローチに焦点を当てることが一般的です。
幸いなことに、多国籍アドレスのデータモデリングの観点からグローバルに考えることは、習得するのが難しいスキルではありません。それは先見の明と柔軟性と関係があります。
ソリューション:グローバルアドレスモデリング
グローバルアドレスを格納するデータモデルを作成しました。
2つの一般的な住所行フィールド(AddressLine1
およびAddressLine2
Address
表)ほぼすべてのアドレスを格納します。これは、「ダウニング街10番地」、「アガカーン宮殿に隣接」、「3-7-1-2西新宿」のいずれの店舗でも機能するはずです。リスクは、70文字の2つのフィールドが一部のアドレスには短すぎる可能性があることです。それでも、ほとんどすべての状況で140文字で十分です。
AddressLine1
を作成できるように、2つのアドレス行フィールドの一般的な規則を使用しました 必須(null許容ではない)およびAddressLine2
オプション(null許容)。したがって、このモデルではいくつか 住所情報が提供されますが、非常に短い住所と非常に長い住所の両方が可能です。
次に、郵便番号/郵便番号を見てみましょう。 PostCode
フィールドは柔軟性があり、そこに保存される可能性のある情報に制約はありません。これは、アメリカの郵便番号、アメリカの郵便番号+ 4、4桁の郵便番号、5桁の郵便番号、イギリスの郵便番号(文字と数字を含む)、およびその他の多くの種類の郵便番号をサポートします。
Region
フィールドには、国内の地域(つまり、州、州、部門など)が格納されますが、このフィールドはnull可能です。もちろん、グローバルアドレスモデルでは、国を2文字のISO国コード(Country
)で指定する必要があります。 Address
表)。
次に、モデルを開いて微調整してください。そのため、最初にモデルを作成しました。たぶん、あなたはモデルを改善する方法を見ることができます。または、特定のニーズに合わせて調整する必要があるかもしれません。お気軽に遊んで、自分だけのものにしてください。
あなたのアドレスは何ですか?このAddress
テーブルデザイン?そうでない場合は、お知らせください。あなたの住所をサポートするために何を拡張する必要があるかを知ることは興味深いでしょう。