Модель должна быть сущностью, которая активно использует соединение с базой данных, для простых моделей, использующих реализацию шлюза таблицы / активной записи, может работать. Для более сложных моделей средство отображения данных дополнительно изолирует базу данных от остальной части вашего приложения (что делает его менее инвазивным для изменения серверной части хранилища).
Контроллер должен обработать запрос и передать в модель все необходимые данные.
Тем не менее, простая настройка соединения с базой данных обычно выполняется с помощью какого-либо сценария начальной загрузки. Модель (или преобразователь данных) затем использует соединение. Я не уверен, что это технически подпадает под «контроллер». На практике большинство фреймворков имеют загрузчики, маршрутизаторы и фронт-контроллеры - как бы вы их ни называли, ваша база данных должна использоваться моделью , но настраиваться вашей загрузочной системой .