Baixe o app para aproveitar ainda mais
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%.
Compartilhar