Структура БД для базы недвижимости?

Как лучше организовать таблички для базы объектов недвижимости?
  • Вопрос задан
  • 7052 просмотра
Пригласить эксперта
Ответы на вопрос 7
sl_bug
@sl_bug
Тут посмотрите. Real Estate вас интересует. Может что-нибудь поможет.
Ответ написан
Комментировать
vinxru
@vinxru
Если вам будет нужно выводить общий список недвижимости, сортировать этот список, выполнять по нему выборку, то делить данные на несколько таблиц не стоит. Скорость поиска упадет во столько раз, на сколько таблиц вы поделили данные (условно).

Время поиска в одной таблице log(n). Время поиска в 8 таблицах в которых записей по меньше = 8*log(n/8).

Можно еще рассмотреть вариант создать единственную таблицу с множеством полей. Поля которые не имеют смысла, просто заполнять NULL.
Ответ написан
Mendel
@Mendel
PHP-developer
Постановка задачи слишком размыта.
Вполне может оказаться, что в Вашем случае лучшим будет даже EAV.
Вообще общий подход — составляем несколько списков полей для разных видов данных.
Потом находим общие поля, пытаемся максимально объединить.
Имеем некий «родительский класс» и некий набор расширений.
Далее что у нас в каждом поле лежит? Не целесообразно ли из этого сделать справочник? (например сотрудники, районы, виды недвижимости и т.п.). На самом деле вопрос не очевидный. Иногда проще сделать перечисление или текстовое поле.
Некоторые поля из разных «классов» можно хранить в одном и том же поле базы если это не противоречит логике поиска (К примеру название поставщика или его ФИО в случае Юрлица или Физлица как правило является одним полем).
Когда мы получаем некий каркас надо трезво посмотреть на этот ужас и ответить — а все ли они нам нужны?
Если по полю не будет поиска или сортировки, то возможно стоит несколько таких полей объединить в одно поле «описание» которое заполняется по шаблону при вводе, или содержит сериализованный массив.

Часто целесообразно общую часть данных вынести в общую таблицу, а для каждого «класса» сделать отдельную таблицу со ссылкой на главную. Типа «объекты недвижимости, подробности квартир, подробности домов, подробности участков земли».
Ответ написан
@phasma
Руками. Недвижимость настолько разная, что у тебя может быть площадь под ресторан, а может быть склад и у них характеристики очень сильно отличаются. Где-то два дня в итоге потратили на то, что бы расписать структуру БД. Хотя если у тебя будет просто сайтик, то может быть этого и не нужно, в первый раз у меня было полей 8, но там чисто дома и участки. Второй раз я уже писал что-то вроде CRM с кучей ништяков.
Ответ написан
Комментировать
@phasma
Для вывода можно использовать memcached/sphinx/etc
Ответ написан
Комментировать
5erg
@5erg
нам в 2000-каком-то написали корпоративную базу, которая сейчас не нужна. Могу дать исходники, посмотрите
Ответ написан
Комментировать
afiskon
@afiskon
Вот статья по теме, в ней все написано.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы