Johan Vilela Dev
Published on

SQL ou ORM: Qual a melhor escolha?

Authors
  • avatar
    Name
    Johan Vilela
    Twitter

Quero compartilhar um pouco do que eu aprendi usando ORM e banco de dados no último ano.

Há um ano comecei um projeto novo no meu trabalho, e por conta do contexto de onde eu vim, decidi usar o Prisma ORM junto com um banco de dados PostgreSQL.

Essa foi uma decisão muito boa para o progresso desse projeto, pois fazia muitos anos que eu não mexia com SQL.

O ORM facilita muito a forma como você lida com os dados, e eu digo que é possível trabalhar com um banco de dados desse tipo sem ter conhecimento de SQL.

Isso permitiu que eu começasse o projeto e colocasse ele disponível de uma forma muito mais rápida.

Mas atenção, isso é perigoso e com certeza não é algo que eu recomendo pois em determinados momentos você pode esbarrar em problemas sérios onde você não terá capacidade de resolvê-los.

Continuo trabalhando nesse primeiro projeto no meu trabalho, porém recentemente comecei um outro projeto pessoal.

Nesse novo projeto eu tomei a decisão de lidar com o banco de dados "na unha", para sair mesmo da zona de conforto e resgatar o meu conhecimento de SQL que estava abandonado há anos.

Sendo assim voltei a revisar e estudar a linguagem. E apesar de muita coisa estar guardada na memória, eu perdi muito da prática, principalmente em relação a sintaxe.

O ORM te entrega um conjunto de ferramentas que facilita muito, mas que quando você não usa um ORM precisa decidir como resolver coisas como:

  • Acesso aos dados pelo servidor de backend;
  • Ajustes no Schema;
  • Lidar com as Migrations.

Em resumo, está sendo muito bom aprimorar meus conhecimentos nessa área. Sinto que isso reforça as minhas bases, me torna um desenvolvedor mais "sólido" e que consegue tomar melhores decisões.

Saber escrever queries SQL te dá um poder absurdo sobre o banco de dados, coisa que nenhum ORM, por mais robusto que seja e por mais que tenha uma boa interface de consulta, vai conseguir te entregar.

Mas se você me perguntar entre essas duas qual é a melhor abordagem para trabalhar com banco de dados, eu digo que...

...depende 😅

👇 Aqui em baixo tem uma seção de comentários, bora trocar um ideia!