by Hirashiki
5. February 2010 00:16
Eis que surge o seguinte problema quando você faz um programa OO:
Você tem 2 tipos de pessoas para se cadastar: Física e Jurídica. Apesar de serem "pessoas", elas tem características que as tornam especiais (por exemplo, CPF para física e CNPJ para jurídica). Como fazer isso usando OO?
"Haaa... essa é fácil!!! É só criar as classes PessoaFisica e PessoaJuridica e herdar a classe Pessoa!!!"
Muito bem gafanhoto!! Do ponto de vista da Orientação à Objetos, esta correto. PORÉM, como vamos criar as tabelas para salvar esses dados?
A partir daí que surge a questão da Impedância de Dados. Os Bancos de Dados que trabalhamos são relacionais e até hoje, nunca trabalhei com um banco de dados Orientado à Objetos
Caçando na net achei alguns artigos interessantes sobre este assunto, e algumas soluções utilizadas para contornar este problema com bancos relacionais:
A Impedância, o Mapeamento Objeto Relacional e Implementações – Parte I
A Impedância, o Mapeamento Objeto Relacional e Implementações – Parte II
A Impedância, o Mapeamento Objeto Relacional e Implementações – Parte III
Programação orientada a objetos e banco de dados relacional: como mapear dependências, agregações, composições e heranças
São artigos bem interessantes e detalhados. Vale a pena dar uma olhada.