SóProvas


ID
770338
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens a seguir, a respeito de álgebra relacional.


Considere um banco de dados com as seguintes tabelas e campos, representados na forma de um pseudo código.

cliente (nomecliente, codigocliente, cidade, codigoproduto)
chave estrangeira (codigoproduto) referenciado produto
produto (nomeproduto, codigoproduto, descricaoproduto)

Nessa situação, para se encontrarem todos os nomes de clientes que possuem o produto de nome ACME, é correto, ao se utilizar a linguagem SQL, o emprego do código abaixo.

SELECT nomecliente
FROM cliente as c, produto as p
WHERE c.codigoproduto = p.codigoproduto
AND p.nomeproduto = 'ACME';


Alternativas
Comentários
  • Apesar do modelo conceitual estar equivocado, a consulta em questão reflete exatamente o resultado que se espera.

    Bons estudos.
  • Geraldo, onde o modelo conceitual ta equivocado??

    cliente (nomecliente, codigocliente, cidade, codigoproduto)
    produto (nomeproduto, codigoproduto, descricaoproduto)
    chave estrangeira (codigoproduto) referenciado produto

    A consulta abaixo retorna os nomes de todos os clientes(SELECT nomecliente)  relacionados a produtos(WHERE c.codigoproduto = p.codigoproduto), cujo nome do produto seja acme(AND p.nomeproduto = 'ACME')
    Ou seja, dada a tabela cliente e produto, todas as ocorrencias de produtos para um cliente seriam retornadas na consulta pela chave estrangeira em cliente. Com a restriçao da ultima linha, todos os produtos, mas apenas os q possuam o nome acme sao retornados.

    SELECT nomecliente
    FROM cliente as c, produto as p
    WHERE c.codigoproduto = p.codigoproduto
    AND p.nomeproduto = 'ACME';
  • A falta do 'c' em ...nomecliente... não a torna a questão ERRADA?

    O correto não sereia:
    SELECT c.nomecliente
    FROM cliente as c, produto as p
    WHERE c.codigoproduto = p.codigoproduto
    AND p.nomeproduto = 'ACME';
  • Questão correta!

    Só se explicita a tabela ou sigla da tabela quando o nome do campo for igual em pelos menos duas tabelas num Join.Por exemplo, s
    ó precisaria utilizar o c.nomecliente se na tabela produto também tivesse o campo nomecliente.