Ciao Sal88
non so se ho capito bene quale sia la tua richiesta...
Il database lo ipmosti tu in funzione di ciò che hai bisogno. Sicuramente per un'agenzia immobiliare ci saranno gli immobili i quali avranno un indirizz e delle caratteristiche. Per da questo gia asi che dorai inserire dei capi per città, provincia, via, evententualmente cap e civico (se quest'ultimo nn vuoi includerlo nella via).
E poi le caratteristiche dell'immobile, es. se appartamento, villetta indipendente, n° di stanze, cessi, m², ecc..
In base ai dati che decidi di voler inserire ti crei la struttura del DB.
Poi per filtrare i dati in un campo di ricerca opportunamente costruito ti bastano delle "semplici" SELECT condizionali (nell'eventualità qualche join ma dipende da come strutture il tutto).