Pular para o conteúdo principal

Questão de Banco de Dados — Conceitos e Fundamentos de Modelo Relacional — Quadrix 2025

Banco de DadosConceitos e Fundamentos de Modelo Relacional
Código
qa698958
Banca
Quadrix
Órgão
CRM MS
Ano
2025
Cargo
Ana ( )
O Hospital Campo Grande do Norte deseja gerenciar a participação de seus médicos em congressos médicos. Para isso, um banco de dados relacional foi projetado com as tabelas seguir.   CREATE TABLE Medicos (        id_medico INT PRIMARY KEY,        nome VARCHAR(100) NOT NULL,        especialidade VARCHAR(50) NOT NULL ); CREATE TABLE Congressos (        id_congresso INT PRIMARY KEY,        nome VARCHAR(100) NOT NULL,        local VARCHAR(100) NOT NULL,        data_inicio DATE NOT NULL,        data_fim DATE NOT NULL CHECK (data_fim > = data_inicio) ); CREATE TABLE Participacoes (         id_medico INT,         id_congresso INT,         papel VARCHAR(50) CHECK (papel IN (‘Palestrante’, ‘Ouvinte’, ‘Organizador)),         data_inscricao TIMESTAMP DEFAULT CURRENT_TIMESTAMP,         PRIMARY KEY (id_medico, id_congresso),         FOREIGN KEY (id_medico) REFERENCES Medicos(id_medico) ON DELETE CASCADE,        FOREIGN KEY (id_congresso) REFERENCES Congressos(id_congresso) ON DELETE CASCADE         ); Além disso, para facilitar consultas, foi criada a seguinte view.   Com base nessa situação hipotética, julgue o item a seguir.   A tabela Participacoes implementa uma relação N:N (muitos para muitos) entre as tabelas Medicos e Congressos, utilizando uma chave primária composta (id_medico, id_congresso), o que garante que um mesmo médico não possa inscrever‑se mais de uma vez no mesmo congresso.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Modelo Relacional: Relacionamento N:N e Chave Primária Composta

Gabarito: CERTO (letra C). A tabela Participacoes implementa corretamente um relacionamento muitos-para-muitos (N:N) entre Medicos e Congressos, pois utiliza uma chave primária composta (id_medico, id_congresso), que garante a unicidade da combinação e impede que um mesmo médico se inscreva mais de uma vez no mesmo congresso. Essa é a essência do modelo relacional: a chave primária composta assegura a integridade da entidade e a cardinalidade do relacionamento.

No modelo relacional, um relacionamento N:N (muitos para muitos) entre duas entidades não pode ser representado diretamente com apenas duas tabelas, pois isso geraria redundância e ambiguidade. A solução clássica é criar uma tabela de ligação (ou tabela associativa), que contém as chaves estrangeiras das duas tabelas originais. Essa tabela de ligação é exatamente o que Participacoes representa: ela referencia Medicos e Congressos por meio de chaves estrangeiras e possui uma chave primária composta pelos dois identificadores.

A chave primária composta (id_medico, id_congresso) é o coração da questão. Ela garante que cada par (médico, congresso) seja único, ou seja, não pode haver duas linhas com o mesmo id_medico e o mesmo id_congresso. Isso impede, na prática, que um médico se inscreva duas vezes no mesmo congresso. Se a chave primária fosse apenas id_medico, um médico só poderia ter uma participação no total, o que seria incorreto. Se fosse apenas id_congresso, um congresso só poderia ter um participante. A combinação dos dois é o que permite a cardinalidade N:N.

Vamos analisar a estrutura da tabela Participacoes:

  • id_medico INT — chave estrangeira que referencia Medicos(id_medico).

  • id_congresso INT — chave estrangeira que referencia Congressos(id_congresso).

  • papel VARCHAR(50) — atributo descritivo da participação.

  • data_inscricao TIMESTAMP — atributo descritivo.

  • PRIMARY KEY (id_medico, id_congresso) — chave primária composta.

  • FOREIGN KEY (id_medico) REFERENCES Medicos(id_medico) ON DELETE CASCADE — integridade referencial.

  • FOREIGN KEY (id_congresso) REFERENCES Congressos(id_congresso) ON DELETE CASCADE — integridade referencial.

A presença da chave primária composta é o que define a cardinalidade N:N. Sem ela, a tabela não teria como garantir a unicidade da combinação e o relacionamento seria mal modelado. O ON DELETE CASCADE é um detalhe adicional que garante que, ao excluir um médico ou um congresso, as participações correspondentes sejam automaticamente removidas, mantendo a consistência dos dados.

A pegadinha que a banca poderia explorar aqui é confundir a cardinalidade do relacionamento com a cardinalidade da chave primária. A chave primária composta não torna o relacionamento 1:1; ela apenas garante a unicidade da combinação. O relacionamento continua sendo N:N, pois um médico pode participar de vários congressos (várias linhas com o mesmo id_medico e diferentes id_congresso) e um congresso pode ter vários médicos (várias linhas com o mesmo id_congresso e diferentes id_medico).

Para fixar o conceito, veja a comparação entre os tipos de relacionamento:

Característica

1:1

1:N

N:N

Tabela de ligação

Opcional

Não

Obrigatória

Chave estrangeira

Em qualquer lado

No lado N

Na tabela de ligação

Chave primária da ligação

Composta (FKs)

Exemplo

Pessoa ↔ CPF

Cliente ↔ Pedido

Médico ↔ Congresso

A tabela Participacoes é o exemplo clássico de tabela de ligação para um relacionamento N:N. Ela não só implementa a cardinalidade correta, mas também carrega atributos próprios da relação (papel, data_inscricao), o que é uma prática comum e recomendada.

Item — ✅ CERTO ⟵ GABARITO

A afirmação está correta. A tabela Participacoes implementa um relacionamento N:N entre Medicos e Congressos porque:

  1. Tabela de ligação: Participacoes é uma tabela associativa que referencia as duas tabelas originais por chaves estrangeiras.

  2. Chave primária composta: PRIMARY KEY (id_medico, id_congresso) garante que cada combinação seja única.

  3. Unicidade: A chave primária composta impede que um mesmo médico se inscreva mais de uma vez no mesmo congresso, pois a duplicação violaria a restrição de integridade da chave primária.

O ON DELETE CASCADE é um detalhe de integridade referencial que não altera a cardinalidade, mas reforça a consistência dos dados. A modelagem está correta e atende ao requisito de gerenciar a participação de médicos em congressos.

Gabarito: letra C (CERTO).

Link permanente: /questoes/qa698958