0% acharam este documento útil (0 voto)
12 visualizações10 páginas

LTSQL DMLeDQL

Enviado por

juanda49eex
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
12 visualizações10 páginas

LTSQL DMLeDQL

Enviado por

juanda49eex
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 10

EEEP Profa.

Luiza de Teodoro Viera – Curso de Técnico em Informática 1


Prof. Pedro Farias – Ciência da Computação – Esp Docência no Ens. Superior

Introdução

“Pela ordem lógica quando se trata de aulas de bancos de dados entendo que o correto
seria apresentar as instruções DML pois e DQL como citada nas próximas linhas é
recuperação e exibição de dados convertendo-os em informações. Talvez por ser a mais
utilizada os autores a apresentam primeiro quando se trata da instrução select. Este roteiro não
deve ser seguido à risca caso exista um banco de dados para realizar as implementações
seguintes. Deve-se levar em conta que a instrução select também pertence a DML.”

Organização da SQL

 DQL - Linguagem de Consulta de Dados - Define o comando utilizado para que


possamos consultar (SELECT) os dados armazenados no banco;
 DML - Linguagem de Manipulação de Dados - Define os comandos utilizados para
manipulação de dados no banco (INSERT, UPDATE e DELETE);
 DDL - Linguagem de Definição de Dados - Define os comandos utilizados para criação
(CREATE) de tabelas, views, índices, atualização dessas estruturas (ALTER), assim
como a remoção (DROP);
 DCL - Linguagem de Controle de Dados - Define os comandos utilizados para
controlar o acesso aos dados do banco, adicionando (GRANT) e removendo (REVOKE)
permissões de acesso;
 DTL - Linguagem de Transação de Dados - Define os comandos utilizados para
gerenciar as transações executadas no banco de dados, como iniciar (BEGIN) uma
transação, confirmá-la (COMMIT) ou desfazê-la (ROLLBACK).

DQL - Linguagem de Consulta de Dados - Define o comando utilizado para que


possamos consultar (SELECT) os dados armazenados no banco;

Embora tenha apenas uma instrução, a DQL é a parte da SQL mais utilizada. SELECT
permite ao usuário especificar uma consulta ("query") como uma descrição do resultado
desejado. A instrução é composta de várias cláusulas e opções, possibilitando elaborar
consultas das mais simples às mais elaboradas.

Função Inst SQL Descrição do comando Exemplo


O Select é o principal comando usado em SQL
consultas SELECT para realizar consultas a dados pertencentes a select * from Pessoa;
uma tabela.

Cláusulas

As cláusulas são condições de modificação utilizadas para definir os dados que deseja
selecionar ou modificar em uma consulta.

 FROM – Utilizada para especificar a tabela que se vai selecionar os registros.

Pedro Farias – Ciência da Computação


EEEP Profa. Luiza de Teodoro Viera – Curso de Técnico em Informática 2
Prof. Pedro Farias – Ciência da Computação – Esp Docência no Ens. Superior

 WHERE – Utilizada para especificar as condições que devem reunir os registros que
serão selecionados.
 GROUP BY – Utilizada para separar os registros selecionados em grupos específicos.
 HAVING – Utilizada para expressar a condição que deve satisfazer cada grupo.
 ORDER BY – Utilizada para ordenar os registros selecionados com uma ordem
especifica.
 DISTINCT – Utilizada para selecionar dados sem repetição.
 COUNT – permite contar linhas.

WHERE – sintaxe:

select * from nomeTabela where (expressão);

select colunaNome1, colunaNome2, ...., colunaNomeN from nomeTabela where (expressão);

Exemplo:

select descricao from produto where id = 3;

GROUP BY – sintaxe:

select campoNome1, campoNome2 from nomeTabela group by campoNome;

Exemplo:

select descricao, idFornecedor from produto group by idFornecedor;

HAVING – Sintaxe

select campoNome1, avg(campoNome2) from nomeTabela group by campoNome1 having


avg(campoNome2) > n;

