Я заметил несколько проблем в приложение, и хотел бы понять как их решить:
1. Бэкенд обращается к БД и получает какие-то поля, после работает с ними как есть. То-есть если пришло поле и называется допусти sum, то оно далее в приложение будет везде использоваться как sum. Как мне кажется тут появляется зависимость от БД, и любые изменения требую изменения БД.
2. Из предыдущего вытекает то, что поля которые приходят при запросе на API называются также как и везде на бэкенде, которые зависят от названия в БД. То-есть получается сквозная зависимость API от БД.
3. Некоторые запросы на API это практически сходить в БД, потому что за этим запросом стоит SQL запрос в базу и получаем то, что от туда пришло.
Собственно на сколько всё это правильно? Возможно это вообще норм. И какие походы, инструменты и тд. можно и следует изучить для решения этих проблем?
Предлагаю вам изучить паттерны проектирования корпоративных приложений Мартина Фаулера. В книге разбирают подходы для различных вариантов построения архитектуры. Лучше на английском.
Если вы ничего не делаете, если просто ставите на СУБД прокладку, которая сама генерирует API по структуре БД (автоматически) - тогда взаимосвязь есть.
Иначе - вовсе нет взаимосвязи. И не надо. См. Дядюшка Бо "Чистая архитектура". Там небольшой объем - осильте. Есть переводы на русский язык и адаптации под конкретные языки программирования.
Есть два подхода Code first и Database first, разные инструменты могут реализовывать один или оба. В первом структура БД определяется кодом, а во втором наоборот.
Имя поля/столбца можно подменить, но если в место sum будет что-то другое, что это для Вас поменяет?
А вообще, все зависит от задачи. Могут в БД хранится данные, а потом на уровне сервисов производится преобразования, которые дают данным новое качество. Поэтому учитесь думать не кодом, а задачей, которую Вы решаете.