Questão FC670737
Uma clínica de psicologia mantém um sistema de gerenciamento de pacientes com o modelo de banco de dados relacional simplificado a seguir: • Tabela pacientes (id, nome, data_ nasci
Linguagem SQL
QUADRIX · 2025
Uma clínica de psicologia mantém um sistema de gerenciamento de pacientes com o modelo de banco de dados relacional simplificado a seguir:
• Tabela pacientes (id, nome, data_ nascimento, diagnostico) • Tabela consultas (id, paciente_id, data_ consulta, terapeuta, observacoes)
Um técnico da equipe de TI foi encarregado de executar tarefas de manutenção e análise de dados do banco por meio de comandos básicos de SQL.
Com base nessa situação hipotética, julgue o item a seguir.
O comando DELETE FROM pacientes WHERE nome = ‘João’; remove o paciente com esse nome e todas as suas consultas automaticamente.
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
A afirmação foi julgada ERRADO porque o comando DELETE em pacientes não aciona automaticamente a remoção das linhas em consultas, salvo se houver uma restrição de integridade referencial configurada com ON DELETE CASCADE.
Em bancos relacionais, a ligação entre tabelas é feita por uma foreign key (por exemplo, consultas.paciente_id → pacientes.id). Sem essa foreign key com ação de cascade, duas situações ocorrem: ou o SGBD bloqueia a remoção por violação da restrição, ou a tabela consultas fica com registros órfãos se não houver restrição.
Além disso, usar nome = 'João' pode afetar vários pacientes com o mesmo nome. A prática segura é identificar pelo id e, se desejar exclusão encadeada, criar a foreign key com ON DELETE CASCADE ou primeiro apagar as consultas relacionadas e só depois o paciente.
Conteúdo do catálogo FC Concursos · Atualizado em