まず第一に、構造は正規化の観点から見栄えがします。 「データベースの正規化ルール」をグーグルで検索するだけで、このトピックの詳細を読むことができます。ただし、各プロパティ(Street-table、street-number-tableなど)を分離すると、複雑なクエリが発生することに注意する必要があります。 「POIXY、Streetname 2、Somecity、lat =42.4、long =13.2」のような結果を得るには、少なくとも4つのテーブルを結合する必要があります。パフォーマンスが問題にならない場合は、先に進んでください;-)
データ(利用可能な場合)はopenstreemap.orgから、またはいくつかのpoiはgeonames.orgから取得できます
よろしく、マーティン