Comando
Um tribunal de contas implementou um data lake para auditoria contínua de contratos administrativos, utilizando ingestão incremental via CDC (change data capture). Os dados são armazenados na tabela contratos_cdc, que contém múltiplas versões de registros ao longo do tempo. A tabela contratos_cdc tem as colunas a seguir.
• id_contrato (identificador do contrato);
• valor (valor do contrato);
• status (situação do contrato);
• data_atualizacao (timestamp da alteração). Um auditor do referido tribunal deseja realizar a seguinte consulta SQL.
1 SELECT id_contrato, valor, status
2 FROM (
3 SELECT *,
4 ROW_NUMBER() OVER (
5 PARTITION BY id_contrato
6 ORDER BY data_atualizacao DESC
7 ) AS rn
8 FROM contratos_cdc
9 ) t
10 WHERE rn = 1
A partir das informações apresentadas e do trecho de código SQL precedente, julgue os itens a seguir.
No que concerne à manipulação de dados em larga escala e à organização de consultas SQL, a utilização da CTE (common table expression) apresentada a seguir para encapsular a lógica de ranking é semanticamente equivalente à consulta SQL apresentada, pois ambas as abordagens produzem o mesmo resultado lógico ao isolar a versão mais recente de cada contrato, sob a premissa de que a coluna data_atualizacao permita uma ordenação unívoca para cada id_contrato.