С точки зрения вашей архитектуры, каждая таблица в вашей БД должна (в общем случае) иметь свою собственную модель (класс PHP), если вы этого не делаете, то я бы сказал, что у вас есть запах кода.
Если у вас есть каждая таблица в качестве модели, я не буду беспокоиться о количестве кода в каждом классе. Хорошо иметь "толстые модели" и "тощие контроллеры".
Если вы хотите уменьшить объем кода, вы можете использовать облегченную оболочку объекта данных, например, PEAR DB_DataObject . Несколько примеров того, как может выглядеть модель DB_DataObject:
$user = new User;
$user->get($user_id);
$user = new User;
$user->name = 'foo';
$user->find();
while($user->fetch()) {
...
}
Преимущество использования чего-то вроде DB_DataObject заключается в том, что вы абстрагируете множество низкоуровневых PDO, и ваша реализация класса будет больше фокусироваться на вашей бизнес-логике.