powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше хранить большой список параметров в MySQL? Проектирование структуры
7 сообщений из 7, страница 1 из 1
Как лучше хранить большой список параметров в MySQL? Проектирование структуры
    #38549640
63ek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется много элементов, например "машины" и у каждого элемента есть большое количество разных параметров, например: грузовая, новая, ремонт, автомат, левыйруль и тд...

Раньше мы хранили все следующим образом:

Код: sql
1.
2.
3.
4.
5.
6.
7.
CREATE TABLE IF NOT EXISTS `example` (
  `id_car` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `a` tinyint(1) unsigned NOT NULL,
  `b` tinyint(1) unsigned NOT NULL,
  `c` tinyint(1) unsigned NOT NULL,
  PRIMARY KEY (`id_car`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


Сейчас появилась задача изменить структуру, чтобы дать возможность пользователям добавлять новые параметры - подобно тому как в toster.ru добавляются теги для каждого вопроса. Подскажите как правильно организовать подходящую структуру в БД?
...
Рейтинг: 0 / 0
Как лучше хранить большой список параметров в MySQL? Проектирование структуры
    #38549682
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EAV будет жить вечно
...
Рейтинг: 0 / 0
Как лучше хранить большой список параметров в MySQL? Проектирование структуры
    #38549739
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модEAV будет жить вечно
Звучит по Ленински. Возможно, только еще броневика не хватает.
...
Рейтинг: 0 / 0
Как лучше хранить большой список параметров в MySQL? Проектирование структуры
    #38550280
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
63ekСейчас появилась задача изменить структуру, чтобы дать возможность
пользователям добавлять новые параметры - подобно тому как в toster.ru добавляются теги
для каждого вопроса. Подскажите как правильно организовать подходящую структуру в БД?

Поиск по параметрам нужен? Тогда EAV. Не нужен - пихай XML в BLOB.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как лучше хранить большой список параметров в MySQL? Проектирование структуры
    #38550372
63ek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал так -> машины, параметры, таблица связей (id_машаны, id_параметра). Насколько накладно будет использование IN() для вывода ID машины по параметрам IN(A,B,C)... ожидаемое кол-во строк в таблице > 30 000 000... при использовании уникалльного индекса на (id_машины, id_параметра). Какие подводный камни ждут с IN?
...
Рейтинг: 0 / 0
Как лучше хранить большой список параметров в MySQL? Проектирование структуры
    #38550683
Фотография DirksDR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
63ek,

Посмотри топик
http://www.sql.ru/forum/1074267/poisk-po-eav
...
Рейтинг: 0 / 0
Как лучше хранить большой список параметров в MySQL? Проектирование структуры
    #38550825
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
63ek появилась задача изменить структуру, чтобы дать возможность пользователям добавлять новые параметры - подобно тому как в toster.ru добавляются теги для каждого вопроса.Пользователи пишут заявку на новый параметр оговаривая какого он типа, где он появляется в поле редактирования, в каком формате выводится, какие проверки на ввод должны быть (например у параметра "левый руль" значение "Красный" не имеет смысла).
Новый параметр добавляется в клиентское приложение вместе с скриптом по обновлению на бд
alter table yourTable add field newField;
а может
create table newDict (id_newDict int primary key, name char(100));
alter table yourTable add field id_newDict int references newDict;

63ek Сделал так -> машины, параметры, таблица связей (id_машаны, id_параметра)
Нет, вам никто не запрещает верить, что вы дадите пользователям EAV, а они сами сделают себе структуру, заточат под нее приложение, а вам останется только собирать плюшки, но хрустальный шар мне подсказывает, что пользователи ограничатся жалобами, наездами и угрозами.
Машины - изъезженая область с конечным числом параметров, если вы что-то упустили при проектировании это ваша проблема. Ищите подробности по слову EAV.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше хранить большой список параметров в MySQL? Проектирование структуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]