Wat zou de best practice tegenwoordig nog zijn om internationale adressen in een database op te slaan, eigenlijk?
Dus zowel adressen als
Johan Vandezande
Burgstraat 10
9000 Gent
Als adressen als
John Q. Bidet
c/o Dept. of Sciences
London School of Economics and Political Science
Houghton Street
London WC2A 2AE
United Kingdom
Als pakweg adressen als
Rui Pereira
Rua Julio Combardor, 23, 1º andar, apto. 104
Bela Vista
São Paulo – SP
BRASIL
01310-000
Ik ben geneigd om gewoon het hele adres in één groot meerlijnenveld te steken, en daarmee doef.
Serieus, wat is het nut om dat in straat – huisnummer – postcode – gemeente – land op te splitsen, als het toch alle mogelijke kanten uit kan gaan? En iets als xNAL is helemaal overkill, mijn gedacht. ’t Is een database die door mensen moet onderhouden worden, begot.
De enige reden die ik zou kunnen verzinnen voor iéts meer genormaliseerde dinges, is misschien een veld apart voor de postcode als het in België is, dat dan nuttig zou kunnen zijn voor mailings op gemeente of provincie of zo, en misschien een veld apart voor het land (of zelfs maar een vinkje “niet België”), dat dan kan gebruikt worden om in mailings het onderscheid te maken tussen binnen- en buitenland.
Oh, en misschien om fouten te vermijden zoals “8000 Gent” of “9820 Charleroi”, ja.
Maar dan nog. Zelfs voor geocoding en dingen raadt Google aan “Specify addresses in accordance with the format used by the national postal service of the country concerned”, dus ook voor heatmaps en watnog heeft het niet veel zin om vanalles apart op te slaan.
Enfin, tenzij ik me vergis natuurlijk hé.
Reacties
6 reacties op “Database best practices gezocht”
Ooooh, ik wil wel weten wat je daar uiteindelijk mee hebt aangevangen. Compleet zot van dat soort oefeningen, ik 🙂
Ik ben hier ook een overstap aan het voorbereiden van 4 kolommen voor streetline1 tot -4 naar een multi-line ‘Address’ veld. Land (iso-3166), postcode en stad zijn wel apart nodig voor labels (DHL, DPD, etc.), maar de rest inderdaad: hoe minder je de gebruiker verwart hoe correcter hij informatie ingeeft.
Ik snap er niets van maar 9820 Gent moet – met of zonder steun van de homo touristicus – te realiseren zijn! Dat ze zich in Melsen, Bottelare, Schelderode en de rest van het zootje maar al klaar houden…
De addressfield module van Drupal gebruikt juist keihard XNAL en steekt alles in aparte tabellen en kolommen. En dan alle transformaties, validatie en what not in PHP.
Reden: generieke oplossing proberen aanbieden die zoveel mogelijk use cases dekt.
https://www.drupal.org/project/addressfield
Ja, my point exactly; bijzonder zeer zéér zwaar overkill. 🙂
En dan zwijg ik nog van de tig integraties met geocodering en what-not. 😉