Как хранить в БД номера домов?

Статус
В этой теме нельзя размещать новые ответы.

danneo

Честный
Регистрация
13 Ноя 2007
Сообщения
1.526
Реакции
121
Подскажите, как лучше всего хранить номера домов в адресе фирмы?
Я хотел сделать поля для номера дома и поле для строения (корпус и т.п.). Но в москве сложные номера домов, например: 5/6с3-2
Даже не знаю чего это значит... Наверно, 5 дробь 6, строение 3. А 2 не знаю чего такое... :D
Мне кажется, хуже уже не найти :)
Второй же вариант такой: создать одно поле для всего номера, туда пихать все, что угодно.
 
корпус, строение, владение, дробь (для дом на углу улиц) ещё кто-то там, не помню.

Храни как варчар 255

Тебе вообще зачем адреса? Что потом из них выбирать и т.д. - от этого тип зависит,,,
 
Для ответа как хранить надо для начало ответить на вопрос зачем это хранить :) А если точнее то как эти данные будут использоваться.
Если есть шанс, что в скрипте тебе часто потребуется искать не просто по номеру дома, но и строение или вот этот непонятный префикс "-2" и формат записи может различаться, то имеет смысл разбить на разные поля.
Иначе сделай достаточно длинный varchar - этого должно хватить. Поиск дома по like '5/6%'. А более сложный поиск по like или REGEXP. Например, при необходимости найти все дома имеющие "строение 3", при условии одинакового формата, можно будет добавить в запрос что-то типа
Код:
WHERE house_num REGEXP "[0-9/]{1,10}c3"
 
функционал, насколько я пока представляю, заключается в выводе списка фирм и их адреса. Поиск по строениям не будет. Даже по номеру вряд ли... если только по улице.
Получается, что проще в varchar
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху