Я думаю, что это вопрос мнения, но я думаю, что лучшая практика - это создать какую-то модель Create, Retrieve, Update, Delete (CRUD), которая выполняет многие базовые функции SQL, такие как GetID, UpdateByID, GetById и т. Д. *
Модели CRUD могут зайти так далеко, помогая вам с более модульными запросами. Но имеет смысл вызвать функцию GetId и передать ей некоторые параметры, чем иметь разные функции для каждой таблицы.
Как я уже сказал, CRUD могут зайти так далеко. Например, имеет смысл иметь функцию, которая запрашивает таблицу пользователей базы данных, чтобы проверить, подтвердил ли пользователь и совпадают ли имя пользователя и пароль. Поскольку это уникальная, а не абстрактная функция, для нее должна быть определена собственная функция.
Кроме того, рекомендуется избегать смешивания доступа к логике и базе данных в одном и том же файле.