Imagem de fundo

Considere o seguinte banco de dados relacional para...

Considere o seguinte banco de dados relacional para transportadoras de produtos:


Transportadora (CNPJ_pk, nome, endereço)

Caminhão (chassi_pk, placa, ano, transportadora_fk)

Motorista (CPF_pk, nome, CNH, transportadora_fk)

Produto (códigoP_pk, descrição, área, peso)

Entrega (códigoE_pk, data_saída, motorista_fk, caminhão_fk)

Produto_Entrega (entrega_pk_fk, produto_pk_fk, quantidade)


Campos com sufixo “_pk” fazem parte da chave primária da tabela. Um campo com sufixo “_fk” é uma chave estrangeira para a tabela indicada no nome do campo. A tabela Transportadora mantém dados sobre as transportadoras. A tabela Caminhão registra os caminhões das transportadoras. A tabela Motorista registra os motoristas das transportadoras. A tabela Produto registra os tipos de produtos transportados. A tabela Entrega registra os agendamentos de transportes de produtos, com a indicação do caminhão a ser usado e o motorista que irá dirigir o caminhão. Por fim, a tabela Produto_Entrega registra os produtos transportados em uma entrega.


Considere ainda o seguinte enunciado de consulta a ser realizada sobre o banco de dados:


“Buscar os registros dos motoristas que realizaram entregas de secadoras de roupas com o caminhão cuja placa é AAA 1275”


Assinale a alternativa que expressa corretamente essa consulta na linguagem SQL DML.


A

SELECT *

FROM Motorista

WHERE CPF_pk IN (SELECT motorista_fk FROM Entrega

WHERE códigoE_pk IN (SELECT entrega_pk_fk FROM Produto_Entrega

WHERE produto_pk_fk IN (SELECT códigoP_pk FROM Produto

WHERE descrição = ‘secadora de roupas’

AND caminhão_fk IN (SELECT chassi_pk FROM Caminhão

WHERE placa = ‘AAA 1275’))));


B

SELECT m.*

FROM Motorista m JOIN Entrega e JOIN Produto_Entrega pe JOIN Produto p

JOIN Caminhão c

WHERE c.placa = ‘AAA 1275’ AND m.CPF_pk = e.motorista_fk AND

c.chassi_pk = e.caminhão_fk AND e.códigoE_pk = pe.entrega_pk_fk AND

pe.produto_pk_fk = p.códigoP_pk AND p.descrição = ‘secadora de roupas’;


C

SELECT m.CPF_pk, m.nome, m.CNH, m.transportadora_fk

FROM Motorista m NATURAL JOIN Entrega e NATURAL JOIN

Produto_Entrega pe NATURAL JOIN Produto p NATURAL JOIN

Caminhão c

WHERE c.placa = ‘AAA 1275’ AND p.descrição = ‘secadora de roupas’;


D

SELECT m.CPF_pk, m.nome, m.CNH, m.transportadora_fk

FROM Motorista m, Entrega e, Produto_Entrega pe, Produto p, Caminhão c

WHERE c.placa = ‘AAA 1275’ AND m.CPF_pk = e.motorista_fk AND

c.chassi_pk = e.caminhão_fk AND e.códigoE_pk = pe.entrega_pk_fk AND

pe.produto_pk_fk = p.códigoP_pk AND p.descrição = ‘secadora de roupas’;


E

SELECT m.CPF_pk, m.nome, m.CNH, m.transportadora_fk

FROM Motorista m JOIN Entrega e ON m.motorista_fk = e.CPF_pk JOIN

Produto_Entrega pe ON e.entrega_pk_fk = pe.códigoE_pk JOIN

Produto p ON pe.códigoP_pk = p.produto_pk_fk JOIN Caminhão c

ON e.chassi_pk = c.caminhão_fk

WHERE c.placa = ‘AAA 1275’ AND p.descrição = ‘secadora de roupas’.