FC ConcursosFC Concursos

Questão FC372814

Considere que em um banco de dados PostgreSQL 13, aberto e funcionando em condições ideais, existam duas tabelas: Cidades (com os campos NomeCidade e Estado) e Populacao (com os ca

Linguagem SQL

FCC · 2022

Considere que em um banco de dados PostgreSQL 13, aberto e funcionando em condições ideais, existam duas tabelas: Cidades (com os campos NomeCidade e Estado) e Populacao (com os campos Cidade, NumHabitantes, NumVaras). A tabela Cidades foi criada pelo comando:

 

CREATE TABLE Cidades (NomeCidade VARCHAR(80) PRIMARY KEY, Estado VARCHAR(40));

 

Para que, ao se inserir ou atualizar algum registro na tabela Populacao, seja verificado se o campo Cidade corresponde a uma cidade existente na tabela Cidades, deve-se utilizar uma chave estrangeira. Isso é feito utilizando o comando SQL na criação da tabela Populacao:

 

CREATE TABLE Populacao (Cidade VARCHAR(80) ...I..., NumHabitantes INT, NumVaras INT);

 

A lacuna I é corretamente preenchida com

  1. FOREIGN KEY (Cidade) REFERENCES Cidades(NomeCidade)
  2. FOREIGN KEY REFERENCES Cidades(NomeCidade)
  3. REFERENCES Cidades(NomeCidade)
  4. FOREIGN KEY Cidades(NomeCidade)
  5. REFERENCES FOREIGN KEY (Cidade) TO Cidades(NomeCidade)
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A lacuna é corretamente preenchida por REFERENCES Cidades(NomeCidade). Ao definir o atributo Cidade VARCHAR(80) REFERENCES Cidades(NomeCidade) na criação da tabela, você declara inline uma chave estrangeira que aponta para a coluna NomeCidade da tabela Cidades.

Isso estabelece automaticamente a integridade referencial: o SGBD rejeitará inserts ou updates em Populacao.Cidade cujo valor não exista em Cidades.NomeCidade, garantindo consistência entre tabelas.

Como NomeCidade foi criado como PRIMARY KEY, é um alvo válido para REFERENCES. Opcionalmente, você pode acrescentar cláusulas como ON DELETE ou ON UPDATE para controlar comportamento em deleções/atualizações na tabela referenciada.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo