sql >> Databasteknik >  >> RDS >> Mysql

Bästa praxis/standard för att lagra en adress i en SQL-databas

För internationella adresser, se Universal Postal Union s Postal Adresseringssystemdatabas .

För amerikanska adresser, se USPS publikation 28 "Postal Addressing Standards" .

USPS vill ha följande opunkterade adresskomponenter sammanlänkade på en enda rad:

  • husnummer
  • förriktad (N , SE osv.)
  • gata
  • suffix (AVE , BLVD osv.)
  • postriktad (SW , E osv.)
  • enhet (APT , STE osv.)
  • nummer för lägenhet/svit

T.ex. 102 N MAIN ST SE APT B

Om du behåller hela adressraden som ett enda fält i din databas är inmatning och redigering lätt, men sökningar kan vara svårare (t.ex. i fallet SOUTH EAST LANE är gatan EAST som i S EAST LN eller är det LANE som i SE LANE ST ?).

Om du behåller adressen tolkad i separata fält blir sökningar efter komponenter som gatunamn eller lägenheter enklare, men du måste lägga till allt tillsammans för utdata, du behöver CASS-programvara för att analysera korrekt, och PO-boxar, landsvägsadresser och APO/FPO-adresser har speciella analyser.

En fysisk plats med flera adresser på den platsen är antingen en byggnad med flera enheter, i vilket fall bokstäver/siffror efter enheter som APT och STE ange adressen, eller så är det en Commercial Mail Receiving Agency (t.ex. UPS-butik) och ett maildrop/privat brevlådenummer har lagts till (som 100 MAIN ST STE B PMB 102 ), eller så är det ett företag med ett USPS-utlämningsställe och post dirigeras efter USPS-leverans (vilket vanligtvis kräver ett separat mailstop-fält som företaget kan behöva men USPS inte vill ha på adressraden).

En kontakt med mer än en fysisk adress är vanligtvis ett företag eller en person med en gatuadress och en postbox. Observera att det är vanligt att varje adress har olika postnummer.

Det är ganska typiskt att en affärstransaktion kan ha en leveransadress och en faktureringsadress (igen, med olika postnummer). Informationen jag behåller för VARJE adress är:

  • namnprefix (DR , MS osv.)
  • förnamn och initial
  • efternamn
  • namnsuffix (III , PHD osv.)
  • e-poststopp
  • företagets namn
  • adress (endast en rad per Pub 28 för USA)
  • stad
  • delstat/provins
  • Postnummer
  • land

Jag brukar skriva ut poststopp någonstans mellan personens namn och företag eftersom landet innehåller staten/postnummer som innehåller staden som innehåller adressen som innehåller företaget som innehåller poststoppet som innehåller personen. Jag använder CASS-programvara för att validera och standardisera adresser när de skrivs in eller redigeras.



  1. Förhindra dubbletter av poster till en tabell med PHP

  2. kan inte ansluta till mysql med php

  3. Senast uppdaterad rad-ID i Mysql

  4. Hur man sammanfogar text från flera rader till en enda textsträng i SQL Server