Я занимаюсь разработкой веб-приложения для одежды и буду признателен за советы по структурированию данных в моей базе данных mysql.
Каждый товар (предмет одежды) будет фотографироваться разными способами, назовем их «модами». Например, рубашка должна быть сфотографирована застегнутой или расстегнутой, и / или заправленной / не заправленной. У пары брюк будет другой набор возможных атрибутов. Я хочу хранить информацию о способах фотографирования этих предметов, чтобы впоследствии я мог использовать эту информацию для особого отображения предмета одежды.
Таким образом, один из методов будет просто хранить все возможные атрибуты в одной таблице, что-то вроде:
productId (FK, PK)
modeId (PK)
isLoose
isTuckedIn
Размер
HasSmthUnderneath
Где атрибуты могут быть значением или кодом, определенным в другой таблице, или NULL, если это не относится к конкретному режиму.
Затем, учитывая определенный productId и modeId, я могу отфильтровать значения NULL для атрибутов, которые не применяются, и использовать только соответствующие.
Однако я не уверен, является ли это идеальным способом хранения значений такого типа, поскольку у меня было бы много значений NULL, например, в паре брюк, которые сфотографированы только одним способом. Я слышал о модели EAV, это уместно?
Вероятно, стоит отметить, что количество атрибутов будет определяться мной, а не пользователем, и не должно значительно меняться; и что моя конечная цель - извлечь атрибуты определенного режима, чтобы я мог использовать эти данные в своем приложении.
Извините, если что-то неясно!