Considere a seguinte situação hipotética: Uma universidade ...
Uma universidade utiliza um sistema acadêmico para gerenciar informações de estudantes, dados cadastrais de pessoas e emissão de cartões institucionais. Um analista de dados precisa identificar estudantes ativos que ainda não possuem cartão institucional emitido.
Para isso, foi utilizada a seguinte consulta SQL em um banco de dados MySQL:
Considere ainda que o analista avalia o seguinte plano de execução simplificado obtido por meio do comando EXPLAIN:
Com base na consulta apresentada, na semântica das operações de junção e em aspectos de otimização de consultas SQL, analise as afirmações a seguir.
I. A consulta apresentada pode ser reescrita de forma logicamente equivalente, utilizando uma subconsulta com NOT EXISTS para identificar estudantes que não possuem registros correspondentes na tabela cartoes_acesso.
II. No plano de execução apresentado, o tipo ALL, na tabela estudantes, indica que o otimizador está realizando uma varredura completa da tabela, o que pode ocorrer quando não há índice adequado para a condição de busca utilizada.
III. Caso a condição ca.id_cartao IS NULL fosse movida da cláusula WHERE para a cláusula 0N do LEFT JOIN, o resultado da consulta permaneceria o mesmo.
IV. A consulta utiliza um padrão conhecido como anti-join, frequentemente empregado para localizar, em uma tabela, registros que não possuem correspondência em outra tabela.
Assinale a alternativa CORRETA.