К чему этот пример? Он иллюстрирует тему шаблонов, к MVC он не имеет никакого отношения.
Задача MVC - не разделять, а сделать так, что бы система инкапсулировала в моделях бизнес-логику, не давая ей мигрировать по скриптам как г-но по весенним тротуарам.
Это - основная задача MVC.
Ибо когда логика у нас не размазана по контроллерам (скриптам), а представлена в разных слоях системы, то поддержка и прозрачность такого кода становится в разы качественнее.
В примере выше это как раз не MVC, а будущий ТТУК. Тут как написано в Википедии - контроллер использует DBAL и делает вид, что это модель.
Это - не модель.
Модель - это сущность, описывающая что-то в системе. Это совокупность правил. И CRUD в моделях - это лишь способность сохранять эту логику в БД.
Не надо из функции dbgetarr() делать модель. Это лишь слой взаимодействия с базой, не более.