7.6 SQL Basico - Parte 6
7.6 SQL Basico - Parte 6
Cursos de Informática
Processamento de Consultas
Setembro - 2023
Processamento da Consulta
• As atividades incluem:
– tradução de consultas em linguagens de banco de
dados de alto nível para expressões que podem ser
usadas no nível físico do sistema de arquivos,
– uma série de transformações de otimização da
consulta e a avaliação real das consultas.
Etapas no processamento
de uma consulta
Select saldo
From conta
Where saldo < 2500
Otimização
• Podemos traduzi-las para as seguintes expressões
relacionais:
• Index Scan
– Indica que a operação utiliza algum índice da tabela
para localizar o resultado.
Análise de expressões SQL
• Sort
– Informa que alguma operação de ordenação
(clausula ORDER BY) é utilizada para gerar o
resultado
• Unique
– Indica que a operação utiliza uma estrutura de
coluna únicas ou consultas que utilizam o
parâmetro DISTINCT
Análise de expressões SQL
• Nested Loop
– Indica que uma operação utiliza uma operação de
JOIN para unir duas ou mais tabelas.
Pacientes Consultas
Funcionarios
Qual é a diferença entre as
consultas abaixo?
1) select m.nome, c.data 3) select m.nome, c.data
from medicos as m cross from medicos as m inner
join consultas as c join consultas as c
where m.codm = c.codm on m.codm = c.codm
O que é isto?
União
(select nome, cpf
from medicos)
union
(select nome, cpf
from pacientes)
O que é isto?
Intersecção
(select nome, cpf
from medicos) Consulta: Selecionar o nome e o cpf
dos médicos internados
intersect como pacientes
O que é isto?
Diferença
(select nome, cpf
from medicos)
except
(select nome, cpf
from pacientes)
O que é isto?
Exists
select nome
from medicos as m
where exists
(select nroa
from ambulatorios as a)
))
Exercícios
●
Para resolver estes exercícios, utilize o esquema
abaixo:
Ambulatórios(nroa, andar, capacidade)
Médicos(codm, CPF, nome, idade, cidade, especialidade,
#nroa)
Pacientes(codp, CPF, nome, idade, cidade, doença)
Consultas(#codm, #codp, data, hora)
Funcionários(codf, CPF, nome, idade, cidade, salário)
Exercícios