У меня есть много-много отношений, связанных с сущностями: Отделы и Области.
1) Отделы.(Импорт, экспорт)
2) Области применения.(Nationwide, International)
1 отдел может быть связан со многими различными областями.И одна область видимости связана со многими отделами.
До сих пор таблица отношений многих со многими была бы такой:
DepartmentId (внешний ключ)
ScopeId.(Внешний ключ)
Каждое отношение отдела / области будет иметь целую конфигурацию, включающую типы документов, коды партий и т. Д.
(То есть для:
отдел 1 / область 1/ тип документа 1
отдел 1 / область действия 1 / тип документа 2
И затем для каждого типа документа будет несколько различных кодов:
отдел 1 / область действия 1 / документтип 1 / код 1
отдел 1 / область 1 / тип документа 1 / код 2
отдел 1 / область 1 / тип документа 2 / код 1
отдел 1 / область 1 / тип документа 2/ Код 2
Итак, я имею в виду таблицу отношений «многие ко многим» (отдел / область):
Id (автоинкремент) (первичный ключ)
DepartmentId
ScopeId.
Этот «Id» будет внешним ключом в другой таблице.
Это нормально, что я делаю, или я нарушаю какое-то правило передовой практики?
Спасибо
ОБНОВЛЕНИЕ 1
Я обнаружил, что у меня будет несколько разных маny ко многим таблицам взаимосвязей.
1) Определяет, какие области относятся к каждому отделу
Id
DepartmentId
ScopeId
2) Тип документа, связанный с каждымобласть действия в каждом отделе.
Id (первичный ключ, автоинкрементный)
DepartmentScopeId (внешний ключ, 1)
DocumentTypeId (внешний ключ к типу документа).
3) кодыотносится к каждому типу документа, который находится в области, принадлежащей отделу.
Id (первичный ключ, автоинкрементный).
CodeName (nvarchar (50))
DocumentTypeDepartmentScopeId (внешний ключ для 2)).
Я не уверен, что я слишком усложняю вещи или это нормальный шаблон в мире баз данных.
Полагаю, что после этого я мог бы создать представление, котороепомог бы мне получить доступ к данным, например: «Вернуть все коды, по типу документа, по объему, по отделу».
Было бы замечательно, если бы я мог получить совет, если это будет правильный путьэтот.
Спасибо