DEV Community

Yuri Peixinho
Yuri Peixinho

Posted on

ORM (Object Relational Mapper)

ORM é uma técnica de mapeamento que permite uma relação entre o objetos e os dados. É um facilitador de integração entre software (sistema) e bancos de dados.

Antes de entendermos sobre como surgiu e qual a necessidade dos ORMs, temos que entender um pouco dos dois mundos: relacional e orientado a objetos.

Image description

Relacional

Os dados são modelados em termos de tabelas, onde cada tabela representa uma Entidade e seus relacionamentos. Os dados são organizados em linhas e colunas.

Orientado a Objeto

Os dados são modelados em termos de objetos, que são instâncias de classes. Cada objeto possui atributos (dados) e métodos (comportamentos). Os objetos podem se relacionar também, por meio da herança.

Como surgiu?

Surgiu como uma alternativa para que os desenvolvedores interajam com os bancos de dados usando objetos de linguagens de programação em vez de escrever consultas SQL diretamente.

Image description

Na figura ao lado podemos ter uma ideia de como ORM trabalha. Ele faz o mapeamento da sua classe para o banco de dados. Utilizando ORM também ganhamos produtividade, já que vamos deixar de escrever os comandos SQL e deixar para que o ORM faça isso por nós.

Vantagens

  • Desenvolvedores não necessariamente precisam saber SQL puro para interagir com os bancos de dados, deixando o código mais portável
  • Aumento de produtividade, simplificando o processo de tarefas de acesso a dados
  • Manutenção do código, deixando mais legível e fácil de manter.

Desvantagens

  • Desempenho, podendo introduzir sobrecarga de desempenho especialmente em consultas complexas e de alto volume.

AWS Q Developer image

Your AI Code Assistant

Automate your code reviews. Catch bugs before your coworkers. Fix security issues in your code. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More