Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco...

28
Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC

Transcript of Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco...

Page 1: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

Gerenciamento de Arquivos, Páginas e Registros

AULA 3

Profa. Sandra de Amo

Gerenciamento de Banco de Dados – BCC

Page 2: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 2

Estudaremos nesta aula:

Como localizar páginas em um arquivo ?

Como localizar registros em uma página ?

Como localizar campos em um registro ?

Page 3: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 3

ORDEM DOS ASSUNTOS TRATADOS

ARQUIVO

Página

Registro

Page 4: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 4

Heap Files

Heap Files: Dados não são ordenados Dados são organizados sequencialmente a

medida que são inseridos. Obter todos os dados do arquivo varrer registro

por registro a partir do primeiro. Operações

Create, destroy files Insert, delete, get a record Scan all records

Page 5: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

Gerenciar as páginas no heap file

1.Como encontrar determinada página ?

2.Que página possui espaço livre?

Método 1: Lista ligada de páginas Método 2: Diretório de páginas

04/11/23 5

Page 6: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 6

Lista Ligada de Páginas

Arquivo EndPag1

Alunos 1033

Hospital 5023

Tabela Arquivos- End 1a página

Header Page

Páginas contendo Espaço Livre

Páginas Cheias

1a página do arquivo

Page 7: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

Inserção de novos registros

Gerenciador de arquivos Procura na lista de páginas com espaço livre onde

cabe o novo registro

Caso não encontre: aloca nova página na lista das páginas com espaço livre e insere o registro

Caso a página onde o registro tenha sido inserido fique cheia, insere esta página na lista de páginas cheias e atualiza lista de páginas livres

04/11/23 7

Page 8: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

Deleção de páginas

Caso a deleção de um registro de uma página resulte em uma página vazia:

Caso 1: Página onde estava o registro deletado estava na lista de páginas com espaço vago Gerenciador de arquivos é acionado Página é retirada da lista de páginas vazias: ponteiros que

apontavam para ela e que saiam dela são reajustados.

Caso 2: Página onde estava o registro deletado estava na lista de páginas cheias Gerenciador de arquivos é acionado Página é retirada da lista de páginas cheias: ponteiros que

apontavam para ela e que saiam dela são reajustados.

04/11/23 8

Page 9: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 9

Desvantagens

Maioria das páginas estão na lista das páginas contendo espaço vazio

Registros de tamanho variável

Toda página contém alguns bytes de espaço livre

Inserção de registro requer examinar diversas páginas para encontrar espaço suficiente

Page 10: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 10

Diretório de Páginas

Diretório de Páginas = Lista Ligada

10 40

35

Pg Dados 1

Pg Dados 2

Pg Dados N

HeaderPage

Espaço Livreda Página 1

Arquivo Endpg1DP

Alunos 1033

Hospital 5023

Tabela Arquivos- End 1a páginaDP

Page 11: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 11

Estudaremos nesta aula:

Como localizar páginas em um arquivo ?

Como localizar registros em uma página ?

Como localizar campos em um registro ?

Page 12: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 12

Como os registros são organizados nas páginas

2 50

Identificadorda página

Número do slot

registro

rid

Página = coleção de slots

Slot = espaço físico preenchido por umregistro

rid = identificador do registro (record id)

Page 13: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 13

Como registros são organizados Registros de Tamanho Fixo : 1a alternativa

Registros armazenados nos primeiros N slots N = número de registros Armazenamento consecutivo Quando um registro é deletado : o último registro passa a

ocupar o slot liberado Localização do i-ésimo registro = soma de offsets Inserção de um novo registro = após o último slot ocupado. Todos os slots vazios aparecem juntos no final da página

Problema : se há referência externa ao registro(Ex: solicita-se a localização do rid (3,2))

rid do registro contém o número do slot Como slot muda, o rid também muda

Page 14: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 14

Como registros são organizados: 1a alternativa

N

Slot 1

Slot 2

Slot 3

Slot N

Espaço livre

Número de registros

Informações sobre a página :

Número da página, ponteiro para próxima página,…

Page 15: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 15

Como registros são organizados (2ª alternativa) Registros de Tamanho Fixo : 2a alternativa

Info sobre página

Espaço livreSlot 1

Slot 2

