FC ConcursosFC Concursos

Questão FC90568

Julgue o item subsequente, a respeito de bancos de dados. Considere o seguinte modelo Para criar essas duas tabelas e o relacionamento entre elas, é correto utilizar os scripts SQL

Linguagem SQL

CEBRASPE (CESPE) · 2020

Julgue o item subsequente, a respeito de bancos de dados.
 
Considere o seguinte modelo



Para criar essas duas tabelas e o relacionamento entre elas, é correto utilizar os scripts SQL a seguir.

CREATE TABLE TIPOTREM
(
   IDTIPOTREM INT NOT NULL,
   DESCRICAO VARCHAR(45),
FOREIGN KEY (IDTIPOTREM) REFERENCES
TREM(IDTIPOTREM),
PRIMARY KEY ('IDTIPOTREM')
);

CREATE TABLE TREM
(
   IDTREM INT NOT NULL,
   DESCRICAO VARCHAR(45),
PRIMARY KEY ('IDTREM')
);
Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

Comentário: A assertiva está correta ao afirmar que o script está errado, pois há um erro na definição da chave estrangeira (FOREIGN KEY) na tabela TIPOTREM.

Erros no script SQL:
  1. Erro na criação da chave estrangeira na tabela TIPOTREM:
FOREIGN KEY (IDTIPOTREM) REFERENCES TREM(IDTIPOTREM),

    • A tabela TREM não possui uma coluna chamada IDTIPOTREM, apenas IDTREM.
    • A referência correta deve ser feita para IDTREM, que é a chave primária da tabela TREM.
  1. Ordem de criação das tabelas:
    • A tabela TIPOTREM está tentando referenciar TREM, mas TREM ainda não foi criada no momento da definição da FOREIGN KEY. Isso pode gerar um erro em alguns SGBDs.
Correção do script:
CREATE TABLE TREM (
    IDTREM INT NOT NULL,
    DESCRICAO VARCHAR(45),
    PRIMARY KEY (IDTREM)
);

CREATE TABLE TIPOTREM (
    IDTIPOTREM INT NOT NULL,
    DESCRICAO VARCHAR(45),
    IDTREM INT,  -- Chave estrangeira deve referenciar IDTREM
    PRIMARY KEY (IDTIPOTREM),
    FOREIGN KEY (IDTREM) REFERENCES TREM(IDTREM)  -- Correção da referência
);

  • Agora a tabela TREM é criada primeiro.
  • A chave estrangeira IDTREM na tabela TIPOTREM referencia corretamente IDTREM na tabela TREM.

Assertiva corrigida:

"O script apresentado está incorreto porque a chave estrangeira na tabela TIPOTREM faz referência a uma coluna inexistente na tabela TREM. Além disso, a ordem de criação das tabelas pode gerar erros em alguns bancos de dados." 

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

Continue aprendendo