Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo SQL Magazine 57 - Herança no PostgreSQL
Artigo publicado Revista SQL Magazine 57.
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?

![]()
PostgreSQL
Herança no PostgreSQL
Conceitos, Exemplos e Limitações
No âmbito das linguagens de programação OO, a herança é uma técnica bastante utilizada, principalmente se falarmos de linguagens como o Java ou C++ que são fortemente orientadas a objetos.
Saindo do mundo das linguagens e entrando no mundo dos bancos de dados, nos deparamos com uma realidade totalmente diferente, onde estes conceitos são diluídos e utilizadas idéias similares, como a especialização, que tem um pouco de semelhança com a herança de objetos.
Mas aí podemos pensar “Como era bom trabalhar com objetos” ou “Será que o banco que trabalho tem suporte à OO?”. Alguns bancos objeto-relacionais comerciais, como o Oracle, e de código aberto, como o PostgreSQL, possuem módulos nativos para se trabalhar com orientação a objetos.
Este artigo apresentará como o PostgreSQL implementa a herança de tabelas, um dos conceitos da orientação à objetos. Para tanto, serão discutidos os conceitos gerais de herança de objetos e como estes conceitos se enquadram dentro do PostgreSQL. Serão mostrados também pequenos exemplos de implementação para demonstrar o uso da herança e mostradas algumas dicas e limitações no uso da mesma. A versão do PostgreSQL utilizada neste artigo foi a 8.2.6.
Conceitos gerais sobre herança
A herança é muito utilizada nas linguagens de programação orientadas a objetos. É um conceito que permite alto grau de reutilização de código, quando bem utilizado.
Com esta técnica, as características comuns a diversos objetos podem ser concentradas em um objeto pai, criado por uma superclasse. A partir desse objeto, outros podem ser derivados, onde a classe que cria os mesmos, ou subclasse, herda as características da superclasse. Cada um desses objetos derivados apresenta as características (estrutura e métodos) do objeto pai e acrescenta a eles o que for particular ou específico de cada um. A idéia é fornecer um mecanismo simples, mas eficiente, para que se definam novos objetos a partir de um já criado.
A Tabela 1 mostra alguns exemplos onde se pode utilizar o mecanismo de herança. Mas, independentemente do exemplo dado, é preciso ter em mente que o objeto pai tem características gerais e o objeto derivado tem características especificas.
|
Superclasse |
Subclasse |
|
Membro |
Presidente, Diretor, Empregado, Associado |
|
Empregado |
Servente, Secretária |
|
FormaGeométrica |
Círculo, Quadrado, Triangulo |
Tabela 1. Exemplos de herança
Conceitos de herança no PostgreSQL
Seguindo os conceitos da herança de objetos, o PostgreSQL implementa a herança de tabelas, que pode ser uma ferramenta útil para os administradores de dados.
A partir do padrão SQL:1999 foram definidas características de herança de tipos e tabelas que diferem em alguns aspectos das características implementadas pelo PostgreSQL, como a herança múltipla, exemplificada mais adiante.
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Clailson De Almeida
Graduado em Tecnologia em Processamento de Dados e pós-graduado em Administração de Banco de Dados pela Universidade Tiradentes (UNIT), no estado de Sergipe. Já atuou como desenvolvedor WEB, com forte utilização de Java. Já trabalhou 2 anos como Analista de Sistemas e possui experiência no desenvolv...



