В настоящее время я разрабатываю структуру базы данных для раздела продуктов платформы электронной торговли. Он должен быть спроектирован таким образом, чтобы он мог продавать бесконечное количество различных типов продуктов с бесконечным множеством различных атрибутов.
например. Атрибутами ноутбука были бы оперативная память, размер экрана, вес и т.д. Атрибутами книги были бы Author, ISBN, Publisher и т.д.
Кажется, что структура EAV будет наиболее подходящей.
- Выберите продукт
- Продукт принадлежит атрибуту
- Набор атрибутов содержит атрибуты x и y
- Атрибут x - это тип данных datetime (значения, хранящиеся в атрибуте_values_datetime)
- Атрибут y - это тип данных int (значения, хранящиеся в атрибуте_values_int)
- Каждое определение атрибута обозначает тип (i, e, x имеет тип столбца → тип данных)
Предполагая выше, могу ли я присоединиться к выбору в таблице attribute_values_datetime, чтобы получить правильные данные, не получив набор результатов и создав второй запрос теперь, когда таблица известна? Был бы большой успех, связанный с построением запроса этого типа, или ниже будет более подходящим (хотя и менее функциональным)
- Выберите продукт
- Продукт принадлежит атрибуту
- Набор атрибутов содержит атрибуты x и y
- Атрибут x - это тип данных datetime, но сохраненный как TEXT в атрибутах_значения
- Атрибут y является типом данных int, но сохраняется как TEXT в атрибутах_значения