Com relação a tabela criada com os comandos da Fig3, analise...
Utilize a figura a seguir (Fig3), que representa uma sequência de comandos em SQL, para resolver as questões de número 54 e 55.
Fig3
create table cliente
{
seq VARCHAR2(6) not null,
nome VARCHAR2(50) not null,
cpf VARÇHAR2(11) not null,
data nasc date,
dependentes numeric(2),
estcivil VARCHAR2(1)
);
arter table cliente
ADD CONSTRAINT cliente pk PRIMARY KEY (cpf)
ADD CONSTRAINT seq un unique (seq) enable
ADD CONSTRAIKT est ck check (estcivil in ('C','S','D','V')) enable
ADD CONSTRAINT cpf ch check (REGEXP LIKE(cpf, '^[[digit: ]]{11}$')) enable;
Com relação a tabela criada com os comandos da Fig3, analise as afirmativas a seguir e marque a alternativa correta.
I- Além do campo “cpf” ter que ser único, o campo “seq” também precisa ser único em cada registro.
II- O campo “estcivil” aceita como conteúdo as letras “s”, “c”, “d” ou “v”, tanto em caixa alta (maiúsculas) com em caixa baixa (minúsculas).
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: Somente a afirmativa I está correta.
Vamos entender melhor o porquê dessa alternativa ser a correta e analisar as outras opções.
A questão aborda a criação e modificação de uma tabela SQL. Para resolvê-la, é necessário ter conhecimento sobre os comandos SQL de criação de tabelas (CREATE TABLE
), adição de restrições (ADD CONSTRAINT
), tipos de dados e validações de integridade.
Análise da alternativa correta (I):
A afirmativa I diz que, além do campo "cpf" ter que ser único, o campo "seq" também precisa ser único em cada registro. Observando os comandos SQL fornecidos, vemos que o campo cpf
é definido como PRIMARY KEY, o que automaticamente impõe a unicidade. Além disso, o campo seq
é definido como UNIQUE, o que também exige que seus valores sejam únicos. Portanto, a afirmativa I está correta.
Análise da alternativa incorreta (II):
A afirmativa II sugere que o campo "estcivil" aceita como conteúdo as letras "s", "c", "d" ou "v", tanto em caixa alta (maiúsculas) quanto em caixa baixa (minúsculas). No entanto, a restrição CHECK
definida para este campo é check (estcivil in ('C', 'S', 'D', 'V'))
, o que limita os valores aceitos a apenas as letras em caixa alta. Portanto, a afirmativa II está incorreta, pois ignora a sensibilidade a maiúsculas e minúsculas.
Análise das demais alternativas:
A - Ambas as afirmativas estão corretas: Incorreta porque a afirmativa II está errada.
C - Somente a afirmativa II está correta: Incorreta porque a afirmativa II está errada.
D - Nenhuma das afirmativas está correta: Incorreta porque a afirmativa I está correta.
Espero que esta explicação tenha ajudado a esclarecer o tema. Se tiver mais alguma dúvida, estou à disposição!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo