Прожив в Мадриде и свободно говоря по-испански, я могу предложить пару комментариев.
Я бы не стал разделять тип улицы и название, потому что тип улицы часто действительно является частью названия или может отсутствовать (например, Gran Via). Любой алгоритм синтаксического анализа может либо ошибиться, либо потребовать огромную таблицу исключений (и он будет все же ошибаться).
Предоставьте поле для провинции, после населенного пункта. Это обманчиво, потому что в крупных городах провинция часто не указывается, особенно если название города и название провинции совпадают. Вот пример, где местность и провинция разные:
Calle Alcala, 45
28192 El Berrueco
Madrid
Spain