sql >> Databáze >  >> RDS >> Database

Beverly Hills 90210 a ZIP+4:Manipulace s adresami v datových modelech

Ve svém posledním příspěvku jsem psal o zajištění toho, aby váš datový model správně zpracovával globální informace:mimo jiné čísla, měny, telefonní čísla, adresy, data a časová pásma. Uvědomil jsem si však, že mnoho vzorových datových modelů má přesně „sebestředný“ nebo „amerocentrický“ přístup, před kterým jsem varoval.

Jako Američan žijící v zahraničí (už téměř 30 let) často zjišťuji, že lidé příliš předpokládají univerzálnost toho, co znají. Někteří Američané například předpokládají, že ostatní automaticky rozumí systému PSČ jejich země a jeho doplňkové verzi ZIP+4. Podle mých zkušeností většina světa netuší, co je ZIP+4.

Tak jsem si řekl, že by bylo dobré napsat o globálnějším přístupu k modelování adres.

Adresy známé po celém světě

Vezměme některé známé a některé méně známé adresy po celém světě a vytvoříme datový model, který podporuje jejich ukládání.

Začnu projevem prezidenta Spojených států:Bílý dům.

Bílý dům

1600 Pennsylvania Ave NW

Washington, DC 20500

Nyní je 1600 to, co je obecně označováno jako číslo ulice nebo číslo domu. To je číslo domu (budovy) na ulici. Pennsylvania Avenue je název ulice. „NW“ je zkratka pro Severozápad a odkazuje na část Washingtonu, kde se nachází tato konkrétní adresa. Zajímavé je, že 1600 Pennsylvania Avenue SE je úplně jiná adresa; je to bytový dům.

Washington je tedy název města. A DC, nebo District of Columbia, je „stát“; DC je však mezi americkými státy zvláštní. Washington D.C. je hlavním městem Spojených států, ale není správně nazýván státem a nepočítá se jako jeden z 50 amerických států. (Existuje stát Washington, ale nachází se na úplně opačném pobřeží než DC. Možná ho znáte jako sídlo Starbucks, Boeing a dalších slavných společností.) Jde nám o to, že v americkém poštovním systému funguje „DC“ jako jakákoli jiná státní zkratka.

Nyní toto číslo:20500. Ve většině zemí by se to označovalo jako poštovní směrovací číslo nebo poštovní směrovací číslo; Američané tomu říkají PSČ. PSČ (Zone Improvement Plan) kódy byly zavedeny v USA v roce 1963. Vidíme, že pro Bílý dům je PSČ 20500.

V roce 1983, US Postal Service chtěl být přesnější, takže vytvořili rozšířené PSČ + 4. Toto PSČ +4 obsahuje pět číslic PSČ, pomlčku a čtyři další číslice, které ukazují na konkrétní místo v PSČ. ZIP+4 prezidenta USA je 20500-0001. PSČ+4 první dámy (prezidentovy manželky) je 20500-0002. A ZIP+4 Bílého domu je 20500-0003.

Zatímco ZIP+4 může být docela přesný, jen zřídka najdete ZIP+4, který se používá pro jednu osobu. Často označují poštovní přihrádku (pro velkou společnost), řadu poštovních přihrádek nebo městskou čtvrť.

Beverly Hills 90210

V závislosti na vašem věku možná znáte americký televizní seriál 90210 nebo Beverly Hills 90210 . Tato populární telenovela pro teenagery je dalším dobrým příkladem fungování poštovního systému v USA. Někteří lidé si myslí, že je to přesná adresa čtvrti, ulice nebo dokonce konkrétního domu.

Nejprve začněme s nějakým pozadím. Beverly Hills je město v kalifornském Los Angeles County. Je domovem mnoha hollywoodských hvězd a luxusní nákupní ulice Rodeo Drive (proslavená v roce 1990 filmem Pretty Woman ).

https://goo.gl/maps/gqdvgRMNn472

Jedno z PSČ v Beverly Hills je 90210, ale město Beverly Hills používá i jiná PSČ (90209, 90211, 90212 a 90213). Kód 90210 odkazuje na jednu z noblesních čtvrtí Beverly Hills, a tedy na exkluzivní čtvrť v luxusní části Los Angeles.

Ale PSČ 90210 přesahuje Beverly Hills. Zahrnuje některé z přilehlých Hollywood Hills. Znáte kopce, kde se nachází nápis „HOLLYWOOD“? To je v PSČ 90210.

