Должен ли я использовать идентифицирующую или неидентифицирующую связь между переменной параметра спецификации и группой параметров спецификации?
У меня есть линия продуктов под названием XXX. И еще один называется YYY. У них обоих есть параметр spec
что мы выбрали для маркировки A
, который представляет разные вещи для разных производственных линий. Так A
для одной продуктовой линейки полностью отключен от A
, в другом.
У каждой продуктовой линейки есть модели. Таким образом, XXX может иметь много моделей в одной и той же линейке продуктов.
Я решил сделать что-то вроде этого:
- spec_group: таблица, которая будет содержать {XXX, YYY}, также известные как линейки продуктов
- spec_var: таблица, которая будет содержать имена переменных спецификации, такие как
A
как для производственных линий, так и для других переменных для других производственных линий. - product: таблица, содержащая модели продуктов {XXX-10, XXX-20, YYY-30, YYY-40}
- spec_var_has_product: таблица, которая связывает переменные спецификации с моделью продукта
Вопрос: Должен ли я установить связь между spec_group
а также spec_var
идентификации? То есть следует spec_var.id
а также spec_var.spec_group_id
быть составной первичный ключ?
Почему или почему нет?
Заметки:
Некоторые запросы могут быть:
- XXX-20 хочет проверить, есть ли A, принадлежащий к линейке продуктов XXX.
- YYY-30 хочет проверить, есть ли A, принадлежащий продуктовой линейке YYY.