Com base no comando SQL apresentado, julgue o item subsequen...

Próximas questões
Com base no mesmo assunto
Ano: 2015 Banca: CESPE / CEBRASPE Órgão: MEC Prova: CESPE - 2015 - MEC - Desenvolvedor |
Q602415 Banco de Dados
CREATE TABLE PESSOA (

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)

);
Com base no comando SQL apresentado, julgue o item subsequente.

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).
Alternativas

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

Errado. a cláusula NULL indica que o conteúdo dessa coluna pode ser NULO.

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