Exempo:

Select descricao, avg(estoqueAtual) from produto group by descricao having


avg(estoqueAtual) > 10;

ORDER BY – sintaxe:

select campoNome1, campoNome2, ..., campoNomeN from nomeTabela order by


campoNomeN;

Pode ser crescente [asc] ou decrescente [desc].

select * from produto order by referencia;

DISTINCT – sintaxe:

select distinct campoNome1, campoNome2 from nomeTabela;

Pedro Farias – Ciência da Computação


EEEP Profa. Luiza de Teodoro Viera – Curso de Técnico em Informática 3
Prof. Pedro Farias – Ciência da Computação – Esp Docência no Ens. Superior

Exemplo:

select distinct descricao, marca from produto;

Mais eficaz em grande quantidade de registros.

COUNT – sintaxe

Retorna a quantidade de registro mediante a condição em count.

select count(campoNomeN) from nomeTabela;

select count(cnpj) from produto;

Operadores Lógicos

 AND – E lógico. Avalia as condições e devolve um valor verdadeiro caso ambos sejam
corretos.
 OR – OU lógico. Avalia as condições e devolve um valor verdadeiro se algum for correto.
 NOT – Negação lógica. Devolve o valor contrário da expressão.

Operadores relacionais

O SQL possui operadores relacionais, que são usados para realizar comparações entre valores,
em estruturas de controle.

Operador Descrição
< Menor
> Maior
<= Menor ou igual
>= Maior ou igual
= Igual
<> Diferente

 BETWEEN – Utilizado para especificar valores dentro de um intervalo fechado.


 LIKE – Utilizado na comparação de um modelo e para especificar registros de um banco de
dados. "Like" + extensão % significa buscar todos resultados com o mesmo início da
extensão.
 IN - Utilizado para verificar se o valor procurado está dentro de um« »a lista. Ex.: valor IN
(1,2,3,4).

Funções de Agregação

As funções de agregação, como os exemplos abaixo, são usadas dentro de uma cláusula
SELECT em grupos de registros para devolver um único valor que se aplica a um grupo de
registros.

Pedro Farias – Ciência da Computação


EEEP Profa. Luiza de Teodoro Viera – Curso de Técnico em Informática 4
Prof. Pedro Farias – Ciência da Computação – Esp Docência no Ens. Superior

 AVG – Utilizada para calcular a média dos valores de um campo determinado.


 COUNT – Utilizada para devolver o número de registros da seleção.
 SUM – Utilizada para devolver a soma de todos os valores de um campo determinado.
 MAX – Utilizada para devolver o valor mais alto de um campo especificado.
 MIN – Utilizada para devolver o valor mais baixo de um campo especificado.

DML - Linguagem de Manipulação de Dados - Define os comandos utilizados para


manipulação de dados no banco (INSERT, UPDATE e DELETE);

Linguagem de Manipulação de Dados (ou DML, de Data Manipulation Language) é uma


subdivisão da SQL utilizada para a recuperação, inclusão, remoção e modificação de
informações em bancos de dados. Pode ser procedural, que especifica como os dados devem
ser obtidos do banco; pode também ser declarativa (não procedural), em que os usuários não
necessitam especificar o caminho de acesso, isto é, como os dados serão obtidos. O padrão
SQL é não procedural.

Principais comandos

As DMLs têm sua capacidade funcional organizada pela palavra inicial em uma declaração, a
qual é quase sempre um verbo. No caso da SQL, estes verbos são:

 Select
 Insert
 Update
 Delete

Cada declaração SQL é um comando declarativo. As declarações individuais da SQL são


declarativas, em oposição às imperativas, na qual descrevem o quê o programa deveria
realizar, em vez de descrever como ele deveria realizar. Muitas implementações de banco de
dados SQL estendem suas capacidades SQL fornecendo linguagens imperativas, isto é,
procedurais. Exemplos destas implementações são o PL/SQL, da Oracle, e o SQL PL, da
DB2. As linguagens de manipulação de dados tendem a ter muitos tipos diferentes e
capacidades entre distribuidores de banco de dados. Há um padrão estabelecido para a SQL
pela ANSI, porém os distribuidores ainda fornecem suas próprias extensões ao padrão
enquanto não implementam o padrão por completo.

