21
ANÁLISE E PROJETO DE BANCO DE DADOS SQL FELIPE G. TORRES

ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

Embed Size (px)

Citation preview

Page 1: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

ANÁLISE E PROJETO DE BANCO DE DADOS SQL FELIPE G. TORRES

Page 2: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

SQL

•  A linguagem SQL (Struct Query Language) é utilizada como padrão em bancos de dados relacionais.

•  Seu desenvolvimento foi originalmente no início dos anos 70 nos laboratórios da IBM.

•  Devido a expansão da sua utilização a sua padronização deu-se em 1986 (ANSI) e 1987(ISO).

Page 3: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

DML

Este sub-conjunto do SQL é utilizado para:

•  Realizar inclusões. •  Executar consultas nos dados armazenados. •  Realizar alterações nos dados. •  Exclusões de dados presentes em registros.

Muitas vezes estes comandos são imbutidos em a l g u n s f r a m e w o r k s p a r a f a c i l i t a r o desenvolvimento.

Page 4: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

INSERT ( Inserção de dados )

Este comando é utilizado para inserção de dados na base. Ele é padrão para a maioria dos bancos de dados relacionais. INSERT INTO CARGO (codigo, nome, simb) VALUES ( 1, ‘PROGRAMADOR’, ’PRG’ )

Page 5: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

DELETE (Deleção de dados)

Este comando é utilizado para deleção de dados de uma determinada entidade da base de dados. DELETE FROM EMPREGADONOVO

Page 6: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

UPDATE (Atualização de dados)

Este comando é utilizado para atualizar dados de uma determinada entidade. UPDATE CARGO SET codigo = 20 WHERE codigo = 1

Page 7: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

COMANDO SQL

Select (Comando de consulta)

SELECT <lista de atributos> FROM <lista de tabelas> [ WHERE <condição> ] [ ORDER BY <lista de atributos> ]

Page 8: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

WHERE

A cláusula WHERE é utilizada para condicionar os dados a um determinado filtro lógico. SELECT * FROM alunos WHERE nome = “João”

Page 9: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

ORDER BY

A cláusula ORDER BY é utilizada para ordenar os dados resultantes de uma determinada query. Essa ordenação pode ser ASC ou DESC

SELECT * FROM alunos ORDER BY nome ASC

Page 10: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

DISTINCT

O comando DISTINCT retorna tuplas sem duplicatas SELECT DISTINCT * FROM alunos ORDER BY nome ASC

Page 11: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

RENAME

O comando RENAME serve para renomear atributos e tabelas. SELECT nome AS n FROM alunos ORDER BY nome ASC

Page 12: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

NULL / NOT NULL

O comando NULL ou NOT NULL verifica a existência de valores. SELECT nome FROM alunos WHERE telefone IS NOT NULL

Page 13: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

EXPRESSÕES MATEMÁTICAS

Fazer uso de operações matemáticas em consultas. Ex:. +, -, /, *. SELECT nome , idade + 5 FROM alunos WHERE telefone IS NOT NULL

Page 14: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

JOIN / INNER JOIN

Este comando faz a junção entre tabelas retornando somente as linhas que sejam comum nas 2 tabelas, ligadas pelos campos das tabelas em questão na pesquisa. SELECT * FROM alunos JOIN cursos ON alunos.curso = cursos.id

Page 15: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

LEFT/ RIGHT OUTER JOIN

Este comando faz a junção entre tabelas retornando todos os registros da tabela a esquerda pelo menos uma vez, mesmo se não houver correspondente na direita. SELECT * FROM alunos LEFT OUTER JOIN cursos ON alunos.curso = cursos.id

Page 16: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

FUNÇÕES DE AGREGAÇÃO E AGRUPAMENTO

•  COUNT - Número de tuplas •  SUM - Soma de valores •  MAX - Valor máximo •  MIN - Valor mínimo •  AVG - Média aritmética •  GROUP BY – Agrupamento •  HAVING – Condição do agrupamento

Page 17: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

OPERAÇÕES COM STRINGS

Permite a verificação do conteúdo das strings. Ex.: “Maria%” – Qualquer string que comece com Maria Ex.: “%Maria” – Qualquer string que possua uma substring Maria Ex.: “_a%” – Qualquer string que possua o 2ª caracter a Select nome from empregado where nome like ‘_a%’

Page 18: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

LIMIT

Este comando é utilizado para limitar a quantidade de tuplas que retornaram de uma consulta. SELECT * FROM Aluno LIMIT 10; SELECT * FROM Aluno LIMIT 5 , 10;

Page 19: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

SUBQUERIES

Uma subquery é uma query como qualquer outra, porém ela é executada dentro de uma outra query de SELECT, INSERT, UPDATE ou DELETE. A função da subquery é produzir um resultado que será utilizado pela query que a contém.

Page 20: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

SUBQUERIES CORRELACIONADAS

São subqueries que dependem da query externa. Ex:. SELECT * FROM PRODUTOS AS P WHERE

P.QUANTIDADE > ( SELECT AVG(P2.quantidade) FROM PRODUTOS AS P2);

Page 21: ANÁLISE E PROJETO DE BANCO DE DADOS · Este sub-conjunto do SQL é utilizado para: • Realizar inclusões. • Executar consultas nos dados armazenados. ... UPDATE CARGO SET codigo

SUBQUERIES INDEPENDENTES

A subquerie independente pode ser executada apenas uma vez mesmo que a query externa retorne mais de um registro. Ex:. SELECT P.NOME, (SELECT AVG(P2.VALOR) FROM PRODUTOS AS P2) AS VALOR_MEDIO FROM PRODUTOS AS P