Ellik: второй пример автора мне совсем понятен. У него получается так, что для каждого товара во второй таблице создается атрибут, а в третьей значение этого атрибута. Скорее всего там ошибка.
sunrails: Спасибо большое за совет. Тогда получается сначала я записываю атрибут и ставлю уникальное значение имени атрибута, что бы избежать дублирования. И при добавление сущности в базу, мне перед этим нужно добавить атрибут, что бы в последствии присвоить его сущности?
eav_type - описание типов (product, category, etc)
eav_attribute - описание атрибутов
product - таблица товаров (имеет поле type_id, которое содержит значение из eav_type. С помощью этой связи мы можем вытащить все задекларированные атрибуты товара из таблицы eav_attribute)
product_value - значения атрибутов товара
Это одна из очень простых реализаций.