Pular para o conteúdo principal

Questão de Banco de Dados — Oracle — FCC 2022

Banco de DadosOracle
Código
fc065422
Banca
FCC
Órgão
TRT - 22ª Região (PI)
Ano
2022
Cargo
Técnico Judiciário - Tecnologia da Informação
Considere que em um banco de dados Oracle 19c, aberto e funcionando em condições ideais, um Técnico está criando a tabela TRTFunc, utilizando a instrução abaixo.CREATE TABLE TRTFunc( NroMatricula numeric(10) NOT NULL,NomeFunc varchar2(100) NOT NULL,Telefone varchar2(50),CONSTRAINT ..I..);Para criar uma restrição, cujo nome seja matricula_unica, de forma que os campos NroMatricula e NomeFunc sejam únicos, a lacuna I deve ser corretamente preenchida com
  1. AUNIQUE matricula_unica (NroMatricula, NomeFunc)
  2. Bmatricula_unica UNIQUE (NroMatricula AND NomeFunc)
  3. CUNIQUE (NroMatricula, NomeFunc) AS matricula_unica
  4. Dmatricula_unica UNIQUE (NroMatricula, NomeFunc)
  5. Ematricula_unica UNIQUE (NroMatricula) UNIQUE (NomeFunc)
Revelar gabarito e comentário

GabaritoD — matricula_unica UNIQUE (NroMatricula, NomeFunc)

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Criação de constraints UNIQUE no Oracle

Gabarito: letra D. A sintaxe correta para uma restrição UNIQUE em nível de tabela no Oracle, após a palavra-chave CONSTRAINT, é: nome_da_restricao UNIQUE (coluna1, coluna2). A alternativa D reproduz exatamente esse padrão: matricula_unica UNIQUE (NroMatricula, NomeFunc). As demais alternativas erram a ordem dos elementos, usam operadores incorretos ou separam as colunas em constraints individuais.

A banca testa o conhecimento da sintaxe SQL do Oracle para definição de restrições de unicidade compostas. A forma correta de criar uma constraint UNIQUE nomeada em uma tabela é:

Oracle SQL (CREATE TABLE): CONSTRAINT nome UNIQUE (coluna1, coluna2, ...)

No enunciado, a lacuna I está logo após a palavra CONSTRAINT, portanto deve ser preenchida com o nome da restrição seguido da cláusula UNIQUE e a lista de colunas entre parênteses.

Alternativa A — ❌ Incorreta

UNIQUE matricula_unica (NroMatricula, NomeFunc) Inverte a ordem: coloca UNIQUE antes do nome da constraint. A ordem correta é: nome da constraint, depois UNIQUE, depois as colunas.

Alternativa B — ❌ Incorreta

matricula_unica UNIQUE (NroMatricula AND NomeFunc) Usa o operador lógico AND para separar as colunas, o que é inválido em SQL. As colunas devem ser separadas por vírgula.

Alternativa C — ❌ Incorreta

UNIQUE (NroMatricula, NomeFunc) AS matricula_unica Usa a palavra AS para nomear a constraint, o que não é aceito. Além disso, UNIQUE vem antes dos parênteses, mas o nome deveria vir antes de UNIQUE.

Alternativa D — ✅ Correta ⟵ GABARITO

matricula_unica UNIQUE (NroMatricula, NomeFunc) Respeita a sintaxe: nome da constraint, UNIQUE, colunas entre parênteses separadas por vírgula. Cria uma única restrição de unicidade composta pelas duas colunas.

Alternativa E — ❌ Incorreta

matricula_unica UNIQUE (NroMatricula) UNIQUE (NomeFunc) Cria duas restrições UNIQUE separadas, uma para cada coluna. Isso permite que NroMatricula e NomeFunc sejam repetidos individualmente, desde que a combinação não seja exclusiva; o objetivo do enunciado é uma única restrição que torne o par (NroMatricula, NomeFunc) único.

Gabarito: letra D

Link permanente: /questoes/fc065422