Banco de Dados II — 2026.2

Aula 6
Executor

👨‍🏫 Prof. Gustavo Pinto 🏛️ UFPA 📅 22 de outubro de 2026 🕐 7h30 – 9h

Agenda de hoje

O modelo iterador

Cada operador é um objeto com três métodos: abrir, próxima linha, fechar. Um operador puxa linhas do operador abaixo dele.

Filtro(id = 42)
   ↑ next()
VarreduraSequencial(aluno)
   ↑ next()
ArquivoDeDados

A consulta inteira é uma pilha de operadores, e o resultado sai de linha em linha, sem materializar tudo na memória.

Varredura sequencial

Varredura por índice

Seletividade

Índice sempre ajuda?

A regra do minidb

se existe índice na coluna do WHERE
   e o operador é igualdade:
       usar varredura por índice
senão:
       usar varredura sequencial

Um otimizador de verdade estima quantas linhas voltam e compara custos. Isso é tema de seminário, não de módulo.

Dúvidas?

Próxima: laboratório do M5, os operadores

📧 gpinto@ufpa.br