Ich werde internationale Benutzer meine Datenbank verwenden lassen, aber ich weiß nicht, wie das Mailing-System außerhalb der USA funktioniert.
Reichen die Konzepte "Stadt", "Bundesland, Land und möglicherweise" Postleitzahl "aus, um eine Hierarchie zu erfassen (auch wenn sie nur zwei Ebenen tief war: (Stadt / Land)
database
internationalization
goodguys_activate
quelle
quelle
intl_addrs_line_3
für zusätzliche Informationen hinzufügen , die nicht nach Stadt, Bundesland / Provinz, Land oder Postleitzahl erfasst werden.Antworten:
Verwenden Sie ein einzelnes Klartextfeld!
Sofern Sie keine Datenbank für die Zustellungsoptimierung oder eine andere stark lokale Verwendung erstellen, sollten Sie einfach die vollständige Adresse als Textfeld mit Standardzeilenumbrüchen speichern.
Wenn Sie zusätzliche Informationen benötigen, z. B. eine Postleitzahl oder eine Straße zum Sortieren und Gruppieren, um einen Rabatt für Massenpost zu erhalten, können Sie diese entweder in einem zusätzlichen Feld speichern oder sie einfach zur Postzeit anhand einiger festlegen ziemlich einfache Logik. (Oder Sie können jeder Adresse einen permanenten Schlüssel geben und Rabattinformationen über andere Tabellen bereitstellen lassen.)
Nun, ich sage nicht, dass Sie kein mehrteiliges Adressformular mit Stadt- und Bundeslandlisten und möglicherweise einen automatischen Verweis auf die Post-Adressadresse eines Landes bereitstellen sollten , aber Sie haben nicht gefragt, wie ein Formular für erstellt werden soll Bei Benutzereingaben haben Sie gefragt, wie die Adresse in einer Datenbank gespeichert werden soll.
Wenn Sie dieses Formular ausführen, möchten Sie möglicherweise einen JSON- oder XML-Blob speichern, damit die Felder erneut ausgefüllt werden können. Dies sind jedoch keine Daten, die Ihre Datenbank selbst unbedingt berücksichtigen muss ...
quelle
SELECT * FROM Customers C INNER JOIN PostalCodes P ON C.Address LIKE '%'+P.code + '%'
Und ich habe bereits bemerkt, dass Sie die verschiedenen Gruppierungs- und Sortierfelder entweder im selben Datensatz oder in einer separaten Tabelle mit einer Viele-zu-Viele-Beziehung zwischen Adressen und sortierbaren Aspekten einfügen können.Wie bei allem gibt es einen internationalen Standard. In diesem Fall handelt es sich um ISO / IEC 19773 Teil 08: Datenstruktur für UPU-Postdaten . Aber wie bei internationalen Standards üblich, sind sie wirklich komplex. Dieser hat 30 Seiten und definiert ungefähr 50 mögliche Elemente, die Teil einer vollständigen Postanschrift sein können, um jedes mögliche Adressierungsschema abzudecken, das irgendwo auf der Welt verwendet wird.
Dies ist möglicherweise der richtige Weg, um eine Adresse zu speichern, aber möglicherweise nicht der praktikable .
Um einen Überblick über das Aussehen von Adressen in verschiedenen Ländern zu erhalten, lesen Sie möglicherweise den Wikipedia-Artikel über Post-Adressen . Wie Sie sehen, verwenden fast alle Länder Person, Hausnummer, Straße und Stadt (aber es gibt einige seltsame Fälle wie den Iran, in denen Gebäude Namen anstelle von Zahlen haben, oder Japan, in dem einige Städte Koordinatensysteme verwenden ). Darüber hinaus sind einige Länder in Regionen und einige weiter in Unterregionen unterteilt. In den meisten Ländern werden Postleitzahlen unterschiedlicher Länge verwendet, und Sie können normalerweise erwarten, dass sie dieselben Informationen wie Region, Subregion und Stadt enthalten. Von diesen Informationen wird jedoch normalerweise erwartet, dass sie die Richtigkeit der Postleitzahl überprüfen.
Was bedeutet das für den Entwickler einer wirklich internationalen Adressdatenbank? Sei flexibel. Machen Sie kein Feld erforderlich und lassen Sie einige optionale Allzweckfelder zu, die zur Darstellung regionaler Macken verwendet werden können.
quelle