Buscar

Lista de exercícios Revisão PLSQL

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Universidade Federal de Pernambuco 
Centro de Informática 
Curso de Sistemas de Informação 
Banco de Dados 
Professora: Bernadette Farias Lóscio 
 
Aluno:________________________ 
 
Exercício de Revisão SQL e PL/SQL 
 
Questão 1. Considerando o diagrama relacional abaixo, responda as questões a seguir em 
SQL e PL/SQL. 
 
Artista(cod_artista, nome_artista, país) 
Cria(cod_musica, cod_artista) cod_musica referencia Música:cod_musica; cod_artista 
referencia Artista:cod_artista 
Música(cod_musica, data_composição, título, duração) 
FazParte(cod_álbum, cod_musica) cod_musica referencia Música:cod_musica; cod_álbum 
referencia Álbum:cod_álbum 
Álbum(cod_álbum, nome) 
 
a) Recupere os títulos das músicas que fazem parte de mais de quatro álbuns e tem 
duração maior do que 10. 
b) Recupere os nomes dos artistas juntamente com os títulos das músicas criadas por eles 
e o nome do álbum ao qual a música pertence. 
c) Recupere as músicas criadas por Elba Ramalho e que não fazem parte de um álbum. 
d) Recupere os nomes de todos os artistas e para aqueles que já criaram alguma música 
recupere os títulos das músicas que eles criaram. 
e) Crie um procedimento para inserir uma nova música. Mostre um exemplo de como 
chamar esse procedimento. 
f) Crie um trigger que não permita a inserção de uma música com duração menor que 30 
segundos (utilize o valor “30” em seu programa). 
 
 
Questão 2: Considerando o esquema relacional apresentado abaixo, escreva as seguintes 
consultas em SQL ou PL/SQL. 
Setor(cod_setor, nome_setor) 
Produto(cod_produto, nome_produto, preço, categoria, cd_setor) cd_setor referencia 
Setor:cod_setor 
Fornecedor (cod_fornecedor, nome_fornecedor, cidade) 
Forn_Prod(cod_fornecedor, cod_produto) cod_fornecedor referencia 
Fornecedor:cod_fornecedor; cod_produto referencia Produto:cod_produto 
Filial(cod_filial, nome, fone, cidade) 
Filial_Produto(cod_filial, cod_produto, qtd_estoque, qtd_estoque_min) cod_filial referencia 
Filial:cod_filial; cod_produto referencia Produto:cod_produto 
 
a) Recupere os códigos dos setores que não possuem produtos associados. 
b) Recupere o código dos setores que vendem mais de 10 produtos juntamente com a 
quantidade de produtos vendidos no setor e o valor máximo dos preços dos produtos 
vendidos. 
c) Recupere os códigos de produtos onde existe pelo menos uma filial que vende o 
produto e um fornecedor que fornece o produto situados na mesma cidade. 
d) Implemente um TRIGGER que não permita que um produto em uma determinada 
filial tenha um valor de estoque abaixo do valor mínimo permitido (i.e. 
qtd_estoque_min). Caso alguma irregularidade ocorra, imprima uma mensagem do 
tipo "RAISE APPLICATION ERROR". 
e) Crie um procedimento que recebe o código de um produto e aumenta o seu valor em 
5%.

Outros materiais