Здравствуйте! Дали задание в университете спроектировать и реализовать такую БД:
Я реализовал такую структуру:
Есть следующие комплектующие - мат. плата, ЦП, ОЗУ, видеокарта, блок питания, корпус, кулер
Для каждого из перечисленных видов комплектующих есть таблица с полями его характеристик (например, для мат. платы - Id, производитель, модель, сокет ЦП, форм-фактор, размер ОЗУ и т.д.).
В свою очередь, для каждой таблицы комплектующих есть таблица - прайс-лист с полями (id комплектующего, id магазина, цена).
Единственный способ решения задания для подбора сборки ПК, который я смог придумать - создание VIEW всех возможных сборок ПК, одновременно из трех магазинов, т.е. все возможные комбинации подходящих друг к другу комплектующих. Получается таблица такого вида: (id мат. платы, Id магазина мат. платы, Цена мат. платы в этом магазине; Id процессора, Id магазина процессора и т.д....). Т.е. комбинаторный способ решения.
Проблема в том, что таких вариантов сборки очень много (минимум несколько миллионов).
Так вот, вопрос: КАК ЭТО МОЖНО СДЕЛАТЬ БОЛЕЕ ПРАВИЛЬНО? Или мой вариант решения приемлем?
Буду очень благодарен за помощь! Спасибо!