ORM (Object Relational Mapper)

Yuri Peixinho - Feb 26 - - Dev Community

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.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .