Построение связей между 3 таблицами

Есть 3 таблицы. Раздел, Тип, Продукт. Нужно построить связи между этими таблицами. Условия: Тип может быть в разных разделах, Продукт может быть в нескольких типах. Должно быть поле типа флажка показывать товар у этого типа или нет, и это поле зависит от того, в каком разделе лежит тип.


Есть 2 варианта. Не могу выбрать какой лучше и правильнее.

1 Вариант: Объединить Раздел и Тип связью многие-ко-многим в таблице (Раздел_Тип), и Раздел_Тип объединить с Продуктом (Раздел_Тип_Продукт).

Таким образом атрибуты в таблице Раздел_Тип:
pk_id - первичный ключ Раздел_Тип
razdel_id - id Раздела
type_id - id Типа

Атрибуты в Раздел_Тип_Продукт:
pk_id - первичный ключи таблицы Раздел_Тип_Продукт
razdel_type_pk_id - внешний ключ таблицы Раздел_Тип
product_id - id Продукта
show - Показывать товар или не показывать.


2 Вариант: Это тупо запихнуть связи между Разделом, типом и продуктом в одну таблицу Таким образом атрибуты данной таблицы будут следующими:
pk_id - первичный ключ
razdel_id - id Раздела
type_id - id Типа
product_id - id Продукта
show - Показывать товар или не показывать


Какой из вариантов правильнее и почему ?


Ответы (0 шт):