Diogo, Eu concordo que não atentei para o detalhe da Especialização/Generalização. Assumindo a OO eu não precisaria dos campos nome, cpf e dtnascimento nas tabelas filhas, apenas uma chave estrangeira de relacionamento. Assim, qualquer alteração na estrutura desses campos poderia ser feita direto na tabela mãe, o que não poderia ser feito com o esquema que criei, pois nele eu teria que alterar não só a mãe, mas em todas as filhas.
Um detalhe que não comentei é que essa implementação foi feita baseada no funcionamento de herança dentro do próprio PG, onde um registro numa tabela filha é automaticamente inserido na tabela mãe. Vendo pela Especialização/Generalização percebo que a estrutura fica mais simples e flexível, tornando as triggers completamente desnecessárias. Só que isso não é nada além de normalização de banco de dados, daí penso o seguinte: qual a dificuldade que os desenvolvedores têm em corrigir o problema de herança no PG? -- Celso Henrique Mendes Ferreira Analista de Requisitos www.itecgyn.com.br Em 26/02/08, Diogo Biazus <[EMAIL PROTECTED]> escreveu: > > > Em 26/02/2008, às 00:37, Euler Taveira de Oliveira escreveu: > > > Celso Henrique Mendes Ferreira wrote: > > > >> Para o que eu precisava serviu legal e até agora não deu problema e > >> talvez, quem sabe, essa idéia consiga ajudar alguém. > >> > > Mas isso *não* é herança. É de certo modo uma "replicação parcial" das > > tabelas do banco de dados. > > De acordo com o Euler, porque replicar os atributos de pessoa (cpf e > dtnascimento) em aluno por exemplo? > Acho que se mapearmos os conceitos OO da seguinte forma: > > Classe -> Variável de relação > Atributo de classe -> Atributo de relação > Objeto -> Tupla > Composição de objetos -> Relacionamentos > > O conceito mais próximo da herança no banco relacional será > especialização/generalização. > > PS.: Se alguém me acusar de estar cometendo um grande erro de > mapeamento (como no livro do date) vou responder que não proponho um > banco relacional/oo mas um mapeamento mais "solto" entre um SGBDR puro > e modelagem OO (e uma definição bem geral de classes). > > -- > Diogo Biazus > [EMAIL PROTECTED] > http://www.softa.com.br > http://www.postgresql.org.br > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral