create table pessoas(
	codigo integer not null,
    nome varchar(50) not null,
    tipo char(1) not null,
    cpf char(11),
    rg char(10),
    cnpj char(14),
    ie char(20)
);

insert into pessoas values 
(1,'Paulo','F','123', '456'),
(2, 'Bourbon','J',null,null,'000000','11111'),
(3,'Maria','F','321', '654');

select * from pessoas;

--b. visões pessoas físicas e as pessoas juridicas
create view fisicas (codigo, nome,cpf, rg) as
select codigo, nome,cpf, rg
from pessoas
where tipo='F';

create view juridicas (codigo, nome,cnpj, ie) as
select codigo, nome,cnpj, ie
from pessoas
where tipo='J';


select nome, cpf from fisicas
select nome, cnpj from juridicas

-- visao atualizavel
create view fisicas_atualiza (codigo, nome,tipo, cpf, rg) as
select codigo, nome,tipo, cpf, rg
from pessoas
where tipo='F';

insert into fisicas_atualiza values
(10, 'teste de visao', 'F','898989','09888')

select * from fisicas_atualiza
select * from pessoas

- consulta

select tipo, count(*)
from pessoas
group by tipo

