ник: Explorer
ИМХО лучше было бы задавать вопросы в обратной последовательности
1 насколько оптимальна структура
2 как реализовать этот функционал.
ответ на оба вопроса завист от того для чего создается БД и каков объем данных которые будут в нем храниться.
Для меня представленная вами структура не кажется очевидной - как правило не требуется разностить данные адреса по такому количеству таблиц, если только вы не пишете собственный КЛАДР.
например для хранения типа улицы может быть достаточно фиксированного списка значений или ссылки таблицы (LookUp Field) самой на себя, а структура адреса может оказаться гораздо сложнее, чем предписанная вашей схемой
адрес может, например, включать такие атрибуты как графство, кантон, микрорайон и проч:
ENKA Insaat Sanayii ve Ticaret A.S. - ENKA 3. Binasi, Balmumcu, Istanbul 34349, Turkey
или вообще не иметь таких атрибутов как улица или город:
Московская область, Химкинский район, Аэропорт Шереметьево-1 Абонентский ящик 56
ваша схема в таких случаях окажется бесполезной