“Esses padrões são conhecidos também dialetos.”

“A linguagens imperativas o desenvolvedor informar passo a passo o que o programa deve


fazer, diferente das declarativas o programador diz ao computador o que deseja e ele se
encarrega de fazer”. [SQL A Linguagem dos Bancos de Dados].

INSERT – insere uma nova linha na tabela, preenchendo as colunas com valores específicos.
Não é necessário atribuir conteúdo para todos os campos.

Sintaxe:

insert into nomeTabela (colunaNome1, colunaNome2, colunaNome3, ..., colunaNomeN)


values (valor1, valor2, valor3, ..., valor);

Pedro Farias – Ciência da Computação


EEEP Profa. Luiza de Teodoro Viera – Curso de Técnico em Informática 5
Prof. Pedro Farias – Ciência da Computação – Esp Docência no Ens. Superior

Exemplo

Exemplo:

insert into produto (descricao, marca, modelo, referencia) values ("caneta", "bic", "transp",
"985585585");

Obs.: Estrutura da tabela.

Figura 1- Estrutura da tabela produto

Resultado após inserir dados

Figura 2 - Tabela produto populada.

Tabela produto após os acertos.

ALTER TABLE controleestoque.produto DROP PRIMARY KEY,

ADD PRIMARY (id, idFornecedor);

Figura 3 - tabela produto após realizados os acertos.

Observe que o campo ou atributo cnpj não mais existe. Qual a linha de instrução utilizada
para exclui o atributo?

Exercício

Pedro Farias – Ciência da Computação


EEEP Profa. Luiza de Teodoro Viera – Curso de Técnico em Informática 6
Prof. Pedro Farias – Ciência da Computação – Esp Docência no Ens. Superior

1) Acesse o banco de dados controleDeVendas.


2) Caso não tenha criado. Crie a tabela conforme o diagrama de classes

Figura 4 - Diagrama de classe

Observe que id é auto incremento.

3) Adicione 10 registros na tabela produto.


4) Selecione o produto com id 2.
5) Selecione o produto com id 9.
6) Selecione o produto com id 11.
7) Altere o cnpj para dataCadastro do tipo data.
8) Adicione um atributo idFornecedor a tabela produto.
9) Crie a tabela fornecedor conforme o diagrama.

Observe no diagrama a cardinalidade para saber qual classe (implementação em ling. de


programação) será construída primeiro implicando na população da tabela.

Figura 5 - Diagrama classe tabela fornecedor

Figura 6 - Aspecto geral do diagrama.

Pedro Farias – Ciência da Computação


EEEP Profa. Luiza de Teodoro Viera – Curso de Técnico em Informática 7
Prof. Pedro Farias – Ciência da Computação – Esp Docência no Ens. Superior

Exercício.

Crie um banco de dados para controlar


os livros de uma biblioteca, de início
crie as entidades: usuário(da
biblioteca), livro, categoria(livro),
agendamento. Veja que relação tem Figura 7 - Tabela estoque
essas entidades. Adicione registros a
elas.

Pratique as instruções DDL, DML e DQL vistas até o momento. Se não entendeu as funções
s instruções, apague as tabelas e refaça tudo novamente.

Excluindo uma coluna em uma tabela.

ALTER TABLE nomeTabela DROP COLUMN campoNome;

Criação de tabelas com chaves composta.

create table estoque (historico int not null auto_increment, idProduto int not null,
estoqueAtual float(9,2), estoqueMin float(9,2), estoqueMax float(9,2), dataMov dateTime,
primary key (historico, idProduto));

Inserindo dados.

insert into estoque (idProduto, estoqueAtual, estoqueMin, estoqueMax, dataMov) values (1,
10, 2, 80, '2018/10/18');

