Распространено заблуждение, что M в MVC - это просто база данных. Основная цель MVC - отделить уровень представления от остального приложения так, чтобы M не знал о VC.
V и C образуют пользовательский интерфейс, внешний уровень, с помощью которого пользователи могут взаимодействовать с вашим приложением. C обрабатывает все входные запросы от V и делегирует M, где это необходимо. V отображает изменения в M. В MVC на веб-основе V дополнительно разделяется по содержанию, представлению и поведению, например HTML, CSS и JavaScript.
Само приложение находится внутри М. Оно должно быть в состоянии работать изолированно от пользовательского интерфейса. Как таковой, он включает не только уровень доступа к данным, но практически все другие уровни, но уровень представления. Он может содержать, но не может содержать DAL, сервисные уровни, доменные объекты и т. Д. - все, что необходимо для вашего приложения, будь то получение данных из RSS-канала или отправка данных в веб-службу или отправка электронных писем или расчет дохода и т. Д.
Вопрос о том, должен ли DAL представлять одну строку, таблицу или что-то еще, зависит от вас. Это важный выбор дизайна для вашей архитектуры. Четырьмя общими шаблонами являются шлюз табличных данных, шлюз данных строк, активная запись и преобразователь данных.
Проверьте http://martinfowler.com/eaaCatalog/index.html для обзора.