Estamos falando da mesma coisa meu amigo!
Trata-se de uma evolução natural das tecnologias de SGBD, assim como a extensão espacial que citei anteriormente, para aumentar o poder de abstração de dados em nível físico de banco.
Acredito, piamente, que a idéia é a possibilidade de trabalhar “de verdade” com Modelagem Orientada à Objetos (MOO) em toda a arquitetura de 3 camadas(Interface, Aplicação e Dados), sem ter que fazer “arrumações” e “sacrifícios” em nível físico de banco para poder “simular” OO.
Para desmistificar o provável, segue um exemplo bastante trivial de generalização/especialização IMPLEMENTADA na tecnologia PostgreSQL:
create table pessoa(
codigo serial,
nome varchar(150),
primary key(codigo)
)
create table pessoa_fisica(
cpf double precision,
dt_nascimento timestamp,
unique(codigo)
) inherits (pessoa);
create table pessoa_juridica(
cnpj double precision,
dt_abertura timestamp,
unique(codigo)
) inherits (pessoa);
Perceba que se quisermos adicionar o campo “telefone”, que é comum a qualquer tipo de pessoa seja “física” ou “jurídica”, basta alterarmos somente a tabela pessoa:
alter table pessoa add column telefone integer;
Isso seria um dos benefícios. Entretanto, existem contratempos também mas, que a depender da complexidade do modelo, podem ser resolvidos através de triggers.
Agora que conheceu um pouco mais, pode fazer as suas considerações.
Abraço e até a próxima!