Slot 3

Slot M

M Número de Slots

1 2 3 M

1 0 1 1

Page 16: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 16

Como registros são organizados

Registros de Tamanho Variável

Não se pode dividir a página num número fixo de slots

Quando um novo registro é inserido Encontrar slot vazio onde o registro cabe exatamente

Quando um registro é deletado Mover registros para preencher o « buraco » criado. Todo o espaço livre deve ser contíguo.

Page 17: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 17

Como registros são organizados

A fim de poder mover registros na página de tal modo que seu número de slot não modifique : Cria-se um diretório de slots Neste diretório, a cada slot está associado um

ponteiro e o tamanho do registro. Caso o registro mude de lugar, apenas o

ponteiro do slot correspondente muda no diretório de slots.

Page 18: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 18

Diretório de Slots da Página

200 Número de slots no diretório

1035Ponteiro para o início do

espaço livre na página

(P1, T1)

(P2, T2)

(P200, T200)

1

2

200

Pi = ponteiro para o registro 1

Ti = tamanho do registro 1

Rid = (np, i)

Ti

Page 19: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 Bacharelado em Ciência da Computação - 2004 19

Organização da Página

Página i

Espaço Livre

Área de dados

rid = (i,1)

N24

Comprimento = 24rid = (i,2)

rid = (i,N)

20 16Diretório de slots

12N

Page 20: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 Bacharelado em Ciência da Computação - 2004 20

Deleção de Registros

Registro rid = (5, 3) com tamanho 50 é deletado

Entrada 3 no diretório de slots Outros registros são reorganizadosRegistro (5,4) muda de lugar – seu número de slot 4 não muda !Entrada 4 no diretório de slot muda =

(Newpointer4,T4)Entrada inicial do diretório = novo ponteiro para espaço livreNúmero de slots no diretório = igual ao anterior.

(-1,_)

Slot 3 está vago

Page 21: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 21

Inserção de Registros

Registro R inserido no início do espaço livre

O endereço E onde será inserido R é obtido no diretório de slotsDiretório de slots é atualizado:

Procura-se no diretório de slots por alguma entrada (-1,x) Caso encontre : modifica-se esta entrada

(E, tamanho do registro R) Caso não encontre : acrescenta um novo slot

N+1 = (E, tamanho do registro R) Atualiza endereço do início do espaço livre no diretório de

slots

Page 22: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 22

Estudaremos nesta aula:

Como localizar páginas em um arquivo ?

Como localizar registros em uma página ?

Como localizar campos em um registro ?

Page 23: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 23

Formatos de Registros Processador de consultas «vê » os dados como coleção de

registros. Catálogo do sistema armazena: Número de campos,

tamanho dos campos, tipos dos campos Tamanho fixo

Número de campos fixo Cada campo tem o mesmo comprimento em todos os

registros. Tamanho variável

Número de campos é fixo Alguns campos podem ter tamanhos variáveis em

diferentes registros. Cada registro guarda seu rid (Np, Nslot).

Page 24: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 24

Como localizar um campo em um registro de tamanho fixo

C1 C4C3C2

L2 L3 L4L1

B= endereço do registro Endereço = B + L1 + L2

Ci = campo i

Li = Comprimento do campo i

O tamanho do campo Ci é o mesmo em todos os registros

Page 25: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 25

Como localizar um campo em um registro de tamanho variável

$ $ $$C1 C4C3C2

C1 C3 C4C2

1a alternativa

2a alternativa Registro

Endereço do final do registro

Page 26: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 26

Vantagens e Desvantagens

2a alternativa é melhor:

Acesso direto a cada campo

Maneira clara de se tratar valores nulos – endereços de início e fim são iguais

Também pode tratar registros de tamanho fixo

Page 27: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 27

Como são modificados os campos

Modificação de um campo : Shift nos campos subsequentes

Campo modificado pode não caber na página

Rid do registro = (Np, Nslot)

Page 28: Gerenciamento de Arquivos, Páginas e Registros AULA 3 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.

04/11/23 28

Como são modificados os campos

Registro inteiro pode não caber numa página registro é quebrado em registros menores Cada subregistro tem um ponteiro para o

subregistro subsequente

subregistro Ponteiro para o próximo subregistro