Na empresa GeniusDatabase, o engenheiro de dados Billy enviou o seguinte script para que você execute em um típico SGBD Oracle. Supondo que a sintaxe esteja correta, escolha a única alternativa correta:
Questão
Na empresa GeniusDatabase, o engenheiro de dados Billy enviou o seguinte script para que você execute em um típico SGBD Oracle. Supondo que a sintaxe esteja correta, escolha a única alternativa correta:
ALTER TABLE T_SIP_PEDIDO_VENDA ADD CONSTRAINT CK_SIP_VAL_TOT_PEDIDO CHECK ( VL_TOT_PEDIDO > 0 );
Alternativas
A) Esse comando irá criar uma restrição sobre a coluna VL_TOT_PEDIDO que pertence à tabela T_SIP_PEDIDO_VENDA e pedidos com valor total de venda menor ou igual a zero não serão permitidos.
B) Esse comando irá criar uma coluna chamada VL_TOT_PEDIDO dentro da tabela T_SIP_PEDIDO_VENDA e pedidos com valor total de venda menor ou igual a zero não serão permitidos.
C) Esse comando irá criar uma coluna chamada VL_TOT_PEDIDO dentro da tabela T_SIP_PEDIDO e pedidos com valor total de venda maior do que zero não serão permitidos.
D) Esse comando irá criar uma restrição sobre a coluna VL_TOT_PEDIDO que pertence à tabela T_SIP_PEDIDO_VENDA e pedidos com valor total de venda maior ou igual a zero não serão permitidos.
E) Esse comando irá criar somente uma restrição sobre toda a tabela T_SIP_PEDIDO_VENDA, afetando todas as colunas, e pedidos contendo o valor total de venda menor do que zero não serão permitidos.
Explicação
O script apresentado é:
ALTER TABLE T_SIP_PEDIDO_VENDA
ADD CONSTRAINT CK_SIP_VAL_TOT_PEDIDO
CHECK ( VL_TOT_PEDIDO > 0 );
Passo a passo:
ALTER TABLE T_SIP_PEDIDO_VENDAindica que uma alteração será feita na tabela T_SIP_PEDIDO_VENDA.ADD CONSTRAINT CK_SIP_VAL_TOT_PEDIDOcria uma restrição (constraint) do tipo CHECK, com o nomeCK_SIP_VAL_TOT_PEDIDO.CHECK (VL_TOT_PEDIDO > 0)impõe a regra de integridade: o valor da coluna VL_TOT_PEDIDO deve ser estritamente maior que zero.- Portanto, valores 0 e valores negativos (isto é, ) não serão permitidos em inserções/atualizações.
Analisando as alternativas:
- (A) descreve exatamente: cria uma restrição e impede . Correta.
- (B) e (C) falam em criar coluna (isso seria
ADD column_name ...), o que não ocorre. - (D) diz que valores não seriam permitidos, mas a regra permite valores positivos e proíbe .
- (E) sugere que a restrição afeta “todas as colunas”; embora o CHECK seja uma constraint de tabela, a expressão referencia VL_TOT_PEDIDO, logo a regra se aplica ao valor dessa coluna conforme a condição (não “todas as colunas”). Além disso, também proíbe o zero, e não apenas valores menores que zero.
Alternativa correta: (A).