prima di tutto la struttura sembra buona in termini di normalizzazione. Puoi leggere qualcosa in più su questo argomento semplicemente cercando su Google "regole di normalizzazione del database". Ma dovresti essere consapevole del fatto che otterrai query complesse separando ogni proprietà (tabella delle strade, tabella dei numeri civici ecc.). Per ottenere un risultato come "POI XY, Streetname 2, Somecity, lat=42.4, long=13.2" dovresti unirti ad almeno quattro tavoli. Se le prestazioni non sono un problema, vai avanti;-)
Puoi recuperare i dati (se disponibili) da openstreemap.org o alcuni poi da geonames.org
Saluti, Martin