- ID
- 1117498
- Banca
- CESGRANRIO
- Órgão
- FINEP
- Ano
- 2014
- Provas
- Disciplina
- Banco de Dados
- Assuntos
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?