Я занимаюсь разработкой/проектированием небольшой системы для отслеживания серверов, приложений на этих серверах и для каждого приложения, какие среды существуют на сервере. У меня есть быстрый вопрос о хороших шаблонах/практиках дизайна.SQL Tables - Является ли эта конструкция приемлемой/хорошей практикой?
У меня есть 3 таблицы, по одному для каждого объекта. Они (сокращенно) следующим образом:
Server
Id : int
Application
Id : int
Environment
Id : int
Теперь мой вопрос:
было бы приемлемо, чтобы создать соединяющую таблицу как таковой:
AppServerEnvironments
ServerId : int
ApplicationId : int
EnvironmentId : int
Или это лучшая практика для создания двух соединяющих таблиц как таковых:
ApplicationServer
ServerId : int
ApplicationId : int
ApplicationEnvironment
ApplicationId : int
EnvironmentId : int
Я пробовал идти со вторым вариантом, но не могу показаться чтобы выяснить, как правильно соединить все 3 таблицы.
Любые ввод/руководство очень ценятся.
Спасибо!
Является ли окружающая среда атрибут сервера? – JNK
да - я бы сказал, что ServerEnvironment. ApplicationEnvironemnt может иметь другое значение - например, что нужно для правильной работы приложения. (но не обязательно, что находится на машине в данный момент). – Randy
Каждый сервер может содержать много приложений. Каждое приложение может иметь множество сред. Например, AppA может жить на ServerA, ServerB и Server C. На каждом сервере AppA может иметь EnvA , EnvB и EnvC. – dpCode