Você está na página 1de 8

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS

Graduação em Sistemas de Informação

BANCO DE DADOS: QUERIES

Belo Horizonte
2018
Alex Martins Oliveira

BANCO DE DADOS: QUERIES

Exercício apresentado à disciplina de Bando de


Dados, do Curso de Sistemas de Informação, da
Pontifícia Universidade Católica de Minas Gerais.

Professora: Manoel Palhares Moreira

Belo Horizonte, 14 de maio de 2018.


SUMÁRIO

1 ATIVIDADES ........................................................................................................................ 4

REFERÊNCIAS ....................................................................................................................... 8
1 ATIVIDADES

101 - Selecionar o código e o nome das editoras e quando for o caso, o número de seus
exemplares.

select Editora.CodEdi, NomEdi, NumExe


from Editora left outer join Exemplar
on Editora.CodEdi = Exemplar.CodEdi
order by NomEdi;

103 - O código e o nome dos professores e, quando for o caso, o nome dos autores das
obras por eles emprestadas.

select distinct Usuario.CodUsu, NomUsu, NomAut


from Usuario inner join TipoUsuario
on DesTipUsu = ‘Professor’
and Usuario.TipUsu = TipoUsuario.TipUsu
left outer join
(Emprestimo inner join Exemplar
on Emprestimo.NumExe = Exemplar.NumExe
inner join Autoria on
Exemplar.CodObr = Autoria.CodObr
inner join Autor on
Autor.CodAut = Autoria.CodAut)
on Usuario.CodUsu = Emprestimo.CodUsu
order by NomUsu, Nom.Aut;

4
105 - O código e o nome dos visitantes e se o for o caso, o nome e o código das editoras
das obras por eles emprestadas.

select distinct Usuario.CodUsu, NomUsu, Editora.CodEdi, NomEdi


from Usuario inner join TipoUsuario
on DesTipUsu = ‘Visitante’
and Usuario.TipUsu = TipoUsuario.TipUsu
left outer join
(Emprestimo inner join Exemplar
on Emprestimo.NumExe = Exemplar.NumExe
inner join Editora on
Exemplar.CodEdi = Editora.CodEdi)
on Usuario.CodUsu = Emprestimo.CodUsu
order by NomUsu, NomEdi;

107 - O código e o nome dos países e se for o caso, o código e o nome das editoras que
editaram suas obras.

select Pais.CodPai, NomPai, Editora.CodEdi, NomEdi


from Pais left outer join Autor
inner join Autoria
inner join Obra
inner join Exemplar
inner join Editora
on Pais.CodPai = Autor.CodPai
and Autor.CodAut = Autoria.CodAut
and Autoria.CodObr = Obra.CodObr
and Obra.CodObr = Exemplar.CodObr
and Exemplar.CodEdi = Editora.CodEdi
order by NomPai, NomEdi;

5
109 - Quantas usuárias possui a biblioteca?

select count(distinct CodUsu)


from Usuario natural join
Emprestimo
where SexUsu = ‘F’;

111 - O valor médio das obras brasileiras.

select avg(ValExe)
from Exemplar
natural join Autoria
natural join Autor
natural join Pais
where NomPai = ‘Brasil’);

113 - O código e o nome das obras cujo valor é menor que a média dos valores das obras
da biblioteca.

select CodObr, NomObr


from Obra
natural join Exemplar
where ValExe < (
select avg(ValExe)
from Exemplar)
order by NomObr;

115 - Quantas usuárias ainda não fizeram empréstimo.

select count(CodUsu)
from Usuario
where SexUsu = ‘F’
and CodUsu not in
(select CodUsu from Emprestimo);

6
117 - Quantas obras luso-brasileiras existem?

select count(codObr)
from Obra
natural join Autoria
natural join Autor
natural join Pais
where NomPai = ‘Brasil’
or NomPai = ‘Portugal’;

119 - Qual o nome do autor da obra de maior valor.

select CodAut, NomAut


from Autor
natural join Autoria
natural join Exemplar
where ValExe = (select max(ValExe) from Exemplar);

7
REFERÊNCIAS

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS. Pró-Reitoria de


Graduação. Sistema de Bibliotecas. Padrão PUC Minas de normalização: normas da ABNT
para apresentação de projetos de pesquisa. Belo Horizonte, 2010. Disponível em:
<http://www.pucminas.br/biblioteca/>. Acesso em: 13 mai. 2018.

Você também pode gostar