Buscar

Resumo av2 Implementacao de Banco de dados

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

--> APOSTILA sql <--
- INSTANCIA DE UMA RELACAO = UMA LINHA NA TABELA, UMA TUPLA
- DDL= CRIAR OU DESTRUIR COISAS DENTRO DO BANCO
- DML= INSERT, DELETE,UPDATE,CONSULTA
- DCL = HA DOIS COMANDOS :GRANT E REVOKE
- CONCEITOS DE : TUPLA, ATRIBUTOS,RELACAO
- CHAVE PRIMARIA = CRIA AUTOM. INDICE, / PREENCHIMENTO DE SEUS ATRIBUTOS SAO OBTIGATORIOS/ CRIAMOS INDICES PARA DAR SUPORTE AS CAHAVES ESTRANGEIRAS
- INDICE = SERVE PARA MELHORAR A PERFOMANCE NA CONSULTA
- CONSTRAINTS = SERVE PARA GARANTIR VALORES UNICOS P/ TUPLAS
- CONSTRANITS UNIQUE = PODEM TER VARIAS EM UMA TABELA / CRIA INDICE
- NOT NULL = OBRIGA PREENCHIMENTO DOS CAMPOS
- CHAVE ESTRANGEIRA = LIGAM DUAS RELACOES / NAO CRIA INDICE
========== CONSULTAS================ // IRAO CAIR BASTANTE QUESTOES DE SELECT 
COMANDO SELECT 
ORDEM = SELECT > FROM > JUNCAO(LEFT,FULL,RIGHT) > WHERE > GROUP BY > HAVING > ORDRE BY
SELECT * 
FROM cliente
WHERE upper(nome) = upper('Charles carvalho Santos');
------------------------------------------------------------------------
====================PROJEÇÃO EM SQL==============================================================
SELECT codcliente,nome
FROM cliente;
SELECT DISTINCT codcliente
FROM venda;// Elimina as tuplas(linhas) duplicadas
SELECT DISTINCT codcliente,codvendedor
FROM venda;
SELECT codcliente cliente, cpf, identidade id
FROM fisico; // mudar o nome das colunas - insere apelido nas tabelas
SELECT codproduto AS Item, valor,quantidade,
valor*quantidade AS Total
FROM itemvenda; // AS = OUTRA FORMA DE REFERENCIAR O APELIDO;
------------------------------------------------------------------------------------------
==================================SELEÇÃO====================================================
SELECT *
FROM produto
WHERE estoquemin > 400 AND estoquemax < 8000;
SELECT codvenda
FROM venda
WHERE dataentrega > '12-Ago-2004';
--------------------------------------------------------------------------------------------------
USANSO COMANDO LIKE (TRAZER CLIENTES QUE COMECEM COM A LETRA C )
SELECT NOME FROM CLIENTE WHERE NOME LIKE'C%';
SELECT NOME FROM CLIENTE WHERE NOME LIKE'%LTDA'; // RETORNA TODO MUNDO QUE TERMINE COM AS PALAVRAS 'LTDA'
SELECT NOME FROM CLIENTE WHERE NOME LIKE'%EIRA%';// RETORNA PESSOAS COM PARTES NO MEIO DO NOME REFERENTE A STRING SOLICITADO
--------------------------------------------------------------------------------------------------------------------------
==================================== ORDENAÇÃO DOS RESULTADOS = ORDER BY ==================================================
SELECT *
FROM cliente
ORDER BY nome;
SELECT codvenda,quantidade
FROM itemvenda
WHERE codproduto=1
ORDER BY quantidade DESC;
SELECT codvendedor,nome
FROM vendedor
ORDER BY 2,1 ;
SELECT *from venda
ORDER BY 3 desc ; 
// Ordenar em ordem descrente a tabela 
numero:3 da tabela venda;
-------------------------------------------------------------------
==========================================================================
UNION = ELIMINA AS LINHAS COM NOMES REPETIDOS (DUPLICADAS)/ e mais lento que o union all
UNIO ALL = NÃO ELIMINA AS LINHAS REPETIDAS.
SLEECT NOME FROM CLIENTE
UNION ALL
SELECT NOME FROM VENDEDOR;
------------------------------------------------------------------------------------------------
união das relações 
SELECT codcliente FROM fisico
UNION 
SELECT codcliente FROM juridico;
------------------------------------------------
Interseção da relação
SELECT codcliente FROM cliente
INTERSECT
SELECT codcliente FROM juridico;
------------------------------------------------
• Produto Cartesiano // Une a linha individualmente , com todas as linhas de outra tabela, multiplicando
Álgebra relacional : cliente X fisico
 SELECT *
FROM cliente, fisico;
• Junção Natural
Álgebra relacional : cliente x físico
SELECT nome,cpf
FROM cliente, fisico
WHERE cliente.codcliente = fisico.codcliente;
======================================================
SELECT nome,cpf
FROM cliente, fisico
WHERE cliente.codcliente = fisico.codcliente (+); 
// (OUTER JOIN) Inclui todos os registros da tabela,msm q o cliente nao tenha o CPF, ele retorna vazio (nulo) . Inserir o simbolo (+) sempre a direita, onde o dado pode nao existir.
 
----------------------------------------------------------------
Agregação - operadores
• O SQL tem 5 operadores que são aplicáveis a um campo de uma tabela produzindo uma espécie de agregação dos valores desse campo.
• SUM produz a soma dos valores do campo nos diferentes registros.
• AVG produz a média dos valores do campo.
• MAX dá como resultado o valor máximo no campo.
• MIN dá como resultado o valor mínimo no campo.
• COUNT indica o número de valores do campo incluindo duplicados, a não ser que estes sejam eliminados com DISTINCT.
select count (*) // conta a quantidade de linhas 
from venda;
-----------------------------------------------------------------------------------------------------------------------------------
=============================================EXCLUSÃO============
		DELETE FROM TESTE 
		WHERE CODIGO = 1;
===================================UPDATE==================================
	UPDATE fornecedor
	SET telefone='3322-9857',
	contato='Ubirajara'
	WHERE codfornecedor =1;
update vendedor set telefone='97228-6477' where nome='Douglas Ferreira Ramos';
---------------------------------------------------------------------------------------------------------------
=======================================INSERT======================================
INSERT INTO VENDEDOR(codcliente,nome) // Inserindo tupla na tabela vendedor
VALUES (99,'Douglas Ferreira Ramos');
SELECT CODCLIENTE,NOME FROM CLIENTE;
* CAMPOS COM NOT NULL, OBRIGATORIO ESTAR NA INSERCAO.
-------------------------------------------------------------------------------------------------------------------------
===================GROUP BY ======================: permite fazer a contabilidade com somarização;
select codvendedor, count(*) QtdVendas 
from venda
Group By codvendedor;
select codvendedor, count(*)
from venda
group by codvendedor
having count (*) > 2;
----------------------------------------------------------------------------------------------------------------------

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais

Perguntas Recentes