parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Вопрос по струтуре БД

max_rip 06.04.2014 21:11

Есть база объектов недвижимости, на данный момент сами объекты состоят из двух таблиц:
1 - цифровые данные
2 - текстовые данные(для разных языков, хотя за 4 года использования используется всегда 1)

У заказчиков поля разнятся, некоторые хотят много, некоторые мало, пока что это все регулировалось простой таблицей на диске, в которой описывались эти поля и добавлялись соответствующие в БД.
Но новый заказчик, решил сделать из это БД нечто большое, чем просто для сайта но и для внутренней работы, количество полей выросло и будет расти, и каждый тип недвижимости тянет за собой свои поля, раньше эти поля унифицировались, а уникальность писалась в текстовое описание.
Теперь же вопрос как лучше продолжить работу, просто увеличивать ширину таблицы и просто делать выборки с нужными полями или же вынести все эти опции в отдельную таблицу и хранить все там,например в umicms они вообще все данные всей цмс хранят в такой таблице.
Она имеет в себе самые распространенные поля, цифровое целое, цифровое с плавающей запятой, текстовое, логическое, text, все уже не помню.
Такой подход мне кажется оптимальным для полного управлений данными и полями из вебинтерфейса для конечного пользователя.
Но во всей такой структуре меня смещает фильтрация и выборки. Получается, для фильтрации надо сделать сначала кучу запросов чтобы понять, что надо показывать. Потом выбрать эти данные по ID с лимитами и потом по этим айди выбрать все опции.
Получается куча запросов, а в плоской структуре все помещается в один селект с несколькими джоинами.

Искал какие-то решения в интернете, понял что есть только ограничение на размер одной строки, в innodb количество полей вроде бы 1000.

Может у вас есть опыт работы с такими БД.