create domain TIPO_ACAO varchar(35) constraint VALIDA_TIPO_ACAO check (value in (‘Civil’,’Penal’,’Cautelar’)); Em relação ao código SQL anterior, assinale a afirmativa correta.
- A)O comando create domain pertence à Linguagem de Manipulação de Dados.
Errada, porque CREATE DOMAIN é comando de DDL, usado para definição de tipos e estruturas, não de manipulação de dados.
- B)Há um erro de sintaxe no código: os valores não podem estar entre aspas simples, mas entre aspas duplas.
Errada, porque em SQL os valores textuais normalmente ficam entre aspas simples, e não aspas duplas.
- C)O objeto em questão, o domínio TIPO_ACAO, visa assegurar que somente os tipos de ação Civil, Penal e Cautelar sejam inseridos no banco de dados.
Certa, porque o domínio cria uma regra de validação que permite somente os valores Civil, Penal e Cautelar.
- D)Há um erro de sintaxe no código: a cláusula check está inserida em local impróprio. Para que o código possa ser implementado, ela deverá ser inserida após a cláusula value.
Errada, porque a cláusula CHECK está corretamente posicionada na definição do domínio e pode ser usada assim.
Gabarito: C
O comando CREATE DOMAIN é um recurso de SQL para criar um tipo de dado personalizado, reaproveitável em várias tabelas. Ele faz parte da DDL, a Linguagem de Definição de Dados, e não da DML. Pense nele como uma forma elegante de dizer ao banco: “sempre que aparecer este tipo de informação, siga estas regras”. No exemplo, o domínio TIPO_ACAO foi definido como varchar(35), com uma restrição CHECK para permitir apenas três valores: Civil, Penal e Cautelar. Isso significa que qualquer coluna que use esse domínio ficará automaticamente limitada a esses conteúdos, evitando dados fora do padrão. É exatamente por isso que a alternativa C está correta: o domínio foi criado para assegurar a padronização dos tipos de ação aceitos no banco. A lógica é de integridade de dados, algo muito cobrado em concursos quando a banca quer ver se você sabe diferenciar domínio, tabela e restrição. Detalhe importante: em SQL, o CHECK pode aparecer na criação do domínio, e os literais de texto usam aspas simples. Então o código está conceitualmente correto. Se a banca tentar te assustar com “erro de sintaxe”, respire fundo e volte ao básico: domínio serve para impor regra de validação ao valor armazenado.