Questão FC372958
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 TRTFu
Sistema de Gerenciamento de Banco de Dados (SGBD)
FCC · 2022
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
- UNIQUE matricula_unica (NroMatricula, NomeFunc)
- matricula_unica UNIQUE (NroMatricula AND NomeFunc)
- UNIQUE (NroMatricula, NomeFunc) AS matricula_unica
- matricula_unica UNIQUE (NroMatricula, NomeFunc)
- matricula_unica UNIQUE (NroMatricula) UNIQUE (NomeFunc)
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
A lacuna I deve ser preenchida por matricula_unica UNIQUE (NroMatricula, NomeFunc).
Essa cláusula usa a sintaxe padrão CONSTRAINT nome UNIQUE(colunas), criando uma restrição nomeada que garante a unicidade da combinação das colunas indicadas.
Como NroMatricula e NomeFunc foram definidos como NOT NULL, a restrição impede inserções ou atualizações que resultem em duas linhas com a mesma dupla (NroMatricula, NomeFunc).
O Oracle impõe essa restrição por meio de um índice único interno; assim, a declaração evita duplicidade lógica de registros sem transformar as colunas em chave primária.
Conteúdo do catálogo FC Concursos · Atualizado em