Questão nº 54

Questão de Tecnologia da Informação · FGV TJ-SE Servidor 2023 (nº 54)

FGV2023Técnico Judiciário - Programação de SistemasTecnologia da Informação
Gabarito: Dver comentário ↓

Observe o modelo lógico simplificado de gerenciamento da biblioteca XPTO, contendo as entidades: LIVRO, AUTOR e LIVRO_AUTOR a seguir.

Figura da questão de Tecnologia da InformaçãoO script em MySQL para implementar fisicamente a entidade associativa LIVRO_AUTOR é:

Resposta comentada

Gabarito Alternativa D

Uma tabela associativa (ou tabela de junção) é usada para conectar duas outras tabelas que têm um relacionamento de muitos para muitos, contendo as chaves primárias de ambas as tabelas originais como chaves estrangeiras, que juntas formam a chave primária composta da tabela associativa.

  • (A) Incorreta: O script está sintaticamente incorreto, pois as colunas idlivro e idautor são usadas na PRIMARY KEY e FOREIGN KEY mas não são declaradas como colunas da tabela.
  • (B) Incorreta: Usa CREATE TABLESPACE em vez de CREATE TABLE, que é para definir um local de armazenamento e não uma tabela. Além disso, as colunas idlivro e idautor não são declaradas.
  • (C) Incorreta: A armadilha aqui é a inclusão de um Idlivroautor INT NOT NULL AUTO_INCREMENT como chave primária. Embora tabelas associativas possam ter chaves primárias substitutas (surrogate keys), a prática mais comum e conceitualmente correta para representar uma relação N:N é usar a chave primária composta formada pelas chaves estrangeiras (idlivro, idautor). Mais importante, este script também falha em declarar as colunas idlivro e idautor, tornando-o sintaticamente inválido.
  • (D) Correta: Este script declara corretamente as colunas idlivro e idautor como INT NOT NULL, a coluna ano como DATETIME NOT NULL, define a chave primária composta (idlivro, idautor) (que é o padrão para tabelas associativas) e estabelece as chaves estrangeiras para as tabelas livro e autor, tudo conforme a sintaxe do MySQL para criar uma tabela associativa.
  • (E) Incorreta: Usa CREATE TABLESPACE em vez de CREATE TABLE, o que está incorreto para criar uma tabela.

Fonte: FGV TJ-SE Servidor 2023 Técnico Judiciário - Programação de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho