SóProvas


ID
2353
Banca
NCE-UFRJ
Órgão
TRE-RJ
Ano
2001
Provas
Disciplina
Banco de Dados
Assuntos

Nas questões 43 e 44 considere o esquema relacional
abaixo:

Pedidos(cod_ordem, cod_peça, quantidade)
Projeto_Necessita (cod_projeto, cod_peça, quantidade)
Fornecimento (cod_ordem, nome_fornecedor, data_ordem)

Analise as seguintes consultas:

(I) Que peças foram fornecidas por um dado fornecedor?
(II) Que fornecedores forneceram peças para um dado pedido?
(III) Que fornecedores forneceram peças para um dado projeto?
(IV) Liste os pedidos cuja quantidade de peças pedidas excede as necessidades de um dado projeto.

Considerando que o esquema relacional acima tem problemas de projeto, as consultas que podem ser resolvidas apenas com esse conjunto de relações são somente:

Alternativas
Comentários
  • Apesar de o gabarito ser a letra C tenho duvidas.
    Nao concordo que o item IV esteja correto, vejam se eu estou maluco:

    Supondo que na tabela Projeto_Necessita existam dois projetos diferentes porem que solicitaram os mesmos produtos, ou seja, mesmo codigo da peca.
    Pronto! Nesta situacao eh impossivel saber qual o projeto (codigo do projeto) que fez o pedido na tabela de
    Pedidos.

    Portanto nao podemos listar com certeza quais os pedidos de um dado projeto.

    Algum palpite?
  • Concordo. Acredito que o gabarito deveria ser letra A.
  • danieltc, se o projeto é diferente e as peças iguais, a composição das duas chaves tornará elas diferentes:

    Pedido 1 com Peça 1 = Chave 11
    Pedido 2 com Peça 1 = Chave 21

    Eu marquei letra A, mas errei também. Mas simplesmente não ter entendido a questão direito.

    (I) Que peças foram fornecidas por um dado fornecedor?
    - Como vou saber a peça se não tenho nem a tabela de peças?
    (II) Que fornecedores forneceram peças para um dado pedido?
    - Como vou saber isso se a tabela pedido não tem chave do fornecedor? Ou cod_ordem é chave primária de Fornecedor que foi como estrangeira para Pedido?
    (III) Que fornecedores forneceram peças para um dado projeto?
    - Como vou saber se na tabela projeto não consta o código do fornecedor?
    (IV) Liste os pedidos cuja quantidade de peças pedidas excede as necessidades de um dado projeto.
    - Não tem como saber, pois na tabela Pedido não tem chave do Projeto_Necessita.

    - Quais são chaves primárias e quais são chaves estrangeiras?

    Bem, se alguém puder tirar estas dúvida ai, agradeço.
  • Pedidos(cod_ordem, cod_peça, quantidade)
    Projeto_Necessita (cod_projeto, cod_peça, quantidade)
    Fornecimento (cod_ordem, nome_fornecedor, data_ordem)

    (I) Que peças foram fornecidas por um dado fornecedor?
    Re: Acredito que o erro deste item é apenas não possuir uma descrição da peça, pois é possível listar o código das peças fornecidas por um determinado fornecedor. Ex.:
    Select P.Cod_Peça From Pedidos P
    Inner Join Fornecimento F on F.Cod_Ordem=P.Cod_Ordem
    Where Nome_Fornecedor=”COCA-COLA”
    Group By Nome_Fornecedor, P.Cod_Peça

    (II) Que fornecedores forneceram peças para um dado pedido?
    Re: Select Nome_Fornecedor F From Fornecimento
    Inner Join Pedidos P on P.Cod_Ordem=F.Cod_Ordem
    Where Cod_Ordem=3

    Onde 3 é o código de um pedido.

    (III) Que fornecedores forneceram peças para um dado projeto?
    Re: Esta consulta realmente não tem como ser feita, pois não existe relacionamento entre pedido e projeto.

    (IV) Liste os pedidos cuja quantidade de peças pedidas excede as necessidades de um dado projeto.
    Re: Pegadinha!!! Esta consulta pode ser feita pois não está pedindo pra relacionar o projeto com o pedido, apenas listar os pedidos se a quantidade de peças nele for superior à quantidade que algum projeto está necessitando. Ex:

    Select * From Pedidos As Ped Where Ped.Qtde>(Select Quantidade From Projeto_Necessita Where Cod_Projeto=35)

    Onde 35 é o código de um projeto qualquer.
  • Questão mal formulada e deveria ter sido ANULADA por completo, visto que há 3 itens possíveis de serem respondidos : os itens I, II e IV.
  • Não possui alternativa correta que contenha ! II e IV