| Linha 125: | Linha 125: | ||
* SELECT da VIEW cabecalhonotafiscal: | * SELECT da VIEW cabecalhonotafiscal: | ||
/*apelidando pessoafisica pois ela é referencia de duas tabelas nessa mesma view, e não é possível dar dois INNER JOIN*/ | /*apelidando pessoafisica pois ela é referencia de duas tabelas nessa mesma view, e não é possível dar dois INNER JOIN*/ | ||
/*usando AS para "apelidar" o atributo nome, pois ele é o mesmo para funcionarios e clientes*/ | /*usando AS para "apelidar" o atributo nome, pois ele é o mesmo para funcionarios e clientes*/ | ||
SELECT cli.nome AS cliente, idvenda, fun.nome, datadavenda, horadavenda, total, numerodeparcelas FROM venda | SELECT cli.nome AS cliente, idvenda, fun.nome, datadavenda, horadavenda, total, numerodeparcelas FROM venda | ||
INNER JOIN clientes ON (venda.idcliente = clientes.idcliente) INNER JOIN funcionario ON (venda.login = funcionario.login) | INNER JOIN clientes ON (venda.idcliente = clientes.idcliente) INNER JOIN funcionario ON (venda.login = funcionario.login) | ||
Edição atual tal como às 18h11min de 9 de agosto de 2013
EasyEstoque
Banco para gerenciamento de lojas criado utilizando PostgreSQL versão 9.2.4.
Download: http://www.enterprisedb.com/downloads/postgres-postgresql-downloads
Aula 12
3ª parte
Criar Banco de Dados
Imagens das 19 tabelas do banco, mostrando nome da classe (tabela), atributos (campos), tipos e chaves, com alguns dados inseridos.
- PDF contendo as imagens.
Arquivo:EstruturaEasyEstoque.pdf
Criar relações
Visões do BD com suas classes e relacionamentos.
- Visão do DER sem os tipos de dado, para melhor visualização de campos nulos e não nulos.
- Visão com os tipos de dados para cada atributo.
Popular base
Arquivo de backup do banco completo.
Download: http://www.sendspace.com/file/eah2t3
Procedimento de Backup
- Clicar sobre o banco que deseja fazer o backup com o botão direito e ir na opção backup.
- Escolher o formato e o nome do arquivo, clicar em backup.
Procedimento de Restore
- Entrar no pgAdmin III, acessar o seu servidor e criar um banco.
CREATE DATABASE teste;
- Clicar com o botão direito sobre o banco criado.
- Selecionar a pasta e o formato utilizado no backup, clicar em restore.
Gerar visões e relatórios
SELECT utilizado para no mínimo 5 resultados.
- SELECT da VIEW detalhesdosclientes:
SELECT nome, rg, pessoafisica.cpf, telefone, celular, logradouro, pessoafisica.cep, bairro, numero, complemento, cidade, unidadedafederacao FROM clientes INNER JOIN pessoafisica ON (clientes.cpf = pessoafisica.cpf) INNER JOIN enderecos ON (pessoafisica.cep = enderecos.cep) INNER JOIN estado ON (enderecos.uf = estado.uf) ORDER BY nome;
- SELECT da VIEW detalhesdosprodutos:
SELECT nome, nomedamarca, cor, genero, tamanho, dimensoes, precosugerido, observacoes FROM mercadorias INNER JOIN marca ON (mercadorias.idmarca = marca.idmarca) INNER JOIN tamanhosmercadoria ON (mercadorias.codmercadoria = tamanhosmercadoria.codmercadoria) INNER JOIN genero ON (mercadorias.idgenero = genero.idgenero) INNER JOIN tamanho ON (tamanhosmercadoria.idtamanho = tamanho.idtamanho) INNER JOIN categorias ON (mercadorias.idcategoria = categorias.idcategoria) ORDER BY categoria;
- SELECT da VIEW mercadoriasemestoque:
SELECT nome, estoque.idtamanho, cor, quantidadedisponivel, localizacaodamercadoria FROM estoque INNER JOIN mercadorias ON (estoque.codmercadoria = mercadorias.codmercadoria) INNER JOIN localdamercadoria ON (estoque.idlocal = localdamercadoria.idlocal) INNER JOIN tamanho ON (estoque.idtamanho = tamanho.idtamanho) INNER JOIN categorias ON (mercadorias.idcategoria = categorias.idcategoria) ORDER BY categoria;
- SELECT da VIEW cabecalhonotafiscal:
/*apelidando pessoafisica pois ela é referencia de duas tabelas nessa mesma view, e não é possível dar dois INNER JOIN*/ /*usando AS para "apelidar" o atributo nome, pois ele é o mesmo para funcionarios e clientes*/
SELECT cli.nome AS cliente, idvenda, fun.nome, datadavenda, horadavenda, total, numerodeparcelas FROM venda INNER JOIN clientes ON (venda.idcliente = clientes.idcliente) INNER JOIN funcionario ON (venda.login = funcionario.login) INNER JOIN pessoafisica AS cli ON (clientes.cpf = cli.cpf) INNER JOIN pessoafisica AS fun ON (funcionario.cpf = fun.cpf) INNER JOIN parcelamento ON (venda.idparcela = parcelamento.idparcela) ORDER BY datadavenda;
- SELECT da VIEW clientesdevedores:
SELECT nome, telefone, celular, saldo FROM clientes INNER JOIN pessoafisica ON (clientes.cpf = pessoafisica.cpf) WHERE saldo < '0';
DML
Apresentação DML com comandos utilizados para manipulação do BD.










