2008-09-16 6 views
3

Ich bin auf der Suche nach einem gemeinsamen Muster, das globale Adressen in der Datenbank speichern und darauf zugreifen wird. Komponenten oder andere Technologien können verwendet werden. Folgende Kriterien müssen zu adheard ...Was ist der beste Weg, postalische Adressen mit einer SQL-Server-Datenbank und dem .NET-Framework zu speichern und wiederherzustellen?

  • Jede Zeile der Adresse wird für jedes Land gespeichert
  • Postal codes mit einem regulären Ausdruck geprüft, bevor
  • Land Original gespeichert wird in einem eigenen gespeichert Wenn die Daten mit einem Formular eingegeben werden, sind die Beschriftungsfelder so beschreibend wie möglich, so dass die Beschriftungen dynamisch sein müssen. Wenn die Daten angezeigt werden, wird die Adresse formatiert (http://en.wikipedia.org/wiki/Postal_address) im Stil des Landes
  • das Herkunftsland.
  • Die Adressen nehmen die Mindestabstände möglich

Antwort

4

Ich werde Sie auf meinen Blogbeitrag verweisen - A lesson in address storage aus Gründen, warum Sie sollten nicht Adressen in dem Format derzeit akzeptiert speichern und sollte ordnungsgemäß normalisiert werden! Sei nicht faul mit Adressspeicher, es wird dir nichts als Kopfschmerzen in der Zukunft verursachen!

Es gibt auch eine andere StackOverflow-Frage, die diese Frage stellt. Berechtigt mit How should international geographic addresses be stored in a relational database.

0

Wie wäre es, die Adressen als Text speichern (so dass Zeilenumbrüche) nach oben. Die Postleitzahl muss aus der Adresse mit einer Regex extrahiert werden (ausgewählt auf der Grundlage eines Länder-Dropdowns) und sollte in einer separaten Spalte gespeichert werden.

Dies behandelt nicht die Anforderung "so beschreibend wie möglich", aber im Allgemeinen führt das Erzwingen von mehr Einschränkungen hinsichtlich des Formats der Daten dazu, dass ein Prozentsatz gültiger Adressen zurückgewiesen wird. Es benötigt auch mehr Platz als eine einzelne Varchar-Spalte. Daher wird es immer einen Kompromiss zwischen den aufgeführten Anforderungen geben.

+0

Sein eine interessante Lösung, aber wenn man die Menschen ein freies Texteingabefeld ist anfangen, sie seltsam Informationen wie Start Eingabe „Es ist nur über die Bahnlinien neben das lustigen grüne Postbox. Wir haben das Haus mit der roten Tür“. Das versuchen wir zu vermeiden. – digiguru