Mapeamento objeto-relacional
Mapeamento objeto-relacional (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.[1][2] 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. Em outros casos o mapeamento é feito diretamente no código, através de herança de classes especiais como é o caso do ORM do Django e do SqlAlchemy na linguagem Python. Algumas ferramentas gráficas podem ser usadas para gerar o código que representa o modelo do banco, como o ORM Pony também da linguagem Python.
Ver também
[editar | editar código-fonte]Referências
- ↑ «What is Object/Relational Mapping? - Hibernate ORM». hibernate.org. Consultado em 2 de dezembro de 2020
- ↑ «O que é ORM?». Blog da TreinaWeb. 19 de novembro de 2019. Consultado em 2 de dezembro de 2020
Ligações externas
[editar | editar código-fonte]- peewee- Para a linguagem de programação Python
- Pony- Para a linguagem de programação Python
- «EntityCloud». – Um ORM tipificado para .NET
- Doctrine (PHP)- Para a linguagem de programação PHP
- TMS Aurelius- Para a linguagem de programação Delphi
- «EntityDAC». - Delphi ORM
- «ORMBr Framework». - Para a linguagem de programação Delphi-Embarcadero