я видел два адекватных варианта. Либо используется ORM, либо DBA делают хранимки и дергаются хранимки. Вариант с "разрабы руками пишут SQL" практически всегда приводит к проблемам.
Тут всё зависит от компетенций как разработчиков БД, так и разработчиков бэка. В идеале же БД должна быть тупым хранилищем, где минимум логики. А это приводит к тому, что разработчики бэка должны хорошо разбираться как в SQL, так и в других языках других БД, при этом понимая, как добиться простыми запросами согласованности