Здравствуйте! Дали задание в университете по базам данных.


Интересует именно организация структуры БД.
Пока предполагаю 2 варианта:
Делаем отдельные таблицы для комплектующих ПК и там храним только характеристики.
- Делаем одну таблицу прайс-листа с полями: id магазина, id комплетующего ПК, цена (но возникает проблема, что поле id комплектующего не сделать foreign key, ведь выбор сторонней таблицы зависит от типа комплектующего (видеокарта/цп и т.д.))
- Делаем на каждую таблицы комплектующих свою таблицу прайс-листа (т.е. отдельный прайс-лист видеокарт, цп и т.д.) с полями: id магазина, id комплетующего ПК, цена. (Здесь уже не будет проблемы с foreign key, но получится много таблиц)
Вопрос: как правильно сделать? Может быть вообще не перечисленными способами. Спасибо.

----
Прикрепляю фото задания и текущую диаграмму БД.