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.
SELECT id_contrato, valor, status
FROM (
SELECT *,
ROW_NUMBER() OVER (
PARTITION BY id_contrato
ORDER BY data_atualizacao DESC
) AS rn
FROM contratos_cdc
) t
WHERE rn = 1
A partir das informações apresentadas e do trecho de código SQL precedente, julgue os itens a seguir.
No contexto de uma arquitetura de inteligência da informação para auditoria de dados, a consulta SQL apresentada utiliza a função de janela ROW_NUMBER() para segmentar os registros por contrato e ordená-los cronologicamente de forma decrescente; essa abordagem é eficaz para identificar a versão mais recente de cada contrato em uma tabela de CDC, sob a condição de que a coluna data_atualizacao tenha granularidade suficiente para garantir uma ordenação unívoca, evitando que registros distintos de um mesmo contrato apresentem o exato mesmo marcador temporal.