Figura 8 - Tabela estoque populada.

DELETE – permite que seja excluída uma linha ou registro de uma tabela.

Pode ser utilizada de duas formas:


„delete from nomeTabela where (expressão);‟
„delete from nomeTabela;‟

Pedro Farias – Ciência da Computação


EEEP Profa. Luiza de Teodoro Viera – Curso de Técnico em Informática 8
Prof. Pedro Farias – Ciência da Computação – Esp Docência no Ens. Superior

A primeira exclui um registro ou mais mediante a condição where;


A segunda exclui todos os registro de uma tabela.
Atenção: uma vez excluída sua recuperação se torna muito difícil ou impossível.

Exemplo de instrução delete.

Para excluir todos os registros da tabela produto: delete from produto;


Para excluir um registro: delete from produto where (id = 2);
Para excluir mais de um registro (4, 5): delete from produto where (id >= 3);

Observe as tabelas considere [Tabela paciente – registro “registro do paciente”, nome “nome
do paciente”, contato1 “telefone do cliente”, dataNasc “data de nascimento do cliente; Tabela
agenda – registro “registro do paciente”, agenda “1 para agendado 0 não agendado”; Tabela
parcelamento – registro “registro do paciente”, qtdPagas “parcelas pagas”; Tabela Servico –
registo “registro do serviço”, descricao “descrição do serviço”; Tabela – ServicoRealizado –
movimento “índice do serviço realizado”, registro “registro do paciente”, data e hora “época
da(s) realização(ões) do(s) serviço(s)”, situacao - “status do paciente”.

DQL

a) Selecione o paciente com registro 1.


b) Selecione o paciente com registro 6.
c) Selecione os três primeiros pacientes.
d) Selecione um paciente que tenha realizado algum procedimento „serviço‟.
e) Selecione o(s) paciente(s) que tenha(m) realizado(s) procedimento(s) ou
procedimentos.
f) Selecione o paciente ou paciente que tenham realizados procedimentos em 12 de
julho.
g) Selecione registro, nome dos pacientes em ordem alfabética.
h) Selecione o paciente, ou pacientes que tenham pagado 12 parcelas.
i) Selecione o ou pacientes que tenha realizado manutenção e raio X.
j) Selecione os paciente que tenha realizados procedimentos entre os dias 12 e 16 de
julho.
DDL
a) Altere o nome da coluna contato1 para telefoneRes.
b) Exclua e coluna registroM da tabela servicoRealizado.
c) Na tabela paciente adicione uma coluna telefoneMovel, tipo varchar 13.
d) Altere o tipo de coluna da tabela paciente dataNasc para data.

Pedro Farias – Ciência da Computação


EEEP Profa. Luiza de Teodoro Viera – Curso de Técnico em Informática 9
Prof. Pedro Farias – Ciência da Computação – Esp Docência no Ens. Superior

Figura 9 - Tabela paciente Figura 10 - Tab


agenda

Figura 12 - Tab Servico

Figura 11 - Tab parcelamento

Figura 13 - Tab ServicoRealizado

Pedro Farias – Ciência da Computação


EEEP Profa. Luiza de Teodoro Viera – Curso de Técnico em Informática 10
Prof. Pedro Farias – Ciência da Computação – Esp Docência no Ens. Superior

Trabalho para entregar no dia da prova. Impresso.

FONTES:
1 DEVMEDIA https://www.devmedia.com.br/guia/guia-completo-de-sql/38314 em 16set2018
2 WIKIPEDIA <https://pt.wikipedia.org/wiki/SQL#DQL_-_Linguagem_de_Consulta_de_Dados> em
110out2018.
3 MILANE, ANDRÉ MySQL Guia do Programador, São Paulo, Novatec 2006.
4 Ramalho, SQL A Linguagem dos Bancos de Dados, São Paulo, Berkeley Brasil, 1999.

Pedro Farias – Ciência da Computação

Você também pode gostar