sql >> Database teknologi >  >> RDS >> Mysql

Best Practice / Standard for lagring af en adresse i en SQL-database

For internationale adresser henvises til Universal Postal Union 's Postal Adresseringssystemdatabase .

For amerikanske adresser henvises til USPS Publication 28 "Postal Addressing Standards" .

USPS ønsker følgende upunkterede adressekomponenter sammenkædet på en enkelt linje:

  • husnummer
  • prædirectional (N , SE osv.)
  • gade
  • suffiks (AVE , BLVD osv.)
  • postdirectional (SW , E osv.)
  • enhed (APT , STE osv.)
  • lejligheds-/suitenummer

For eksempel. 102 N MAIN ST SE APT B

Hvis du beholder hele adresselinjen som et enkelt felt i din database, er input og redigering let, men søgninger kan være sværere (f.eks. i tilfældet SOUTH EAST LANE er gaden EAST som i S EAST LN eller er det LANE som i SE LANE ST ?).

Hvis du holder adressen parset i separate felter, bliver søgninger efter komponenter som gadenavn eller lejligheder nemmere, men du skal tilføje alt sammen for output, du skal bruge CASS-software at parse korrekt, og postbokse, landruteadresser og APO/FPO-adresser har specielle parsinger.

En fysisk placering med flere adresser på den pågældende placering er enten en bygning med flere enheder, i hvilket tilfælde bogstaver/tal efter enheder som APT og STE angiv adressen, eller det er et Commercial Mail Receiving Agency (f.eks. UPS-butik), og der er tilføjet et maildrop/privat postkassenummer (som 100 MAIN ST STE B PMB 102 ), eller det er en virksomhed med ét USPS-leveringssted, og posten omdirigeres efter USPS-levering (hvilket normalt kræver et separat mailstop-felt, som virksomheden måske har brug for, men USPS vil ikke have på adresselinjen).

En kontakt med mere end én fysisk adresse er normalt en virksomhed eller person med en adresse og en postboks. Bemærk, at det er almindeligt, at hver adresse har et forskelligt postnummer.

Det er ret typisk, at en forretningstransaktion kan have en leveringsadresse og en faktureringsadresse (igen med forskellige postnumre). De oplysninger, jeg opbevarer for HVER adresse, er:

  • navnepræfiks (DR , MS osv.)
  • fornavn og initial
  • efternavn
  • navnesuffiks (III , PHD osv.)
  • mail stop
  • virksomhedens navn
  • adresse (kun én linje pr. Pub 28 for USA)
  • by
  • stat/provins
  • Postnummer
  • land

Jeg udskriver typisk poststop et sted mellem personens navn og firma, fordi landet indeholder staten/postnummeret, som indeholder byen, som indeholder adressen, som indeholder firmaet, som indeholder poststoppet, som indeholder personen. Jeg bruger CASS-software til at validere og standardisere adresser, når de indtastes eller redigeres.



  1. Databasedesign:Beregning af kontosaldoen

  2. Sådan bruger du array_agg() til varchar[]

  3. Sådan fungerer SQLite Min()

  4. Lær hvordan du bruger flere funktioner i MySQL og MariaDB - Del 2