У меня есть следующие таблицы для хранения товара с его атрибутами:
Атрибуты
id name
1 color
2 material
Значения атрибутов
id attribute_id value
1 1 black
2 2 plastic
Продукты
id name attributes
1 Laptop {1:"1",2:"2"}
Атрибут в таблице продуктов ссылается по id (1).Но на него также может ссылаться имя атрибута:
{"color":"black"}
Хотя это нарушает целостность данных, оно позволяет загружать продукты с атрибутами, которых еще нет в БД.Они могут быть добавлены позже, а затем продукты могут быть отфильтрованы по ним.Я прошу совета о том, как использовать преимущества обоих подходов?Я хочу сослаться на существующие атрибуты по идентификаторам или именам, а все остальные по именам - в таблице «Продукты».