Создаю пет проект интернет магазина техники, возникла проблема по организации ограничения выбора записи по внешнему ключу.
Вот наглядно: есть таблица со всеми производителями, и есть таблицы с характеристиками разных товаров, в которых присутствует столбец с внешним ключом производителя, но например процессоры могут делать только intel и amd, и нужно как-то создать ограничение на выбор производителя. Ниже показываю свое решение этой проблемы.
Есть одна таблица которая хранит всех производителей, независимо от того какую именно технику они производят
manufacture (
id serial primary key,
name varchar (255) UNIQUE NOT NULL
)
Есть таблицы, которые ограничивают выбор производителей в зависимости от категории
processor_manufacture(
id serial primary key,
manufacture_id int REFERENCES manufacture (id) NOT NULL --по внешнему ключу добавляю Intel и AMD
)
Далее таблицы с характеристиками определенных видов товаров, в которых есть столбец внешнего ключа производителя
processor_characteristic (
id serial primary key,
processor_manufacture_id int REFERENCES processor_manufacture (id) NOT NULL,
total_cores int NOT NULL --и прочие другие характеристики
)
Нормальное ли данное решение, или есть решения по лучше?