Прошу прощения за смутное название, но я не знаю, как точно определить мою проблему ...
Мой вопрос основан на следующем условии:
Таблица называется«компоненты», содержащие некоторые компоненты с их дополнительной информацией Таблица под названием «спецификации», содержащая некоторые спецификации с их дополнительной информацией, где каждая спецификация относится только к одному компоненту
До сих пор я следовал стандарту ОДИН-Подход TO-MANY с использованием идентификатора «компонентов» в качестве внешнего ключа в «спецификациях».Теперь, вот моя проблема: я хотел бы иметь
третью таблицу , называемую "сценариями", которая хранит в каждой строке - среди прочего - для каждого возможного компонента в "компонентах" ровно одну из спецификаций, принадлежащихк этому компоненту.Как я могу это сделать?
Один из подходов, о котором я подумал, - это добавление столбца в «сценарии» для каждого компонента, например:
--------------------------------
| component_id | component_name |
--------------------------------
| 1 | C1 |
| 2 | C2 |
--------------------------------
-------------------------------------------------------
| specification_id | component_id | specification_name |
-------------------------------------------------------
| 1 | 1 | S1 |
| 2 | 1 | S2 |
| 3 | 2 | S3 |
| 4 | 2 | S4 |
-------------------------------------------------------
----------------------------------------------------------------------------------------------------
| scenario_id | specification_id_for_component_with_id_1 | specification_id_for_component_with_id_2 |
----------------------------------------------------------------------------------------------------
| 1 | 2 | 3 |
----------------------------------------------------------------------------------------------------
Но я бы хотел убедиться, что спецификации действительно существуют и принадлежатк указанному компоненту.Кроме того, для каждого нового компонента необходимо было изменить таблицу «сценариев».Должен быть лучший подход ...