Questão FC670710
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.
Projeto e Modelagem de Dados
QUADRIX · 2025
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.
Caso um médico seja removido da tabela Medicos, o sistema lançará um erro de violação de integridade referencial, pois a tabela Participacoes possui uma chave estrangeira que impede a remoção de médicos que tenham participado de congressos.
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
A afirmação está errada porque a declaração da chave estrangeira em Participacoes inclui ON DELETE CASCADE. Isso faz com que, ao excluir um registro na tabela_pai (Medicos), o SGBD apague automaticamente as linhas dependentes na tabela_filho (Participacoes) que referenciam esse médico, evitando violação de integridade referencial.
Na prática o banco realiza a remoção das linhas em Participacoes que contenham o mesmo id_medico antes de excluir o registro em Medicos, mantendo as restrições consistentes. Portanto não haverá erro de violação por causa dessa chave estrangeira.
Somente ocorreria erro se a FK estivesse definida com comportamento restritivo (por exemplo NO ACTION ou RESTRICT) ou se existissem triggers/regras adicionais que impedissem a exclusão.
Observação técnica: o esquema apresentado tem pequenos problemas de sintaxe no CHECK de papel (aspas tipográficas e falta de uma aspa), que podem causar erro na criação da tabela, mas isso é distinto do comportamento de exclusão tratado acima.
Conteúdo do catálogo FC Concursos · Atualizado em