Cadernos de Questões

Provas Favoritas

Filtros Salvos

Foram encontradas 25 questões.
#2102793
Texto da Questão:

As tabelas abaixo pertencem ao esquema de um banco de dados de um supermercado.

CREATE TABLE PRODUTO (
       COD NUMBER(5) NOT NULL,
       DESCRICAO VARCHAR2(100) NOT NULL,
       PRECO NUMBER(8,2) NOT NULL,
       QTD_ESTOQUE NUMBER(5) ,
       TIPO NUMBER(1) NOT NULL,
       CONSTRAINT PRODUTO_PK PRIMARY KEY (COD))

CREATE TABLE ITEM (
       NUM_SERIE NUMBER(7) NOT NULL,
       COR VARCHAR2(20) NOT NULL,
       VOLTAGEM NUMBER(5) NOT NULL,
       COD_PROD NUMBER(5) NOT NULL,
       CONSTRAINT ITEM_PK PRIMARY KEY (NUM_SERIE),
       CONSTRAINT ITEM_FK FOREIGN KEY (COD_PROD)
              REFERENCES PRODUTO (COD))

Observações:
• A empresa comercializa produtos controlados por quantidade (por exemplo, caixa de sabão em pó, pacote de biscoito e lata de extrato de tomate) e produtos controlados por unidade (por exemplo, televisor, máquina de lavar roupa e liquidificador).

• A quantidade em estoque de um produto controlado por quantidade (TIPO=1) é obtida diretamente da coluna QTD_ESTOQUE.

• A quantidade em estoque de um produto controlado por unidade (TIPO=2) NÃO pode ser obtida diretamente da coluna QTD_ESTOQUE, pois, para esse tipo de produto, esta coluna irá conter o valor NULL.

• Cada linha da tabela ITEM contém informações sobre um item existente no estoque da empresa relativo a um tipo de produto controlado por unidade.









O analista de suporte de banco de dados do supermercado solicitou que a coluna QTD_ESTOQUE passasse a conter a quantidade de itens em estoque de produtos do tipo 2. Embora ele reconheça que isso resultará em redundância, os relatórios de performance mostram que existe um desperdício de recursos computacionais significativo com o cálculo recorrente do total de itens em estoque de produtos do tipo 2.
Qual comando SQL irá atualizar corretamente a coluna QTD_ESTOQUE com a quantidade de itens em estoque relativa a cada um dos produtos do tipo 2 comercializados pelo supermercado?

  • UPDATE PRODUTO P SET QTD_ESTOQUE=(SELECT COUNT(*) FROM ITEM WHERE COD_PROD=P.COD)
  • UPDATE PRODUTO P SET QTD_ESTOQUE=(SELECT COUNT(*) FROM ITEM WHERE COD_PROD=P.COD AND P.TIPO=2)
  • UPDATE PRODUTO P SET QTD_ESTOQUE=(SELECT COUNT(DISTINCT COD_PROD) FROM ITEM WHERE COD_PROD=P.COD AND P.TIPO=2)
  • UPDATE PRODUTO P SET QTD_ESTOQUE=(SELECT COUNT(COD_PROD) FROM ITEM WHERE COD_PROD=P.COD) WHERE TIPO = 2
  • UPDATE PRODUTO P SET QTD_ESTOQUE=(SELECT COUNT(DISTINCT COD_PROD) FROM ITEM WHERE COD_PROD=P.COD) WHERE TIPO=2
Fale com IAgo
IAgo - Assistente IAProva
IA
Olá! Sou o IAgo, seu assistente aqui no IAProvatec 😊
Veja como posso te ajudar:
Agora