Com base no comando SQL apresentado, julgue o item subsequen...
ID INTEGER NOT NULL,
NOME CHAR(50) NOT NULL UNIQUE,
CPF DECIMAL (11,0) NULL,
NACIONALIDADE INTEGER NOT NULL,
PRIMARY KEY (ID),
FOREIGN KEY (NACIONALIDADE)
REFERENCES TABELA_NACIONALIDADE(CODIGO_NACIONALIDADE)
);
A cláusula NULL na coluna CPF indica que o conteúdo dessa coluna pode ser zero, já que ela é do tipo DECIMAL (11,0).
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: E - errado
No SQL, a cláusula NULL especificada para a coluna CPF não indica que o conteúdo desta coluna poderá ser zero devido ao seu tipo ser DECIMAL (11,0). Na verdade, NULL significa que a coluna pode conter um valor não atribuído ou ausente, ou seja, a coluna aceita valores nulos.
A confusão pode surgir pelo fato de NULL e zero serem conceitos distintos em banco de dados. O valor zero é um valor numérico válido, enquanto NULL representa a ausência de valor. É importante entender essa diferença para trabalhar corretamente com dados e suas restrições de integridade.
Assim, a afirmação de que a cláusula NULL na coluna CPF indica permissão para inserir o valor zero é incorreta, pois o atributo NULL apenas permite que a coluna não tenha seu valor especificado.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
zéro é diferente de nulo.
NULL INDICA QUE A PESSOA NÃO TEM (NEM TODAS AS PESSOAS POSSUME CPF, NÉ...)
(11,0) SIGNIFICA QUE, CASO A PESSOA TENHA, TEM QUE TER ONZE DIGITOS E NENHUM DECIMAL
); esse smile no final me representa nessa matéria
NULL indica que o campo pode ser NULO/VAZIO.
Vejamos:
TABELA: FUNCIONARIO
CAMPOS: ID_FUNCIONARIO, NOME_FUNCIONARIO, CPF_FUNCIONARIO
Agora vou inserir na tabela funcionários os meus dados, de acordo com o que pedem (CPF sendo NULL):
INSERT INTO FUNCIONARIO (ID_FUNCIONARIO, NOME_FUNCIONARIO, CPF_FUNCIONARIO)
VALUES (01, Pri M, NULL)
Como essas informações ficariam se eu desse um select na tabela? Vejamos:
ID_FUNCIONARIO NOME_FUNCIONARIO CPF_FUNCIONARIO
----------------------------------------------------------------------------------------------------------------
01 Pri M NULL
OBS. Repare que NULL é diferente de 0. Null significa que meu campo pode ser vazio, ou seja, não precisa ser preenchido, já o 0 não tem essa associação.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo