Anda di halaman 1dari 5

Curso: Sistemas de Informa

c
ao
Bancos de Dados - 2015/1

Prof. Alisson
Rabelo Arantes
3a Lista de Exerccios (preparat
oria para a 3a prova em 08/05/2015)
1. Considere o esquema relacional apresentado abaixo, do banco de dados da organizacao da Semana de Sistemas
de Informacao:
Atividade(Codigo(nn),Nome)
Aluno(Matricula(nn),Nome,Endereco,email,DataNasc,Idade,Selecionado)
n(r),p(m)

Aluno[Selecionado]

Atividade[Codigo]

Inscreve(Aluno(nn),Atividade(nn),Prioridade,Data)
p(rm)

Inscreve[Aluno] Aluno[Matricula]
p(rm)

Inscreve[Atividade] Atividade[Codigo]
Professor(Matricula(nn),Nome,Endereco,email)
Minicurso(Codigo(nn),Instrutor(nn),Laboratorio,DataInicio,DataTermino,CargaHoraria)
p(rm)

Minicurso[Codigo] Atividade[Codigo]
b(r),p(m)

Minicurso[Instrutor]

Professor[Matricula]

Empresa(Codigo(nn),Nome,Endereco,Cidade)
Palestrante(Codigo(nn),Nome,email,Empresa(nn))
n(r),p(m)

Palestrante[Empresa]

Empresa[Codigo]

Palestra(Codigo(nn),Palestrante(nn),Data,Hora)
p(rm)

Palestra[Codigo] Atividade[Codigo]
Palestra[Palestrante]

b(r),p(m)

Palestrante[Codigo]

Visita(Codigo(nn),Empresa(nn),Data,HoraInicio,HoraTermino,Responsavel(nn))
p(rm)

Visita[Codigo] Atividade[Codigo]
Visita[Empresa]

b(r),p(m)

Visita[Responsavel]

Empresa[Codigo]

b(r),p(m)

Professor[Matricula]

Formule as consultas abaixo na linguagem SQL:


(a) Qual o nome e e-mail dos alunos que nao foram selecionados para nenhuma atividade?
(b) Qual o nome e o e-mail dos alunos que nao se inscreveram em nenhuma atividade?
(c) Para cada aluno mostrar o seu nome e nome da atividade para a qual foi selecionado.
(d) Qual o nome do professor respons
avel pela visita tecnica `a Data Systems, realizada no dia 26/09/2014?
(e) Qual o nome do instrutor, data de incio e data de termino do mini-curso Introducao `a Linguagem
PHP?
(f) Qual o nome da empresa em que trabalha o palestrante que apresentou a palestra Inclusao Digital?
(g) Quais os nomes dos alunos que se inscreveram no mini-curso Introducao `a Programacao Orientada a
Objetos com a Linguagem Java com prioridade 1, em ordem crescente de data?

(h) Qual o nome e e-mail dos alunos que fizeram inscricao em pelo menos uma atividade mas nao foram
selecionados para nenhuma?
(i) Qual e o nome, laboratorio, nome do instrutor e data dos minicuros que ocorreram em um u
nico dia?
(j) Quais os nomes dos professores que foram instutores de minicursos e tambem respons
aveis por visitas
tecnicas?
(k) Quantas atividades foram realizadas durante a Semana de Sistemas de Informacao?
(l) No total, quantas horas foram oferecidas em mini-cursos realizados durante a Semana de Sistemas de
Informacao?
(m) Quantos alunos foram selecionados para o mini-curso Introducao ao SGBD Oracle?
(n) Para cada atividade oferecida, qual o seu nome e n
umero de alunos inscritos?
(o) Qual o nome das palestras que possuem mais de 150 alunos inscritos?
(p) Para cada mini-curso, qual e o seu nome e n
umero de alunos selecionados?
(q) Quais os nomes dos alunos que se inscreveram em mais de tres atividades?
(r) Qual o nome e e-mail dos alunos que fizeram inscricao em pelo menos duas atividades mas nao foram
selecionados para nenhuma?
(s) Quais os nomes dos instrutores dos minicursos que comecaram no dia 24/09/2014?
(t) Por quantas visitas o Prof. Temstoclis Petrofdio foi respons
avel?
(u) Mostrar em ordem alfabetica decrescente o nome dos palestrantes vinculados `a empresa InfoSystems
respons
aveis por pelo menos 3 palestras.
(v) Mostrar o nome dos professores que nao foram respons
aveis por nenhuma visita tecnica no dia 13/10/2014.
(w) Mostrar o nome dos alunos em ordem crescente de idade (nao utilize nesta consulta o atributo Idade da
tabela Aluno).
2. Considere o esquema relacional definido abaixo, sobre o banco de dados de um clube esportivo:
Socio(Matricula(nn),Nome,Sexo,Categoria,Mensalidade)
Professor(Matricula(nn),Nome,Sexo,Especialidade,Salario)
Turma(Codigo(nn),Esporte,Horario,Local,Ano,Professor(nn))
Turma[Professor] Professor[Matricula]
Matriculado(Socio(nn),Turma(nn))
Matriculado[Socio] Socio[Matricula]
Matriculado[Turma] Turma[Codigo]
Formule as consultas abaixo na linguagem SQL:
(a) Em que esportes estava matriculado o s
ocio Ant
onio Carlos da Silva em 2014?
(b) Em que anos foram oferecidas aos s
ocios do clube aulas de ginastica olmpica?
(c) Quais os nomes dos professores que ministraram aulas de algum esporte que nao e a sua especialidade?
(d) Para cada s
ocio mostrar seu nome, sua categoria e a quantidade de turmas em que ja esteve matriculado.
(e) Quais os nomes e especialidades dos professores que nunca foram respons
aveis por nenhuma turma?
3. Considere o esquema relacional definido abaixo, sobre o banco de dados de uma empresa de transportes:
Onibus(Placa(nn),Chassi,Capacidade,Ano)
Empregado(CPF(nn),CTPS,Nome,Salario)
Motorista(CPF(nn),CNH,Categoria,DataObtencao,DataValidade)
Motorista[CPF] Empregado[CPF]
Mecanico(CPF(nn),Armario)
Mecanico[CPF] Empregado[CPF]
Viagem(Codigo(nn),Data,Horario,Partida,Destino,Onibus(nn),Motorista(nn),Mecanico(nn))
Viagem[Onibus] Onibus[Placa]
Viagem[Motorista] Motorista[CPF]
Viagem[Mecanico] Mecanico[CPF]
(a) Formule as consultas abaixo na linguagem SQL:
i. Quantos motoristas conduziram viagens saindo de Betim no dia 20/02/2015?

ii. Quantos
onibus da empresa foram utilizados para viagens no dia 10/10/2014?
iii. Quais os nomes dos motoristas que ja realizaram mais de 5 viagens de Brumadinho para Sarzedo,
listados em ordem alfabetica decrescente?
iv. Qual o salario medio dos empregados?
v. Qual o salario medio dos mec
anicos?
vi. Para cada
onibus, qual e a sua placa e a quantidade de viagens que ja realizou com destino a Belo
Horizonte?
vii. Quais os nomes dos motoristas cuja CNH (Carteira Nacional de Habilitacao) possui categoria E e
que conduziram as viagens de Esmeraldas para Porto Seguro em 06/11/2014?
viii. Mostrar o nome e o salario dos motoristas que est
ao com a Carteira Nacional de Habilitacao categoria
D vencida, considerando-se que a data de hoje e 21/04/2015.
(b) A consulta Qual e o nome dos motoristas da empresa? pode ser realizada de pelo menos duas formas
diferentes, com e sem a expressao IN. Como s
ao essas formas de se realizar essa consulta?
4. Considere o esquema relacional definido abaixo, sobre o banco de dados de um hotel:
Hospede(Codigo(nn),CPF(nn),Nome,Endereco,Cidade,Estado,Celular)
Quarto(Numero(nn),Descricao,ValorDiaria)
Funcionario(Codigo(nn),Nome,Endereco,Salario)
Reserva(Hospede(nn),Funcionario(nn),DataReserva,DataDesejada)
Reserva[Hospede]

p(r),b(m)

Reserva[Funcionario]

Hospede[Codigo]

b(r),p(m)

Funcionario[Codigo]

Hospedagem(Codigo(nn),Hospede(nn),Quarto(nn),DataEntrada,HoraEntrada,DataSaida,HoraSaida,ValorTotal)
Hospedagem[Hospede]
Hospedagem[Quarto]

p(r),p(m)

p(r),p(m)

Hospede[Codigo]

Quarto[Numero]

Produto(Codigo(nn),Nome,Valor)
Consumo(Produto(nn),Hospedagem(nn),Data,Quantidade)
Consumo[Produto]

p(r),b(m)

Consumo[Hospedagem]

Produto[Codigo]

p(r),b(m)

Hospedagem[Codigo]

Expresse as consultas abaixo na linguagem SQL:


(a) Quais os nomes dos hospedes que deram entrada no hotel no dia 21/04/2015 e ainda est
ao hospedados?
(b) Qual o nome e o salario dos funcion
arios que nunca realizaram reservas para um hospede?
(c) Para cada quarto, qual e o seu n
umero, descricao e a quantidade de vezes em que ja foi utilizado para
hospedagem?
(d) Qual o nome e endereco dos hospedes que ja se hospedaram no hotel mais de 5 vezes?
5. As clausulas WHERE e HAVING s
ao utilizadas para se expressar condicoes em uma consulta SQL. Qual e a
diferenca entre elas? Explique com um exemplo sobre o banco de dados da Quest
ao 1.
6. Qual e a relacao existente entre as clausulas GROUP BY e HAVING utilizadas em uma consulta SQL? Explique
com um exemplo sobre o banco de dados da Quest
ao 1.
7. A sigla SQL significa Structured Query Language ou Linguagem de Consultas Estruturada, em portugues. Que
crtica pode ser feita a esse nome dado para a linguagem? Porque?

8. Abaixo e apresentado o esquema relacional do banco de dados do Campeonato Brasileiro de 2014:


Cidade(Codigo(nn),Nome,Estado(nn))
Estadio(Codigo(nn),Nome,Cidade(nn))
Estadio[Cidade] Cidade[Codigo]
Equipe(Codigo(nn),Nome,Estadio(nn))
Equipe[Estadio] Estadio[Codigo]
Arbitro(Codigo(nn),Nome)
Jogo(Equipe1(nn),Equipe2(nn),Placar1,Placar2,Data,Hora,Local,Arbitro)
Jogo[Equipe1] Equipe[Codigo]
Jogo[Equipe2] Equipe[Codigo]
Jogo[Local] Estadio[Codigo]
Jogo[Arbitro] Arbitro[Codigo]
Classificacao(Equipe(nn),Jogos,Vitorias,Empates,Derrotas,SaldoGols,GolsPro,GolsContra,PontosGanhos)
Classificacao[Equipe] Equipe[Codigo]
Formule as consultas abaixo na linguagem SQL:
(a) Mostrar a tabela de classificacao do campeonato com o nome de cada equipe, n
umero de pontos ganhos
e saldo de gols, em ordem decrescente do n
umero de pontos ganhos.
(b) Quais os nomes das equipes paulistas que ate o momento possuem mais derrotas que vitorias e est
ao com
saldo de gols negativo? Considere que uma equipe e paulista quando seu est
adio se localiza no estado de
Sao Paulo.
(c) Para todos os jogos realizados no dia 16/11/2014, mostrar os nomes das duas equipes envolvidas, o placar
e o local em que foi realizado.
9. Considere o esquema relacional definido abaixo, sobre o banco de dados da Federacao Internacional de Automobilismo, que armazena os dados de todos os campeonatos mundiais de Formula 1:
Pais(Numero(nn),Nome)
Piloto(Numero(nn),Nome,Pais)
Piloto[Pais]

p(r),b(m)

Pais[Numero]

Campeonato(Ano(nn),Campeao)
p(r),b(m)

Campeonato[Campeao]

Piloto[Numero]

Equipe(Numero(nn),Nome,DataFundacao,Pais)
Equipe[Pais]

p(r),b(m)

Pais[Numero]

Pertence(Piloto(nn),Equipe(nn),AnoEntrada,AnoSaida)
Pertence[Piloto]

p(r),b(m)

Pertence[Equipe]

Piloto[Numero]

p(r),b(m)

Equipe[Numero]

Disputa(Piloto(nn),Campeonato(nn),Pontuacao(nn))
Disputa[Piloto]

p(r),b(m)

Disputa[Campeonato]

Piloto[Numero]

p(r),b(m)

Campeonato[Ano]

Autodromo(Numero(nn),Nome,Extensao,Pais)
Autodromo[Pais]

p(r),b(m)

Pais[Numero]

Corrida(Numero(nn),Data,Autodromo(nn),Vencedor)
Corrida[Autodromo]
Corrida[Vencedor]

p(r),p(m)

b(r),b(m)

Autodromo[Numero]

Piloto[Numero]

Formule as consultas abaixo na linguagem SQL:


(a) Qual o nome e pas de nascimento dos pilotos que disputaram o campeonato mundial de Formula 1 de
2005, em ordem decrescente de pontuacao?
(b) Para cada autodromo mostrar seu nome, extensao, nome do pas onde fica e o n
umero de corridas que ja
foram realizadas.
(c) Qual o nome e pas de nascimento dos pilotos que s
ao tricampeoes mundiais de Formula 1?
(d) Para cada corrida realizada no ano de 2014 (considere o atributo data da corrida como o ano de realizacao),
mostrar o nome do autodromo onde foi realizada e o n
umero de pilotos que nela competiram.
(e) Para cada piloto, mostrar seu nome, nome do seu pas e o n
umero de corridas que ja venceu.
(f) Mostrar, em ordem alfabetica decrescente, o nome dos pilotos que ja venceram corridas realizadas no
autodromo de Spa-Francorchamps, sabendo-se que o n
umero deste autodromo e 65.
10. Qual e a diferenca entre os resultados das consultas abaixo, ambas sobre o banco de dados da Quest
ao 9?
SELECT SUM(Pontuacao)
SELECT SUM(Pontuacao)
FROM Disputa
FROM Disputa
WHERE Campeonato = 2014
WHERE Campeonato = 2014
GROUP BY Piloto

Anda mungkin juga menyukai