https://goo.gl/maps/Fa2t8SQaGj222

Zbývající část tohoto ZIP, táhnoucí se na sever k Mulholland Drive (zvěčněná v psychologickém thrilleru Davida Lynche z roku 2001), byla ponechána jako součást kopců Los Angeles, kde zůstala po desetiletí anonymní.

Buckinghamský palác

Buckinghamský palác má jednoduchou adresu, takže pokud chcete napsat královně Alžbětě, pošlete zprávu na adresu:

Buckinghamský palác

Londýn SW1A 1AA, Spojené království

V této adrese najdeme lichý typ PSČ. Ve Spojeném království (a v zemích, které tvoří Britské společenství národů a ve většině bývalých britských kolonií), je poštovní směrovací číslo alfanumerické. Porovnejte to s celočíselným poštovním směrovacím číslem, které se nachází v mnoha jiných zemích, včetně poštovních směrovacích čísel USA

Ve Spojeném království poštovní směrovací číslo obvykle obsahuje jedno nebo dvoupísmenné „kód města“ pojmenované pro místní město nebo oblast Londýna. V našem příkladu se jedná o „JZ“, což znamená jihozápadní část Londýna. Za ním následuje jedna nebo dvě číslice označující okres v daném kraji – „1A“. Dále je zde libovolný kód skládající se z jednoho čísla a dvou písmen, což je v tomto případě „1AA“.

Číslo 10

Britského premiéra najdete na adrese známé jako „Number 10“, která je pojmenována podle čísla ulice:

10 Downing St

Londýn SW1A 2AA, Spojené království

Stejně jako Buckinghamský palác se „číslo 10“ nachází v jihozápadní části Londýna. Poštovní směrovací čísla v některých městech Spojeného království vám dokonce mohou pomoci rozpoznat, ve které části města se adresa nachází.

Elysejský palác

Na druhou stranu francouzského prezidenta obecně najdete na této adrese:

55 Rue du Faubourg Saint-Honoré 75008

Paříž, Francie

Tento příklad se řídí známým vzorem:číslo ulice (55) a název ulice (Rue du Faubourg Saint-Honoré) jsou na prvním místě.

Dále najdeme 5místné poštovní směrovací číslo. Ve francouzských poštovních směrovacích číslech označují první dvě číslice, ve kterém „département“ (regionu) se adresa nachází. U pařížských poštovních směrovacích čísel označují poslední tři číslice „arrondissement“ (sousedství) adresy. V tomto případě tedy PSČ označuje sousedství adresy.

Méně známé (ale složité) adresy

Indie

Dost jednoduchých adres. V některých zemích je vzácné používat čísla ulic. Místo toho mohou adresy určovat, že umístění je vedle známého webu. Nebo mohou jen uvést název budovy a čtvrť, ve které se nachází.

Zde je adresa hotelu Hyatt v indickém městě Pune ve státě Maharahashtra.

Hyatt Pune

Sousedí s palácem Aga Khan, Nagar Road, Kalyani Nagar

Pune, Indie, 411006

Zde najdeme další PSČ, ale v tomto případě to nejsou 4 číslice, ani 5 číslic, ani 5+4 číslice, ani mix číslic a písmen. Je to 6 číslic. Indické poštovní směrovací číslo začíná kódem oblasti, poté kódem podoblasti a kódem reprezentujícím oblast třídění. To není příliš užitečná informace, pokud se snažíte najít toto místo osobně!

V tomto případě není žádná zmínka o státě, ve kterém se Pune nachází. Pokud však několik měst sdílí stejný název, ale nacházejí se v různých indických státech, může být v adrese uveden i stát.

Najdeme název ulice (Nagar Road) a označení čtvrti (Kalyani Nagar), ale není tam žádné skutečné číslo ulice. Můžete chodit nahoru a dolů po Nagar Road a hledat toto místo. Zjistili jsme tedy, že umístění je specifikováno jako sousedící se známým místem – palácem Aga Khan.

Japonsko

Vezmu příklad z jednoho dalšího hotelu Hyatt, který jste mohli vidět ve filmu „Lost In Translation“:

Park Hyatt Tokyo

3-7-1-2 Nishi Shinjuku, Shinjuku-Ku

Tokio, Japonsko, 163-1055

Aby bylo zřejmé, používám zde spíše západní formátování a anglický překlad než japonské znaky.

Na této adrese opět můžete najít prvky čtvrti, města a PSČ. „Nishi-Shinjuku“ (西新宿) je mrakodrapová obchodní čtvrť ve čtvrti Shinjuku v Tokiu.

