Prova 3 bimestre de banco de dados resolvida

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1018 palavras )
  • Download(s) : 0
  • Publicado : 25 de setembro de 2012
Ler documento completo
Amostra do texto
|[pic] |UNIPAR - Universidade Paranaense |[pic] |
| |Sistemas de Informação | |
| |Banco de Dados II 3.ª Série (noturno)| |
| |Prof. Hélio Toshio Kamakawa | |
| |3.ª Prova Oficial - 2012 | |

Aluno:______________________________________________________________ RA ___________

Leia com atenção antes de iniciar a prova:
• Valor da prova: 8,0 Trabalho: 2,0
• TODAS AS RESPOSTAS DEVERÃO ESTAR NO ALMAÇO
• PERMUTA (nota trabalho) deverá ser marcada na questão
• A nota da permuta não será atribuída automaticamente
• LETRA INLEGÍVEL SERÁ ATRIBUIDA A NOTA ZERO.ESTADO(*ID,NOME,SIGLA,STATUS)
CIDADE(*ID,NOME,**ESTADO_ID)
CLIENTE(*ID,NOME,ENDERECO,**CIDADE_ID)
FORNECEDOR(*ID,NOME,ENDERECO,**CIDADE_ID,STATUS)
FUNCIONARIO(*ID,NOME,ENDERECO,SALARIO,STATUS,**CIDADE_ID)
PRODUTO(*ID,NOME,CUSTO,VENDA,ESTOQUE)
COMPRA(*ID,**FUNCIONARIO_ID, **FORNECEDOR_ID, DATA)
ICOMPRA (*COMPRA_ID,*PRODUTO_ID,QTDE,PRECO_UNIDADE)

De acordo com as relações acima, resolva todas as questões abaixo:1. Crie uma VIEW que possua o CÓDIGO e o NOME de todos os estados e a QUANTIDADE de cidades correspondente. (DOIS PONTOS)
CREATE VIEW ESTADO(CODIGO_ESTADO,NOME_ESTADO,QTDE_CIDADES) AS
SELECT E.ID,E.NOME,COUNT(C.ID)
FROM CIDADE C, ESTADO E
WHERE E.ID = C.ESTADO_ID
GROUP BY E.ID,E.NOME


2. Crie uma PROCEDURE que receba como parâmetro o CÓDIGO da COMPRA eretorne o TOTAL DA COMPRA. (DOIS PONTOS)
CREATE PROCEDURE CALCULA_TOTAL(CODIGO_COMPRA INT)
RETURNS (TOTAL NUMERIC(9,2))
AS
BEGIN
SELECT SUM(IC.QTDE*IC.PRECO_UNIDADE)
FROM COMPRA C,ICOMPRA IC
WHERE C.ID = IC.COMPRA_ID
AND C.ID = :CODIGO_COMPRA
INTO :TOTAL;
SUSPEND;
END!


3. Crie uma TRIGGER na tabela ESTADO queatribua o valor 'A' (Ativo) no campo STATUS, quando este campo não for informando na inserção. (UM PONTO)
CREATE TRIGGER INSETE_STATUS
FOR ESTADO
BEFORE INSERT
AS
BEGIN
IF(NEW.STATUS IS NULL) THEN
NEW.STATUS = 'A';
END!


4. Crie uma TRIGGER que atualize automaticamente o estoque do PRODUTO quando uma compra deste produto é efetuada. (UM PONTO)
CREATE TRIGGER ATUALIZA_ESTOQUE
FORICOMPRA
AFTER INSERT
AS
BEGIN
UPDATE PRODUTO SET ESTOQUE = (ESTOQUE + NEW.QTDE) WHERE ID = NEW.PRODUTO_ID;
END!

5. De acordo com o estudo de caso efetuado em sala, resolva as seguintes questões:
a) Sobre procedure, julgue os itens a seguir: (UM PONTO)


I. Procedure podem ser chamadas somente pela outra procedures ou triggers.
II. Procedure é armazenado na aplicação docliente.
III. Para criar uma procedure com retorno é obrigatório utilizar a palavra chave return e o valor de retorno.


As afirmativas corretas são:
a) Apenas I e III são corretas.
b) Apenas I e II são corretas.
c) Apenas II e III são corretas.
d) Todas são falsas.
e) Todas são verdadeiras.


b) Sobre trigger, julgue os itens a seguir: (UM PONTO)
I. A ativação de uma trigger estáassociada à ocorrência de um evento INSERT, UPDATE, SELECT e DELETE.
II. Um gatilho é um comando que é executado pelo SGBD automaticamente.
III. Triggers são procedimentos armazenados, ou seja, trechos de código armazenados no Banco de Dados.


As afirmativas corretas são:
a) Apenas I e III são corretas.
b) Apenas I e II são corretas.
c) Apenas II e III são corretas.
d) Todas são...
tracking img