1) buscar os dados dos pacientes que estão com sarampo 1) σdoença = “sarampo” (Paciente) Select * from Paciente where where doença=”sarampo”; 2) buscar os dados dos médicos ortopedistas com mais de 40 anos 2) σespecialidade = “ortopedia” ∧ idade > 40 (Médico) Select * from Médico where especialidade = “ortopedia“ and idade > 40; 3) buscar os dados das consultas, exceto aquelas marcadas para os médicos com CRM 46 e 79 3) σcrm <> 46 ∧ crm <> 79 (Consulta) Select * from Consulta where crm <> 46 and crm <> 79; 4) buscar os dados dos ambulatórios do quarto andar que ou tenham capacidade igual a 50 ou tenham número superior a 10 4) σandar = 4 ∧ (capacidade = 50 ∨ numeroA > 10) (Ambulatório) Select * from Ambulatório where andar = 4 and (capacidade = 50 or numeroA > 10); 5) buscar o nome e a especialidade de todos os médicos 5) πnome, specialidade(Médico) Select nome, especialidade from Médico; 6) buscar o número dos ambulatórios do terceiro andar 6) πnumeroA (σandar = 3 (Ambulatório)) Select numeroA from Ambuletório where andar = 3; 7) buscar o CRM dos médicos e as datas das consultas para os pacientes com RG 122 e 725 7) πcrm, data (σrg = 122 ∨ rg=725 (Consulta)) Select crm, data from Consulta where rg = 122 or rg = 725 8) buscar os números dos ambulatórios, exceto aqueles do segundo e quarto andares, que suportam mais de 50 pacientes 8) πnumeroA (σandar <> 2∧ andar <> 4∧ capacidade > 50 (Ambulatório)) Select numeroA from Ambulatório where andar <> 2 and andar <> 4 and capacidade > 50 9) buscar o nome dos médicos que têm consulta marcada e as datas das suas consultas 9) πMédico.nome, Consulta.data (σMédico.crm = Consulta.crm (Médico ✕ Consulta)) Select m.nome, c.data from Médico m join Consulta c on m.crm = c.crm; Select m.nome, c.data from Médico m, Consulta c where m.crm = c.crm; 10) buscar o número e a capacidade dos ambulatórios do quinto andar e o nome dos médicos que atendem neles 10) πAmbulatório.numeroA, Ambulatório.capacidade, medico.nome (σ Ambulatório.andar = 5 ∧ medico.numeroA = Ambulatório.numeroA (Médico ✕ Ambulatório)) Select a.numeroA, a.capacidade from Médico m join Ambulatório a on m.numeroA = a.numeroA where a.andar = 5; Select a.numeroA, a.capacidade from Médico m, Ambulatório a where m.numeroA = a.numeroA and a.andar = 5; 11) buscar o nome dos médicos e o nome dos seus pacientes com consulta marcada, assim como a data destas consultas 11) πMédico.nome, Paciente.nome, Consulta.data (σMédico.crm = Consulta.crm ∧ Paciente.rg = Consulta.rg (Médico ✕ Paciente ✕ Consulta)) Select m.nome as nome_medico, p.nome as nome_paciente, c.data from Médico m join Consulta c on c.crm = m.crm join Paciente p on p.rg = c.rg; Select m.nome as nome_medico, p.nome as nome_paciente, c.data from Médico m, Consulta c, Paciente p where c.crm = m.crm and p.rg = c.rg; 12) buscar os nomes dos médicos ortopedistas com consultas marcadas para o período da manhã (7hs-­‐12hs) do dia 15/04/03 12) πMédico.nome (σMédico. especialidade = “ortopedista“ ∧ Consulta.hora ≥ 7 ∧ Consulta.hora ≤ 12 ∧ consulta.data = 15/04/2013 ∧Médico.crm = consulta.crm (Médico ✕ Consulta)) Select m.nome from Médico m join Consulta c on c.crm = m.crm where m.especialidade = “ortopedista“ and c.hora >= 7 and c.hora >= 12 and c.data = date (1”5/04/2013); Select m.nome from Médico m, Consulta c where c.crm = m.crm and m.especialidade = “ortopedista“ and c.hora >= 7 and c.hora >= 12 and c.data = date (1”5/04/2013); 13) buscar os nomes dos pacientes, com consultas marcadas para os médicos João Carlos Santos ou Maria Souza, que estão com pneumonia 13) πPaciente.nome (σMédico.crm = Consulta.crm ∧ Paciente.rg = Consulta.rg ∧ (Médico. nome = “João Carlos dos Santos“∨Médico. nome = “Maria Souza“)∧Paciente.doença = “pneumonia” (Médico ✕ Paciente ✕ Consulta)) Select p.nome from Médico m join Consulta c on c.crm = m.crm join Paciente p on p.rg = c.rg where (m.nome = “João Carlos Santos” or m.nome = “Maria Souza“ ) and p.doença = ”pneumonia”; Select p.nome from Médico m, Consulta c, Paciente p where c.crm = m.crm and p.rg = c.rg and (m.nome = “João Carlos Santos” or m.nome = “Maria Souza“ ) and p.doença = ”pneumonia”; 14) buscar os nomes dos médicos e pacientes cadastrados no hospital 14) πnome(Médico) U πnome(Paciente) Select nome from Médico union Select nome from Paciente 15) buscar os nomes e idade dos médicos, pacientes e funcionários que residem em Florianópolis 15) πnome, idade(σcidade = “Florianópolis (Médico)) U πnome, idade (σcidade = “Florianópolis (Paciente)) U πnome, idade (σcidade = “Florianópolis (Funcionário)) Select nome, idade from Médico where cidade = “Florianópolis“ Union Select nome, idade from Paciente where cidade = “Florianópolis“ Union Select nome, idade from Funcionário where cidade = “Florianópolis“ 16) buscar os nomes e RGs dos funcionários que recebem salários abaixo de R$ 300,00 e que não estão internados como pacientes 16) πnome, rg(σsalário < 300 (Funcionário)) -­‐ πnome, rg(Paciente) Select nome, rg from Funcionário where salario < 300 Minus select nome, rg from Paciente; 17) buscar os números dos ambulatórios onde nenhum médico dá atendimento 17) πnumeroA (Ambulatório) -­‐ πnumeroA (Médico) Select numeroA from Ambulatório Minus Select numeroA from Médico; 18) buscar os nomes e RGs dos funcionários que estão internados como pacientes 18) πnome, rg(Funcionário) ∩ πnome, rg(Paciente) Select nome, rg from Funcionário Intersect Select nome, rg from Paciente; 
Download

1) buscar os dados dos pacientes que estão com sarampo Select