Exercícios


Incluir tabela de Bairros e relacionar com Endereços


create table bairro (
codbairro int primary key,
bairro varchar(20) not null
);
alter table enderecos add column codbairro int null;

Após popular os campos que inicialmente eram nulos, passar para não nulo, pois não daria certo criar o campo não nulo alegando que ele seria vazio para os itens já criados.

alter table enderecos alter column codbairro set not null;

Apagar a coluna bairro na tabela endereços.

alter table enderecos drop column bairro cascade;

Relacionar a tabela bairro com endereços.

ALTER TABLE enderecos ADD CONSTRAINT enderecos_codbairro_fkey FOREIGN KEY (codbairro) REFERENCES bairro (codbairro) MATCH FULL;


Incluir tabela de Cidades e Relacionar com Endereços


create table cidades (
codcidade int primary key,
cidade varchar(30) not null
); 
alter table enderecos add column codcidade int null;

Após popular os campos que inicialmente eram nulos, passar para não nulo, pois não daria certo criar o campo não nulo alegando que ele seria vazio para os itens já criados.

alter table enderecos alter column codcidade set not null;

Apagar a coluna cidade na tabela endereços.

alter table enderecos drop column cidade cascade;

Relacionar a tabela cidade com endereços.

ALTER TABLE enderecos ADD CONSTRAINT enderecos_codcidade_fkey FOREIGN KEY (codcidade) REFERENCES cidades (codcidade) MATCH FULL;


Incluir tabela de Parcelas a Receber


create table parcelasareceber (
idvenda int not null references venda (idvenda),
numerodaparcela int not null,
valor money not null,
dataprevista date not null,
primary key(idvenda,numerodaparcela)
);


Relacionar Tabela de Estados com Cidades


create table cidadesdoestado (
codcidade int not null references cidades (codcidade),
uf char(2) not null references estado (uf),
primary key (codcidade, uf)
);


Inserir uma mercadoria para dois fornecedores diferentes. Ex: Sapato Democrata para Fornec1 e Fornec2


A mercadoria foi inserida, e não houve problema pois para cada compra há apenas um fornecedor.


Inserir na Tabela Mercadorias Compradas, duas compras para a mesma mercadoria


A mercadoria para duas compras diferentes.


Inserir uma nova mercadoria em Estoque e manter dado anterior



Inserir um novo atributo: QuantMinima na Tabela Mercadorias


Inserir a coluna como nula.

alter table mercadorias add column quantminima int null;

Alterar a coluna para todos os valores existentes.

update mercadorias set quantminima = 0;

Alterar o campo para não nulo.

alter table mercadorias alter column quantminima set not null;


Inserir IdParcela em Mercadorias Compradas


Os passos são os mesmos que no exercício anterior.

alter table compras add column idparcela int references parcelamento (idparcela);
update compras set idparcela = 5;
alter table compras alter column idparcela set not null;


Excluir um fornecedor qualquer da Tabela Fornecedores



Excluir uma venda qualquer da Tabela Venda



Alterar um Código de Mercadoria da Tabela Mercadorias




  • Gerar relatório que mostre:


Todas as mercadorias adquiridas ordenadas por data


create view questao13 as (
select mercadoriascompradas.codmercadoria, nome, tamanho, nomedamarca, datadacompra from mercadoriascompradas 
inner join mercadorias on (mercadoriascompradas.codmercadoria = mercadorias.codmercadoria) 
inner join tamanho on (mercadoriascompradas.idtamanho = tamanho.idtamanho) 
inner join marca on (mercadorias.idmarca = marca.idmarca) 
inner join compras on (mercadoriascompradas.idcompras = compras.idcompras)
order by datadacompra);


Todos os saldos dos produtos ordenados por local


Toda as vendas de um dia (Cliente, Total, Parcelas)


Todo as mercadorias (Nome, Nome da Marca, Dimensões, Descrição Categoria, Cor, Preço Sugerido)


Todas as vendas feitas com Nome do Cliente, Vendedor, Total ordenados por Data


As mercadorias vendidas com a diferença entre os Preço sugerido x Preço da Mercadoria


Todos os fornecedores ordenados por Razão Social


Todas as compras realizadas com Preço de custo acima de R$ 1000,00.