Mapeamento objeto-relacional
Mapeamento objecto-relacional (português europeu) ou objeto-relacional (português brasileiro) (ou ORM, do inglês: Object-relational mapping) é uma técnica de desenvolvimento utilizada para reduzir a impedância da programação orientada aos objetos utilizando bancos de dados relacionais. As tabelas do banco de dados são representadas através de classes e os registros de cada tabela são representados como instâncias das classes correspondentes.
Com esta técnica, o programador não precisa se preocupar com os comandos em linguagem SQL; ele irá usar uma interface de programação simples que faz todo o trabalho de persistência.
Não é necessária uma correspondência direta entre as tabelas de dados e as classes do programa. A relação entre as tabelas onde originam os dados e o objecto que os disponibiliza é configurada pelo programador, isolando o código do programa das alterações à organização dos dados nas tabelas do banco de dados.
A forma como este mapeamento é configurado depende da ferramenta que estamos a usar. Como exemplo, o programador que use Hibernate na linguagem Java pode usar arquivos XML ou o sistema de anotações que a linguagem providencia.
Ver também[editar]
- ADO.NET Entity Framework – Para a linguagem de programação Visual Basic .NET e C#
- DBIx::Class – Para a linguagem de programação Perl
- SQLObject – Para a linguagem de programação Python
- Hibernate – Para a linguagem de programação Java
- OJB – Para à linguagem de programação Java, da Apache Software Foundation
- Django (framework web) – Framework de desenvolvimento web escrito em Python que possui um ORM próprio.
- ECO - Enterprise Core Object – Para a linguagem de programação Delphi.
- NHibernate - Para a linguagem de programação .NET
- EntityCloud – Um ORM tipificado para .NET
- Doctrine (PHP) - Para a linguagem de programação PHP
- Active Record - Para a linguagem de programação Ruby on Rails.
- TMS Aurelius - Para a linguagem de programação Delphi
- Syrius ORM (php) [1] – Framework ORM escrito em PHP.
- Propel ORM (php) [2] – Mapeamento Objeto-Relacional para PHP5 PHP.