Procure Aqui

segunda-feira, 20 de junho de 2011

Utilizando INHERITS( ) no PostgreSQL

Bom dia!

Iniciamos o script do bd (banco de dados) VBO.
Sendo, já no bd, feito de forma orientada a objeto, utilizando herança para a criação do mesmo, evitando ser necessário criar códigos para fazer ligações de tabelas, para isso utilizando o termo INHERITS( ).

Abaixo um exemplo de utilização de INHERITS( ).

CREATE TABLE pessoa (
id_pessoa serial primary key,
nome_pessoa varchar(70),
telefone_pessoa varchar(15) );

CREATE TABLE fisico (
cpf varchar(14) UNIQUE ) INHERITS (pessoa);

O trecho do código acima é uma pequena parte de nosso bd.
O termo UNIQUE não permite que seja inserido valores no campo que sejam iguais, nesse caso cpf, que é único.

Inserindo registros.
insert into pessoa (nome_pessoa,telefone_pessoa)       
values ('João', '(33) 3333-3333');

insert into fisico (nome_pessoa, telefone_pessoa,cpf)
values ('Maria', '(99) 9999-9999', '999.999.999-99')
Se inserirmos registros da forma acima, teremos um registro na tabela pessoa e um na fisico. Sendo gerado o id_pessoa automaticamente.

Abaixo exemplos de pesquisas:
select * from pessoa
Resultado da pesquisa: nome telefone
João (33) 3333-3333
Maria (99) 9999-9999
select * from fisico
Resultado da pesquisa: nome telefone cpf
Maria (99) 9999-9999 999.999.999-99


Nenhum comentário: