2008-05-04

SQL e a programação por Objectos

Existe uma grande separação entre as representações de dados baseadas na teoria relacional de Codd e Date, implementadas correntemente nas Bases de Dados Relacionais e as representações dos mesmos dados do ponto de vista da programação orientada a objectos. As modernas frameworks de programação incluem APIs de "persistência" de dados, ou seja, mecanismos que permitem converter a representação baseada nas tabelas relacionais em classes e objectos adequados à manipulação pela linguagem em causa. Esta tradução é, muitas vezes, deixada ao critério da framework usada.

Correntemente não se pode prescindir de uma ou de outra forma de representar os dados e há necessidade de recorrer a uma qualquer espécie de mapeamento ou tradução de variáveis "relacionais" (os registos das bases de dados) para variáveis "Objecto" (os elementos do código da aplicação). Esta diferença de representações e os problemas a ela associados são normalmente chamados de "Object-Raltonal Impedance Mismatch".

Num artigo muito interessante, Ted Neward fala deste problema como o Vietname da Informática, ou seja um problema cuja solução mais óbvia (o mapeamento Objecto-Relacional) está condenada ao fracasso.

Sem comentários: