Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте!
Передо мной стоит задача, которую мне никак не удаётся решить -- может, кто-то подскажет хотя бы, в каком направлении копать.
Есть список неких объектов с айдишниками. У каждого объекта есть набор свойств. Свойства двух типов -- либо числа, либо строки. Набор свойств для каждого объекта свой -- т.е. один объект, например, характеризуется цветом и длиной, а другой -- цветом и глубиной, 3-й только шириной, и т.д. Нужно всё это как-то хранить в базе таким образом, чтобы:
1. можно было добавлять-убирать свойства,
2. можно было сравнивать объекты по общему свойству, если такое есть.
Понятно, что самое лёгкое решение -- таблица, где в столбцах свойства, а в строках -- айдишники объектов. Но тогда добавление-удаление свойств -- это добавление-удаление столбцов в очень немаленькой таблице, а это совсем не хорошо.
Подскажут что-нибудь знатоки?
Неактивен
таблица объктов
таблица свойств
таблица связи (id объекта, id свойства, значение)
Неактивен
Да, это первое, что приходит в голову.
Но свойства должны добавляться-удаляться. Значит, в таблице связи должны удаляться-добавляться столбцы. При большом к-ве записей это плохо. Именно этого и хочется избежать.
Кроме того, свойств больше, чем может быть столбцов в таблице (я понимаю, что можно разбить на несколько).
Но главное -- как добавление-удаление свойств осуществлять без удаления-добавления столбцов.
Неактивен
Ааааа!
Понял!
Спасибо!!!!
Неактивен