Nyní, na jaké ulici se tento hotel nachází? Z adresy nemáte tušení. Názvy ulic se používají zřídka a většina japonských ulic ani názvy nemá (s výjimkou několika měst, jako je Kyoto).

A nezkoušejte chodit po ulici a hledat budovy označené 3-7-1-2. Tato čísla se týkají čtvrtí, sekcí, podsekcí a konkrétních městských bloků (v tomto případě v Tokiu).

Japonský adresní systém, když je napsán v západním stylu, začíná nejmenší entitou (typicky číslem domu) a pokračuje k největší. V adrese často najdete „Chome“, což je městská část (丁目 chōme).

Proč self-centrické modelování adres?

Jeden problém s modelováním adres je, když autor vytvoří model, který správně podporuje pouze jeho lokální adresu. Vysvětlil jsem to ve svém jiném příspěvku, takže jen shrnu hlavní problémy:

  • Datový model, který je navržen pro místní publikum, často nemůže přijímat informace z jiné země. Pokud by se například někdo ze Spojeného království pokusil zadat své osmimístné alfanumerické PSČ do pětimístného, ​​pouze číselného pole amerického PSČ, nefungovalo by to.
  • Mezinárodní publikum nemusí rozumět nebo používat stejné termíny, formáty a rozvržení jako místní publikum.

Tak proč se to děje? Chybí tu předvídavost, ale to také souvisí s tréninkem. Pokud se datoví modeláři nenaučí myslet globálně, téměř vždy budou myslet lokálně. Abych to nezlehčoval – opět jsem to zmínil ve výše uvedeném příspěvku – ale v mnoha učebnicích databázového modelování je běžné zaměřit se na amerocentrický přístup.

Naštěstí není těžké uvažovat globálně z hlediska modelování dat pro nadnárodní adresy. Souvisí to s předvídavostí a flexibilitou.

Řešení:Modelování globálních adres

Vytvořil jsem datový model pro ukládání globálních adres.

Existují dvě obecná pole řádku adresy (AddressLine1 a AddressLine2 z Address tabulka), která uloží téměř jakoukoli adresu. To by mělo fungovat, ať už ukládáme „10 Downing St“, „sousedí s palácem Aga Khan“ nebo „3-7-1-2 Nishi Shinjuku“. Riziko spočívá v tom, že dvě pole po 70 znacích mohou být pro některé adresy příliš krátká. Přesto by 140 znaků mělo stačit téměř pro každou situaci.

Použil jsem běžnou konvenci dvou polí adresního řádku, abych mohl vytvořit AddressLine1 povinné (bez možnosti null) a AddressLine2 nepovinné (s možností null). Tento model tedy vyžaduje nějaké jsou uvedeny informace o adrese, ale umožňují jak velmi krátkou, tak velmi dlouhou podrobnou adresu.

Dále se podívejme na poštovní směrovací číslo. PostCode pole je flexibilní a nemá žádná omezení ohledně informací, které v něm mohou být uloženy. To by podporovalo americká PSČ, americká PSČ+4, 4místná poštovní směrovací čísla, 5místná poštovní směrovací čísla, britská poštovní směrovací čísla (s písmeny a číslicemi) a mnoho dalších typů poštovních směrovacích čísel.

Region pole ukládá regiony v rámci země (tj. státy, provincie, departementy atd.), ale toto pole může mít hodnotu null. Model globální adresy samozřejmě vyžaduje, aby byla země uvedena pomocí dvoumístného kódu země ISO (Country v poli Address tabulka).




Nyní prosím otevřete model a vylaďte jej. Proto jsme model vytvořili na prvním místě. Možná uvidíte způsoby, jak model vylepšit. Nebo jej možná budete muset přizpůsobit svým konkrétním potřebám. Neváhejte si s tím hrát a připravte si to podle sebe.

Jakou máte adresu? Vejde se do této Address design stolu? Pokud ne, dejte nám vědět! Bylo by zajímavé vědět, co musí být rozšířeno, aby podporovalo vaši adresu.


  1. Kódujte své první API pomocí Node.js a Express:Připojte databázi

  2. Jak nejlépe využít funkci komentářů v MySQL

  3. Proč dotaz Microsoft SQL Server 2012 trvá několik minut oproti JDBC 4.0, ale sekundy v Management Studio?

  4. Jak zkontrolovat uživatelská oprávnění v MySQL Workbench pomocí GUI