In meinem letzten Beitrag habe ich darüber geschrieben, wie Sie sicherstellen können, dass Ihr Datenmodell globale Informationen richtig verarbeitet:unter anderem Zahlen, Währungen, Telefonnummern, Adressen, Daten und Zeitzonen. Ich habe jedoch festgestellt, dass viele Beispieldatenmodelle genau den „egozentrischen“ oder „amerozentrischen“ Ansatz haben, vor dem ich gewarnt habe.
Als Amerikanerin, die im Ausland lebt (seit fast 30 Jahren), stelle ich oft fest, dass Menschen zu viele Annahmen über die Allgemeingültigkeit ihres Wissens machen. Beispielsweise gehen einige Amerikaner davon aus, dass andere das Postleitzahlensystem ihres Landes und seine ergänzende ZIP+4-Version automatisch verstehen. Meiner Erfahrung nach hat der größte Teil der Welt keine Ahnung, was eine ZIP+4 ist.
Daher dachte ich, dass es gut wäre, über einen globaleren Ansatz zur Modellierung von Adressen zu schreiben.
Auf der ganzen Welt bekannte Adressen
Nehmen wir einige bekannte und einige weniger bekannte Adressen auf der ganzen Welt und erstellen ein Datenmodell, das ihre Speicherung unterstützt.
Ich beginne mit der Adresse des Präsidenten der Vereinigten Staaten:dem Weißen Haus.
Weißes Haus
1600 Pennsylvania Avenue NW
Washington, DC 20500
Nun, 1600 ist das, was allgemein als Straßennummer oder Hausnummer bezeichnet wird. Das ist die Nummer des Hauses (Gebäudes) auf der Straße. Pennsylvania Avenue ist der Name der Straße. „NW“ ist die Abkürzung für Northwest und bezieht sich auf den Teil von Washington, in dem sich diese spezielle Adresse befindet. Interessanterweise ist 1600 Pennsylvania Avenue SE eine ganz andere Adresse; es ist ein mehrfamilienhaus.
Washington ist also der Name der Stadt. Und DC oder District of Columbia ist der „Staat“; DC ist jedoch unter den amerikanischen Staaten etwas Besonderes. Washington D.C. ist die Hauptstadt der Vereinigten Staaten, wird aber nicht richtig als Bundesstaat bezeichnet und zählt nicht zu den 50 amerikanischen Bundesstaaten. (Es gibt einen Bundesstaat Washington, aber er liegt an der völlig gegenüberliegenden Küste von D.C. Sie kennen ihn vielleicht als Heimat von Starbucks, Boeing und anderen berühmten Unternehmen.) Unser Punkt ist, dass im US-Postsystem „DC“ funktioniert wie jede andere staatliche Abkürzung.
Nun, diese Nummer:20500. In den meisten Ländern würde dies als Postleitzahl oder Postleitzahl bezeichnet werden; Amerikaner nennen es die Postleitzahl. Postleitzahlen (Zone Improvement Plan) wurden 1963 in den USA eingeführt. Wir sehen, dass die Postleitzahl für das Weiße Haus 20500 lautet.
1983 wollte der US Postal Service genauer sein und erstellte eine erweiterte Postleitzahl + 4. Diese PLZ+4 enthält die fünf Ziffern der Postleitzahl, einen Bindestrich und vier zusätzliche Ziffern, die auf einen bestimmten Ort innerhalb der Postleitzahl verweisen. Die PLZ+4 des US-Präsidenten ist 20500-0001. Die PLZ+4 der First Lady (der Frau des Präsidenten) ist 20500-0002. Und die PLZ+4 des Weißen Hauses ist 20500-0003.
Während die ZIP+4 ziemlich genau sein kann, werden Sie selten eine ZIP+4 finden, die für eine einzelne Person verwendet wird. Sie beziehen sich oft auf ein Postfach (für ein großes Unternehmen), eine Reihe von Postfächern oder ein Viertel innerhalb einer Stadt.
Beverly Hills 90210
Je nach Alter kennst du vielleicht die US-Fernsehserie 90210 oder Beverly Hills 90210 . Diese beliebte Teenager-Seifenoper ist ein weiteres gutes Beispiel für das US-Postsystem bei der Arbeit. Einige Leute denken, dass es sich um die genaue Adresse eines Viertels, einer Straße oder sogar eines bestimmten Hauses handelt.
Beginnen wir zunächst mit etwas Hintergrund. Beverly Hills ist eine Stadt im kalifornischen Los Angeles County. Es ist die Heimat vieler Hollywoodstars und der gehobenen Einkaufsstraße Rodeo Drive (bekannt geworden durch den Film Pretty Woman von 1990). ).
https://goo.gl/maps/gqdvgRMNn472
Eine der Postleitzahlen in Beverly Hills ist 90210, aber die Stadt Beverly Hills verwendet auch andere Postleitzahlen (90209, 90211, 90212 und 90213). Der Code 90210 bezieht sich auf eines der nobleren Viertel von Beverly Hills und damit auf ein exklusives Viertel in einem gehobenen Teil von Los Angeles.
Aber die Postleitzahl 90210 geht über Beverly Hills hinaus. Es umfasst einige der angrenzenden Hollywood Hills. Sie kennen die Hügel, auf denen sich das „HOLLYWOOD“-Schild befindet? Das steht in der Postleitzahl 90210.
https://goo.gl/maps/Fa2t8SQaGj222
Der verbleibende Abschnitt dieser ZIP, der sich nach Norden bis zum Mulholland Drive erstreckt (verewigt in David Lynchs Psychothriller von 2001), wurde als Teil der Hügel von Los Angeles belassen, wo er jahrzehntelang anonym blieb.
Buckingham-Palast
Der Buckingham Palace hat eine einfache Adresse. Wenn Sie also Queen Elizabeth schreiben möchten, senden Sie einfach eine Nachricht an:
Buckingham-Palast
London SW1A 1AA, Vereinigtes Königreich
In dieser Adresse finden wir eine seltsame Art von Postleitzahl. In Großbritannien (plus den Ländern des britischen Commonwealth und den meisten ehemaligen britischen Kolonien) ist die Postleitzahl alphanumerisch. Vergleichen Sie dies mit der rein numerischen Postleitzahl, die in vielen anderen Ländern zu finden ist, einschließlich der Postleitzahlen der USA
Im Vereinigten Königreich enthält die Postleitzahl normalerweise einen ein- oder zweistelligen „Stadtcode“, der nach einer lokalen Stadt oder einem Gebiet von London benannt ist. In unserem Beispiel ist das „SW“, was den südwestlichen Teil Londons bezeichnet. Darauf folgen eine oder zwei Ziffern, die einen Bezirk in dieser Region bezeichnen – die „1A“. Dann gibt es noch einen willkürlichen Code, der aus einer Zahl und zwei Buchstaben besteht, in diesem Fall „1AA“.
Nummer 10
Sie finden den britischen Premierminister unter der Adresse „Nummer 10“, die ihren Namen von der Hausnummer des Gebäudes hat:
10 Downing Street
London SW1A 2AA, Vereinigtes Königreich
„Number 10“ liegt wie der Buckingham Palace im Südwesten Londons. Postleitzahlen in einigen britischen Städten können Ihnen sogar helfen zu erkennen, in welchem Teil der Stadt sich eine Adresse befindet.
Élysée-Palast
Andererseits finden Sie den französischen Präsidenten im Allgemeinen unter dieser Adresse:
55 Rue du Faubourg Saint-Honoré 75008
Paris, Frankreich
Dieses Beispiel folgt einem bekannten Muster:Hausnummer (55) und Straßenname (Rue du Faubourg Saint-Honoré) stehen an erster Stelle.
Als nächstes finden wir eine 5-stellige Postleitzahl. Bei französischen Postleitzahlen geben die ersten beiden Ziffern an, in welchem „Département“ (Region) sich die Adresse befindet. Bei Pariser Postleitzahlen geben die letzten drei Ziffern das „Arrondissement“ (Nachbarschaft) der Adresse an. In diesem Fall gibt also die Postleitzahl die Nachbarschaft der Adresse an.
Weniger bekannte (aber komplizierte) Adressen
Indien
Genug einfache Adressen. In einigen Ländern werden Hausnummern nur selten verwendet. Stattdessen können Adressen angeben, dass sich ein Standort neben einer bekannten Website befindet. Oder sie nennen einfach den Namen des Gebäudes und die Nachbarschaft, in der es sich befindet.
Hier ist die Adresse eines Hyatt-Hotels in der indischen Stadt Pune im Bundesstaat Maharahashtra.
Hyatt Pune
Neben dem Aga-Khan-Palast, Nagar Road, Kalyani Nagar
Pune, Indien, 411006
Hier finden wir eine andere Postleitzahl, aber in diesem Fall ist es weder 4-stellig noch 5-stellig noch 5+4-stellig noch eine Mischung aus Ziffern und Buchstaben. Es ist 6-stellig. Die indische Postleitzahl beginnt mit einem Regionalcode, dann einem Unterregionscode und einem Code, der den Sortierbezirk darstellt. Das sind keine sehr nützlichen Informationen, wenn Sie versuchen, diesen Ort persönlich zu finden!
In diesem Fall wird der Staat, in dem sich Pune befindet, nicht erwähnt. Wenn jedoch mehrere Städte den gleichen Namen haben, sich aber in verschiedenen indischen Bundesstaaten befinden, kann ein Bundesstaat in die Adresse aufgenommen werden.
Wir finden einen Straßennamen (Nagar Road) und den Hinweis auf die Nachbarschaft (Kalyani Nagar), aber es gibt keine tatsächliche Hausnummer. Sie könnten die Nagar Road auf und ab gehen und nach diesem Ort suchen. Daher finden wir, dass der Ort neben einem bekannten Ort liegt – dem Aga Khan-Palast.
Japan
Ich nehme ein Beispiel aus einem weiteren Hyatt-Hotel, das Sie vielleicht im Film „Lost In Translation“ gesehen haben:
Park Hyatt Tokio
3-7-1-2 Nishi Shinjuku, Shinjuku-Ku
Tokio, Japan, 163-1055
Nur um das Offensichtliche klarzustellen, ich verwende hier eher westliche Formatierung und eine englische Übersetzung als japanische Schriftzeichen.
Auch in dieser Adresse finden Sie Elemente der Nachbarschaft, der Stadt und der Postleitzahl. „Nishi-Shinjuku“ (西新宿) ist das Wolkenkratzer-Geschäftsviertel im Shinjuku-Viertel von Tokio.
In welcher Straße befindet sich dieses Hotel? Von der Adresse her hast du keine Ahnung. Straßennamen werden selten verwendet, und die meisten japanischen Straßen haben nicht einmal Namen (außer in einigen Städten wie Kyoto).
Und versuchen Sie nicht, die Straße entlang zu gehen und nach Gebäuden zu suchen, die mit 3-7-1-2 gekennzeichnet sind. Diese Nummern beziehen sich auf Bezirke, Abschnitte, Unterabschnitte und bestimmte Stadtblöcke (in diesem Fall innerhalb von Tokio).
Das japanische Adresssystem, wenn es im westlichen Stil geschrieben ist, beginnt mit der kleinsten Entität (typischerweise einer Hausnummer) und fährt mit der größten fort. In der Adresse finden Sie oft „Chome“, was ein Stadtteil ist (丁目 chōme).
Warum selbstzentrierte Adressmodellierung?
Ein Problem bei der Adressmodellierung ist, wenn ein Autor ein Modell erstellt, das nur seine lokale Adresse richtig unterstützt. Ich habe das in meinem anderen Beitrag erklärt, also fasse ich nur die Hauptprobleme zusammen:
- Ein Datenmodell, das für ein lokales Publikum konzipiert ist, kann oft keine Informationen aus einem anderen Land akzeptieren. Wenn beispielsweise jemand aus dem Vereinigten Königreich versucht, seine achtstellige alphanumerische Postleitzahl in ein fünfstelliges, nur numerisches amerikanisches Postleitzahlfeld einzugeben, würde dies nicht funktionieren.
- Ein internationales Publikum versteht oder verwendet möglicherweise nicht dieselben Begriffe, Formate und Layouts wie ein lokales Publikum.
Warum passiert das? Es fehlt an Weitsicht, aber es hat auch mit dem Training zu tun. Wenn Datenmodellierern nicht beigebracht wird, global zu denken, werden sie fast immer lokal denken. Um den Punkt nicht zu vertiefen – ich habe ihn noch einmal in dem oben genannten Beitrag erwähnt – aber es ist in vielen Lehrbüchern zur Datenbankmodellierung üblich, sich auf einen amerozentrischen Ansatz zu konzentrieren.
Glücklicherweise ist das globale Denken in Bezug auf die Datenmodellierung für multinationale Adressen keine schwer zu erlernende Fähigkeit. Es hat mit Voraussicht und Flexibilität zu tun.
Die Lösung:Globale Adressmodellierung
Ich habe ein Datenmodell erstellt, um globale Adressen zu speichern.
Es gibt zwei generische Adresszeilenfelder (AddressLine1
und AddressLine2
der Address
table), die fast jede Adresse speichern kann. Dies sollte funktionieren, egal ob wir „10 Downing St“, „neben dem Aga Khan Palace“ oder „3-7-1-2 Nishi Shinjuku“ speichern. Das Risiko besteht darin, dass zwei Felder mit 70 Zeichen für einige Adressen zu kurz sein könnten. Dennoch sollten 140 Zeichen für fast jede Situation ausreichen.
Ich habe die übliche Konvention von zwei Adresszeilenfeldern verwendet, damit ich AddressLine1
erstellen kann obligatorisch (nicht nullable) und AddressLine2
optional (nullable). Dieses Modell erfordert also etwas Adressinformationen sind angegeben, erlauben aber sowohl sehr kurze als auch sehr lange, detaillierte Adressen.
Als nächstes schauen wir uns die Postleitzahl an. Die PostCode
Das Feld ist flexibel und hat keine Einschränkungen hinsichtlich der Informationen, die darin gespeichert werden können. Dies würde amerikanische Postleitzahlen, amerikanische Postleitzahlen +4, 4-stellige Postleitzahlen, 5-stellige Postleitzahlen, britische Postleitzahlen (mit Buchstaben und Ziffern) und viele andere Arten von Postleitzahlen unterstützen.
Die Region
Feld speichert Regionen innerhalb eines Landes (d. h. Staaten, Provinzen, Abteilungen usw.), aber dieses Feld ist nullable. Natürlich erfordert ein globales Adressmodell, dass das Land über einen zweistelligen ISO-Ländercode angegeben wird (der Country
im Feld Address
Tabelle).
Öffnen Sie nun bitte das Modell und optimieren Sie es. Deshalb haben wir das Modell überhaupt erst erstellt. Vielleicht sehen Sie Möglichkeiten, das Modell zu verbessern. Oder vielleicht müssen Sie es an Ihre speziellen Bedürfnisse anpassen. Bitte fühlen Sie sich frei, damit zu spielen und es zu Ihrem eigenen zu machen.
Welche ist Ihre Adresse? Passt es in diese Address
Tischgestaltung? Wenn nicht, lassen Sie es uns wissen! Es wäre interessant zu wissen, was erweitert werden muss, um Ihre Adresse zu unterstützen.