Banco de Dados II — 2026.2

Aula 2
Armazenamento

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

Agenda de hoje

Por que página, e não linha?

Ler 8 bytes do disco custa quase o mesmo que ler 8 kilobytes. Por quê?

Arquivo de dados em heap

Heap file, do inglês, é um arquivo em que as linhas ficam sem ordem definida, na primeira posição livre.

Registro de tamanho fixo

Cada coluna ocupa um número fixo de bytes, e cada linha ocupa a soma. Assim a posição de qualquer linha é uma conta, não uma busca.

página 4096 bytes,  registro de 8 bytes  →  512 registros por página

deslocamento(slot) = cabeçalho + slot * 8

linha 3 da página 7 começa no byte:
   7 * 4096 + cabeçalho + 3 * 8

Identificador de linha

O RID, do inglês record identifier, é o par (número da página, número do slot). É o endereço permanente de uma linha.

O que os bancos de verdade fazem

Página com diretório de slots

Slots crescem de uma ponta, dados da outra. Permite linha de tamanho variável.

não faremos

Mapa de bits de nulos

Um bit por coluna diz se o valor está ausente, sem gastar o espaço do campo.

não faremos

Layout por coluna

Guarda cada coluna junta, em vez de cada linha junta. Domina análise de dados.

vira seminário

Tamanho fixo custa espaço e proíbe VARCHAR livre. Ganhamos o semestre inteiro em troca.

Dúvidas?

Próxima: laboratório do M1, leitura e escrita de páginas

📧 gpinto@ufpa.br