Banco de dados sql
• Consulta a dados de uma tabela select lista_atributos from tabela
[where condição]
• Mapeamento para a álgebra relacional select a1, ..., an from t where c
π a1, ..., an (σ c (t))
Consulta a uma Tabela
• Exemplos
Álgebra
(Pacientes)
SQL
Select *
From Pacientes
σ idade> 18 (Pacientes)
Select *
From Pacientes
Where idade > 18
π CPF, nome (Pacientes)
Select CPF, nome
From Pacientes
Select CPF, nome π CPF, nome (σ idade> 18 (Pacientes)) From Pacientes
Where idade > 18
1
Comando SELECT
• Facilidades para projeção de informações
– eliminação de duplicatas
• tabela ≡ coleção
– retorno de valores calculados
• uso de operadores aritméticos (+,-,*,/)
– invocação de funções de agregação
• COUNT (contador de ocorrências [de um atributo])
• MAX / MIN (valores máximo / mínimo de um atributo)
• SUM (somador de valores de um atributo)
• AVG (média de valores de um atributo)
Comando SELECT
• Eliminação de duplicatas select [distinct] lista_atributos
...
• Exemplo
– buscar as especialidades dos médicos select distinct especialidade from Médicos
2
Comando SELECT
• Retorno de valores calculados - Exemplos
– quantos grupos de 5 leitos podem ser formados em cada ambulatório? select nroa, capacidade/5 as grupos5 from Ambulatórios
≡ ρ(nroa,
grupo5)(π nroa, capacidade/5(Ambulatórios))
– qual o salário líquido dos funcionários (desc. 10%)? select CPF, salário – (salário * 0.1) as líquido from Funcionários
Comando SELECT
• Função COUNT - Exemplos
– informar o total de médicos ortopedistas select count(*) as TotalOrtopedistas from Médicos where especialidade = ´ortopedia´
– total de médicos que atendem em ambulatórios select count(nroa) as Total from Médicos não conta nulos
3
Comando SELECT
• Função SUM - Exemplo
– informar a capacidade total dos ambulatórios do primeiro andar select sum(capacidade) as TotalAndar1 from Ambulatórios where andar