Qual comando SQL irá inserir corretamente uma nova linha na tabela ...
🏢 CESGRANRIO🎯 FINEP📚 Banco de Dados
#Structured Query Language
Esta questão foi aplicada no ano de 2014 pela banca CESGRANRIO no concurso para FINEP. A questão aborda conhecimentos da disciplina de Banco de Dados, especificamente sobre Structured Query Language.
Esta é uma questão de múltipla escolha com 5 alternativas. Teste seus conhecimentos e selecione a resposta correta.
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.
Qual comando SQL irá inserir corretamente uma nova linha na tabela de produtos, além de não violar restrições semânticas relativas ao banco de dados do supermercado?