@gamer25
Студент 3 курса ЯрГУ факультета ИВТ

Как лучше организовать работу БД для выбора оптимальной сборки ПК по таблицам комплектующих?

Здравствуйте! Дали задание в университете спроектировать и реализовать такую БД:

fb82292d69254d2fb56af50236d14bb7.jpg9d3c38d7f99941118bf5f1d0b7848767.jpg

Я реализовал такую структуру:
Есть следующие комплектующие - мат. плата, ЦП, ОЗУ, видеокарта, блок питания, корпус, кулер
Для каждого из перечисленных видов комплектующих есть таблица с полями его характеристик (например, для мат. платы - Id, производитель, модель, сокет ЦП, форм-фактор, размер ОЗУ и т.д.).
В свою очередь, для каждой таблицы комплектующих есть таблица - прайс-лист с полями (id комплектующего, id магазина, цена).

Единственный способ решения задания для подбора сборки ПК, который я смог придумать - создание VIEW всех возможных сборок ПК, одновременно из трех магазинов, т.е. все возможные комбинации подходящих друг к другу комплектующих. Получается таблица такого вида: (id мат. платы, Id магазина мат. платы, Цена мат. платы в этом магазине; Id процессора, Id магазина процессора и т.д....). Т.е. комбинаторный способ решения.

Проблема в том, что таких вариантов сборки очень много (минимум несколько миллионов).
Так вот, вопрос: КАК ЭТО МОЖНО СДЕЛАТЬ БОЛЕЕ ПРАВИЛЬНО? Или мой вариант решения приемлем?
Буду очень благодарен за помощь! Спасибо!
  • Вопрос задан
  • 324 просмотра
Пригласить эксперта
Ответы на вопрос 1
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
IMHO Вы не правильно поняли вопрос.
условный клиент сам собирает комплект - а Вы должны посчитать стоимость при условии покупки в разных фирмах.
тут все просто - group по партномеру и min цена.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы