Object-Relational Mapping (ORM), em português, mapeamento objeto-relacional, é uma técnica utilizada para fazer o mapeamento entre sistemas orientados a objetos e bancos de dados relacionais. Onde as tabelas do banco de dados são representadas em classes e os registros das tabelas seriam instâncias dessas classes.
No mercado existem dois padrões que são amplamente utilizados, o Data Mapper e o Active Record. Ambos os padrões foram definidos por Martin Fowler em seu livro Padrões de Arquitetura de Aplicações Corporativas.
O ActiveRecord é uma camada de código Ruby que é executada entre seu banco de dados e seu código lógico.
Falando especificamente do Ruby,que faz uso incrível de técnicas de metaprogramação para fornecer uma enorme quantidade de funcionalidades prontas para uso, o que podem parecer mágica às vezes por não estamos acostumados a esse tipo de lógica ou porque não a entendemos completamente.
Um dos benefícios de usar Rails e ActiveRecord é que ele cria uma matriz de acessadores de atributo e métodos de busca dinâmica que correspondem às colunas nas tabelas do banco de dados.
Existem métodos para todos os tipos de transações, inserir, atualizar, localizar, excluir. Todos eles funcionam de maneira semelhante: os parâmetros são recebidos, em seguida, uma consulta SQL é gerada e, em seguida, é executada para que as informações sejam atualizadas no banco de dados.
Quando você precisar fazer alterações no banco de dados, você escreverá o código Ruby e, em seguida, executará "migrações" que farão as alterações reais no banco de dados. A parte legal é que não importa qual banco de dados você está usando: Rails pode lidar com praticamente todos eles, e o formato do método será sempre o mesmo.
Para pessoas desenvolvedoras, é uma ferramenta importante que ajuda a aumentar sua produtividade, seja criando CRUDs e acessos à dados, ou apenas, quando o desenvolvedor precisa fazer códigos repetitivos, é uma mão na roda.
O ORM pode ser bastante útil para o desenvolvedor que ainda não domina muito bem como funciona a persistência de dados.
Então se você está começando na carreira de desenvolvedor, é importante reservar tempo para estudar ORMs relacionados a sua linguagem de programação preferida.
Top comments (0)