1. Поймите принцип взаимодействия модели, представления и делегата.
Вот здесь хорошо описано .
2. Почитайте в книге
Бланшет, Саммерфилд - QT4 Программирование GUI на ... начинай со страницы 326.
Табличка в базе большая, и чтобы она вся не грузилась, хочу приляпать кнопки типа "следующая страница" - "предыдущая"
Таблица не будет грузиться целиком. Вид (представление в виде таблицы, у вас будет представлен классом QTableView) будет запрашивать из модели (модель будет представлена или классом QSqlTableModel (редактируемая) или классом QSqlQueryModel (только чтение)) только то количество данных, которое помещается на экране. По мере прокрутки таблицы на экране, будут запрашиваться новые данные из модели.
Да, QSortFilterProxyModel вам понадобится, если захотите сделать сортировку. Сделайте пока без нее, потом сможете вставить QSortFilterProxyModel без проблем.
Чтобы вид (то, что на экране), представил данные из модели так, как вам нужно, нужно пользоваться делегатами.
Если данные - числа и строки - и так их и надо представить, то использовать свои делегаты не нужно.
Если хотите что-то нестандартное, вроде в данных число, а представить нужно определенным цветом, тогда нужно реализовывать свой делегат.
Для начала, можете не париться про делегаты.