Lagring av adresse i database

ThomasK
ThomasKs bilde
Avlogget
Donator
Ble med: 30.12.2009

heisann...

Hvordan er "vanlig" eller beste lagring av adresse i en database?

Det er jo så mange betegnelser, og ser jo at ved å dele det opp så mye som mulig kan gjøre søk mer fleksibelt.

  • Land
  • Fylke
  • Kommune
  • Postnr og Poststed
  • Stedsnavn
  • Gate-/Veinr
  • husnr-/bokstav.

Egne tabeller for Land, Fylke, Kommune og Postnummer/Poststed?Så man kan bare skrive litt så kommer resten frem, sant. lett og greit.

Er det greit å ha en helt egen tabell hvor adresser lagres, og tildele de ett IDnr som kan JOINes sammen med medlem-/kundetabell?

Eller sammen med medlem-/brukertabellen?

med hilsen
Thomas Kile

Hjemmeside
Hjemmesides bilde
Avlogget
Bidragsyter
Ble med: 17.06.2008
Normalisering eller ikke

Dette kan du enten gjøre enkelt eller veldig komplekst. Med databasenormalisering heter det seg at én opplysning kun skal lagres én gang. Jeg divergerer noen ganger fra dette, adresser er ett tilfelle hvor jeg sløyfer det.

Det du kunne gjort var å bruke en tabell til f.eks. land, fylke og poststed. Hvert land har sin ID, hvert fylke har sin id og hvert poststed har sin ID der postnummeret er iden.

Dog; jeg synes det er bedre å lagre denne typen opplysninger i brukertabellen eller hver adresse i en egen tabell og linke adressene til brukeridene. Noen ganger kan f.eks. fakturaadresse være en annen enn leveringsadressen. Hvis én bruker kun har én adresse så hadde jeg nok gått for brukertabellen.

Uansett; valget er ditt. Det er fordeler og ulemper ved begge valg.

ThomasK
ThomasKs bilde
Avlogget
Donator
Ble med: 30.12.2009
Okay, men da trur jeg en

Okay, men da trur jeg en effektiv måte kan være å sette det opp noe slik:

brukertabell: ID, Fornavn, Etternavn, telefon, email, adresse

Adressetabell: ID, Postadresse, Fakuraadresse, Leveringsadresse

 

Eneste jeg ser i denne forbindelsen er at Brukerens ID blir listet 3 ganger... Sant.

Men, jeg trenger kansje ikke ett eget felt som heter Adresse i brukertabellen når jeg nå i skrivende stund tenker etter?

med hilsen
Thomas Kile

Hjemmeside
Hjemmesides bilde
Avlogget
Bidragsyter
Ble med: 17.06.2008
Tabell for adresser

Jeg ville heller hatt en tabell for adresser slik:

AdresseID, Adressat, Gate/postboks, Postnummer, poststed, (og hvis nødvendig) land

AdresseID kan du knytte til brukerID i en relasjonstabell. Når vedkommende skal bestille noe kan du liste opp registrerte adresser, slik at vedkommende kan velge selv.

På invoice/faktura lagrer du disse opplysningene separat, da en endring av en av adressene ikke skal påvirke tidligere fakturaer.

På denne måten kan en bruker opprette så mange adresser han vil og sette disse som fakturaadresse, leveringsadresse og så videre.

Svar på forumemnet

(If you're a human, don't change the following field)
Your first name.
Innholdet i dette feltet blir holdt privat og vil ikke bli vist offentlig.