меня, новичка, вообще ввело в ступор то, что тип улицы совмещён с её названием. Всегда казалось, что название улицы и её тип должны храниться отдельно.
А зачем? Что нам это даст, кроме усложнения работы? Фактически эти определения являются частью собственного имени. Так площадь Ленина, улица Ленина и проспект Ленина могут сосуществовать в одном городе.
Я вот думаю, что надо ещё посёлок, деревня и т. п. писать в названии (соответствующих населённых пунктов, ну, кроме городов, пожалуй), всё по тем же причинам.
Если в “нормальной” бд “3-я улица Строителей”
записывается как
status_prefix: 3-я
status: улица
name: Строителей
Это не нормально нифига. Держите в названии название вместе со статусной частью и отдельно статус. Тогда вырезав из названия статус легко получить название ьез статусной части, нет вопросов где она записывается и возможна фильтрация и сортировка по статусу.
для чего отдельно нужны улицы, переулки, проспекты, бульвары, проезды и прочая снедь? с чем их есть? сравнивать у кого больше? так всемогущий компьютер взяв в помощь одного-двух программеров и без доп. тегов посчитает (:
Вообще то:
status: улица
name: 3-я Строителей
Для этого всего лишь нужет алгоритм, который должен определить, что статус нужно ставить после числительного и перед существительным.
luiswoo вы процетировали сообщение о том что можно ввести префикс для статуса, и написали что в нормальных бд так и делается. Собственно на это ваше сообщение я и отвечал.
Ну можно конечно разбирать название по частям речи, но овчина явно не стоит выделки. Воспринимайте в данном случае name как шаблон размещения статусной части. Вы наверное не станете спорить что вырезать кусок названия по совпадению подстрок проще чем разбирать названия по частям речи.
Ах да, забыл. Ололо дублирование данных! Скачек энтропии! Голактико в опасносте