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 |
Q602413 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.

Na tabela TABELA_NACIONALIDADE , CODIGO_NACIONALIDADE deve ser PRIMARY KEY.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - certo

A questão aborda conhecimentos sobre a criação de tabelas e o uso de chaves estrangeiras (FOREIGN KEY) em SQL. Quando definimos uma chave estrangeira em uma tabela, estamos estabelecendo uma relação de referência entre esta tabela e uma outra tabela existente no banco de dados. A chave estrangeira será um campo (ou conjunto de campos) que aponta para uma chave primária (PRIMARY KEY) da tabela referenciada.

No comando SQL apresentado, é definida uma FOREIGN KEY (NACIONALIDADE) que faz referência a TABELA_NACIONALIDADE(CODIGO_NACIONALIDADE). Para que seja possível estabelecer essa relação de chave estrangeira, é necessário que o campo referenciado (neste caso, CODIGO_NACIONALIDADE) seja um campo único na tabela de referência, ou seja, que ele identifique de maneira única cada registro na tabela TABELA_NACIONALIDADE.

A maneira padrão de garantir a unicidade de um campo em uma tabela é torná-lo uma chave primária, pois a PRIMARY KEY impõe uma restrição de unicidade e não nulidade sobre os campos que a compõem. Portanto, para que a FOREIGN KEY (NACIONALIDADE) na tabela PESSOA esteja corretamente definida e funcione como esperado, o campo CODIGO_NACIONALIDADE na tabela TABELA_NACIONALIDADE deve, de fato, ser uma PRIMARY KEY.

Por isso, a afirmação de que "Na tabela TABELA_NACIONALIDADE, CODIGO_NACIONALIDADE deve ser PRIMARY KEY" está correta, pois somente com essa condição a integridade referencial entre as tabelas poderá ser mantida e operações como inserção, atualização e exclusão de dados em tabelas relacionadas poderão ser realizadas de maneira consistente.

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

Sim, isso é necessário para manter a integridade referencial.

Mas o termo "deve" é muito pesado, pois eu posso garantir uma integridade referencial com chave candidata. Concordam?

Concordo plenamente, Silas.

Estou percebendo muitas questões em que o cespe cobra o entendimento de que a FK DEVE referenciar necessariamente uma PK.

Enfim, nesse mundo de concurso devemos estudar um pouco da banca também.

O "deve" invalida a questão, como já foi dito, qualquer chave candidata poderia ser usada.

essa questao do cespe é sazonal

 

dependendo da epoca do ano pode ser certa ou errada

 

http://www.itnerante.com.br/group/bancodedados/forum/topics/cespe-tj2015-chave-estrangeira?xg_source=activity

 

 

2017

Para que um campo seja FK em uma tabela, é necessário que o mesmo atributo seja PK na tabela de origem.

certa

 

2017

A chave estrangeira (foreign key) é o campo que estabelece o relacionamento entre duas tabelas de bancos distintos, sendo necessariamente chave primária na tabela de um dos bancos.

errada

 

2015

Em um banco de dados relacional, a chave estrangeira que existe em uma tabela deve ser chave primária em outra tabela.

certa

 

Ano: 2015Banca: CESPEÓrgão: CGE-PIProva: Auditor Governamental

 

Em um relacionamento de tabelas de um banco de dados relacional, a chave estrangeira serve para referenciar uma entidade dentro de outra tabela, facilitando, assim, a busca e o agrupamento dessas entidades.

certa


 

2015

Integridade referencial baseia-se na ligação das informações das chaves estrangeiras com as chaves primárias, ou candidatas a primárias, da tabela de referência.

certa

 

 

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo