Questão nº 71

Questão de Administração de Banco de Dados · FGV MPAL 2018 (nº 71)

FGV2018Analista do Ministério Público - Administrador de Banco de DadosAdministração de Banco de Dados
Gabarito: Ever comentário ↓

Considere o diagrama IDEF1X a seguir.

Figura da questão de Administração de Banco de Dados

Assinale a opção que apresenta o script SQL que cria a tabela E2 corretamente.

Resposta comentada

Gabarito Alternativa E

Para criar tabelas SQL a partir de um diagrama IDEF1X, é crucial entender como as chaves primárias (PK), chaves estrangeiras (FK) e a nulidade dos atributos são representadas e traduzidas. A chave primária de uma tabela (sublinhada no IDEF1X) sempre deve ser NOT NULL e PRIMARY KEY no SQL. Uma chave estrangeira é um atributo que referencia a chave primária de outra tabela; sua nulidade depende do tipo de relacionamento: se a linha do relacionamento é sólida (identificadora), a FK é NOT NULL; se é tracejada (não identificadora), a FK pode ser NULL.

Analisando o diagrama:

  • A entidade E1 tem A1 como chave primária.
  • A entidade E2 tem A2 como chave primária e B2 como atributo.
  • Existe um relacionamento não identificador (linha tracejada) de E1 para E2. Isso significa que A1 (PK de E1) migrará para E2 como uma chave estrangeira, e como o relacionamento é não identificador, A1 em E2 pode ser NULL.

(A) Incorreta: A chave primária (A2) não pode ser null. PRIMARY KEY implica NOT NULL. Além disso, A1 deveria ser null explicitamente, pois é uma FK de um relacionamento não identificador.
(B) Incorreta: Contém um erro de digitação (not nul em vez de not null). Mais importante, define (A2, A1) como chave primária, o que está errado, pois no diagrama A2 é a única chave primária de E2, e A1 é uma chave estrangeira de um relacionamento não identificador, não fazendo parte da PK de E2.
(C) Incorreta: Contém um erro de digitação (not nul). A coluna A1 não foi declarada, mas é usada na definição da chave primária e da chave estrangeira, o que é um erro grave. Além disso, a chave primária (A2, A1) está incorreta.
(D) Incorreta: Embora A2 seja not null e A1 seja null (correto para a FK), falta a declaração explícita de A2 como PRIMARY KEY. NOT NULL apenas garante que o valor não seja nulo, mas não o define como a chave primária da tabela.
(E) Correta: Declara A2 como int not null primary key, o que está correto para a chave primária de E2. B2 é int null, que é um atributo simples. A1 é int null, o que está correto para uma chave estrangeira de um relacionamento não identificador. Finalmente, a restrição FK_X define A1 como chave estrangeira referenciando E1(A1), completando a tradução do diagrama.

Fonte: FGV MPAL 2018 Analista do Ministério Público - Administrador de Banco de Dados (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