34
1 Cap. 2 - Armazenamento de Dados: Discos e Ficheiros Abel J.P. Gomes Bibliografia: 1. R. Ramakrishnan and J. Gehrke. “Database Management Systems”. Addison-Wesley, 2003 (cap.9). “Yea, from the table of my memory I’ll wipe away all trivial fond records.” -- Shakespeare, Hamlet

Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

Embed Size (px)

Citation preview

Page 1: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

1

Cap. 2 - Armazenamento deDados: Discos e Ficheiros

Abel J.P. Gomes

Bibliografia:1. R. Ramakrishnan and J. Gehrke. “Database Management Systems”. Addison-Wesley,

2003 (cap.9).

“Yea, from the table of my memoryI’ll wipe away all trivial fond records.”

-- Shakespeare, Hamlet

Page 2: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

2

1. Objectivos

Que tipos de memória existem num computador?Que tipos de memória existem num computador? Quais são as características físicas dos discos rígidos eQuais são as características físicas dos discos rígidos e

das cassetes (tapes), e como que afectam o design dedas cassetes (tapes), e como que afectam o design desistemas de bases de dados?sistemas de bases de dados?

O que são os sistemas RAID de memória de massa, eO que são os sistemas RAID de memória de massa, equais são as suas vantagens?quais são as suas vantagens?

Como é que um DBMS regista o espaço em disco?Como é que um DBMS regista o espaço em disco?Como é que um DBMS acede e modifica os dados emComo é que um DBMS acede e modifica os dados emdisco? Qual é o significado duma página enquantodisco? Qual é o significado duma página enquantounidade de armazenamento e transferência de dados?unidade de armazenamento e transferência de dados?

Como é que um DBMS cria e mantém ficheiros deComo é que um DBMS cria e mantém ficheiros deregistos (records)? Como é que os registos estãoregistos (records)? Como é que os registos estãoorganizados em páginas, e como estão as páginasorganizados em páginas, e como estão as páginasorganizadas dentro dum ficheiro?organizadas dentro dum ficheiro?

Page 3: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

3

2. Estrutura Simplificada dum DBMS

Tipicamente, um RDBMStem uma arquitecturaestratificada.

A figura ao lado nãomostra as componentesde controlo deconcorrência erecuperação a falhas.

Cada sistema tem assuas própriasparticularidades.

O livro referido mostrauma descrição maisdetalhada.

Como será com o MSSQL Server?

Optimização e Execução de Inquirições

Operadores Relacionais

Ficheiros e Métodos de AcessoGestão de Buffers

Gestão de Espaço em Disco

DB

Page 4: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

4

3. Discos e Ficheiros

Um DBMS salvaguardainformação em discos. No mundo da electrónica, os

discos são um anacronismomecânico!

Este facto tem grandesimplicações no design dumDBMS! READ: transferênca de dados

do disco para a memóriaprincipal (RAM).

WRITE: transferência dedados da RAM para o disco.

Ambas são operações decusto elevado em termos detempo e espaço em memória,de modo que devemplaneadas cuidadosamente!

Optimização e Execução de Inquirições

Operadores Relacionais

Ficheiros e Métodos de AcessoGestão de Buffers

Gestão de Espaço em Disco

DB

Page 5: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

5

3.1 Porque é que não se salvaguarda tudoem memória?

Custos muito elevados.Para ~$1000, CityDesk Ltd.vender-nos-á ou ~10GB deRAM ou 1.5TB de disco.

Memória principal é volátil.Queremos que os dadossejam salvaguardados entreoperações de execução.(Obviamente!)

Optimização e Execução de Inquirições

Operadores Relacionais

Ficheiros e Métodos de AcessoGestão de Buffers

Gestão de Espaço em Disco

DB

Page 6: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

6

4. Hierarquia de Memórias

Memória principal (RAM)para os dados actualmenteem uso.

Disco para a base de dadosprincipal (memóriasecundária).

Cassetes (tapes) paraarquivar versões antigasdos dados (memóriaterciária).

Registos

Memória Cache

Memória Principal

Disco Electrónico

Disco Magnético

Disco Óptico

Cassete Magnética Maior,Mais Lenta

Mais Pequena, Mais Rápida

Page 7: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

7

5. Disco

Dispositivo de memóriasecundária de eleição.

Principal vantagemrelativamente àscassetes: acessoaleatório vs. sequencial.

Dados são armazenados edevolvidos em unidadeschamadas blocos de discoor páginas.

Ao contrário da RAM, otempo para devolver umbloco dum disco variacom a sua localização emdisco, o que tem grandeimpacto no desempenhodum DBMS. Hard disk with 3 plates and 6 R/W heads

Hard diskinside

Page 8: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

8

5.1 Componentes dum disco

Os pratos giram (porexemplo, 120 rps).

A agulha move-se paradentro ou para fora demodo a posicionar acabeça sobre a pistadesejada. As pistasdebaixo das cabeçasformam um cilindro(imaginário!).

Só uma cabeçalê/escreve em cadainstante.

Tamanho do bloco émúltiplo do tamanho dosector (que é fixo).

Disco com 3 pratos e 6 cabeças R/W

sector

pista circular

Page 9: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

9

5.2 Acesso a uma página em disco

Tempo de acesso (read/write) a um bloco em disco: tempo de procura (tempo que leva a mover agulhas

para posicionar cabeça sobre a pista) latência rotacional (tempo de espera que o bloco/disco

rode sob a cabeça) tempo de transferência (tempo real que leva a mover

os dados para/de a superfície do disco) Tempo de procura e latência rotacional são

dominantes no tempo de acesso total. tempo de procura varia entre 0.3 e 10msec latência rotacional varia entre 0 e 4msec taxa de transferência anda à volta de.08msec per 8K

block Chave para baixar o custo de I/O: reduzir os tempos

de procura/rotação! Soluções de hardware vs.software?

Page 10: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

10

5.3 Organização das páginas em disco

O conceito de bloco `Next’ : blocos na mesma pista, seguidos por blocos no mesmo cilindro, seguidos por blocos no cilindro adjacente

Blocos num ficheiro devem ser organizadossequencialmente no disco (via `next’), paraminimizar a latência rotacional e de procura.

No caso dum escrutínio (scan) sequencial, pré-pesquisa de várias páginas ao mesmo tempo é umagrande vitória!

Page 11: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

11

6. Gestão de Espaço em Disco

A camada mais baixa dum DBMS faz a gestão de espaçoem disco (quer use o sistema de ficheiros do sistemaoperativo ou não?).

As camadas ou níveis mais elevados invocam esta camadapara: alocar/desalocar uma página ler/escrever uma página

Melhor se um pedido de uma sequência de páginas ésatisfeita pelas páginas armazenadas sequencialmente nodisco! Responsabilidade do gestor de espaço em disco. Níveis superiores não sabem como isto é feito, ou como o

espaço livre é gerido. Embora eles possam assumir acesso sequencial a ficheiros!

− Daí que o gestor de espaço em disco deva fazer um trabalhodecente.

Page 12: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

12

De Volta ao Contexto

Optimização e Execução de Inquirições

Operadores Relacionais

Ficheiros e Métodos de AcessoGestão de Buffers

Gestão de Espaço em Disco

DB

Page 13: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

13

6. Gestão de Buffers num DBMS

Dados têm deestar em RAMpara que umDBMS operesobre eles!

Gestor de buffersoculta o facto deque nem todos osdados estão emRAM. Memória RAM

DB

Disco selecção da frameditada pelapolítica desubstituição

BUFFER POOL

freeframe

diskpage

Pedidos de Páginas vindos de Níveis Superiores

Page 14: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

14

6.1 Quando uma página é pedida…

Dados têm de estar em RAM para que o DBMS operesobre eles!

Tabela de informação da buffer pool contém:<frame#, pageid, pin_count, dirty>

Se página pedida não está na pool: Seleciona uma frame para substituição.

Só páginas não-afixadas (un-pinned) são candidatas! Se frame está “dirty”, escreva-a para o disco Ler página pedida do disco para a frame escolhida

Afixa (pin) página e retorna o seu endereço.

Se os pedidos podem ser previstos (p.ex. escrutínios sequenciais)várias páginas podem pré-pesquisadas duma vez só!

Page 15: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

15

6.2 Algo mais sobre gestão de buffers…

Solicitador duma página tem eventualmente de desafixá-la (un-pinned), e indicar se a página foi modificada: dirty bit é usado para isto.

Uma página na pool pode ser pedida várias vezes, um pin count é usado. Para afixar (pin) uma página, pin_count++ Uma página é candidata a substituição sse pin count == 0

(“unpinned”)

Controlo e recuperação de disrupção (crash control andrecovery) pode envolver I/O adicional quando uma frameé escolhida para substituição. protocolo Write-Ahead Log (WAL); detalhes mais tarde!

Page 16: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

16

7. Políticas de Substituição nos Buffers

Uma frame é seleccionada para substituição combase numa política de substituição: Least recently used (LRU) Most recently used (MRU) Clock etc.

A política pode ter um enorme impacto no # deI/O’s; depende do padrão de acesso.

Page 17: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

17

7.1 Política de substituição LRU

Least Recently Used (LRU) para cada página na buffer pool, registar o tempo da

última des-afixação (unpinned) substituir a frame com o tempo mais antigo política muito comum: intuitiva e simples

Funciona bem para acessos repetidos a páginaspopulares

Problemas? Problema: Inundação Sequencial (sequential flooding)

LRU + varrimentos sequenciais repetidos. # buffer frames < # pages in file significa que cada

pedido duma página provoca uma operação de I/O. Ideia: MRU é melhor neste cenário?

Page 18: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

18

7.2 Política de substituição ‘Clock’

Uma aproximação à LRU

Dispõe as frames num ciclo, armazena um referencebit per frame pode ser visto como um 2nd chance bit

Quando pin count se reduz a 0, activa reference bit

Quando substituição é necessáriado for each page in cycle { if (pincount == 0 && ref bit is on)

turn off ref bit; else if (pincount == 0 && ref bit is off)

choose this page for replacement;} until a page is chosen;

Page 19: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

19

8. DBMS versus Sistema de Ficheiros do OS

OS faz gestão de buffers & espaço em disco: porque éque não deixamos o OS fazer estas tarefas?

Algumas limitações, p.ex. a memória virtual do OSnão tem uma gestão tão fina das páginas.

Gestão de buffers num DBMS requer a capacidadepara: afixar uma página na buffer pool, forçar uma

página para o disco & ordenar operações de escrita(importante para implementar controlo erecuperação de disrupção)

ajustar política de substituição, and pré-pesquisarpáginas com base nos padrões de acesso emoperações típicas de BD.

Page 20: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

20

De Volta ao Contexto

Optimização e Execução de Inquirições

Operadores Relacionais

Ficheiros e Métodos de AcessoGestão de Buffers

Gestão de Espaço em Disco

DB

Page 21: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

21

9. Ficheiros de Registos (records)

Blocos constituem a interface para I/O, mas…

As camadas superiores do DBMS operam sobreregistos e ficheiros de registos.

FICHEIRO: Uma colecção de páginas, cada umacontendo uma colecção de registos. Deve suportaroperações de: inserir/apagar/modificar registos pesquisar um registo particular (através do record id) escandir (scan) todos os registos (possivelmente com

algumas condições sobre os registos a ser devolvidos)

Page 22: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

22

9.1 Ficheiros (heap) não-ordenados

A estrutura mais simples dum ficheiro é aquela quecontém os registos sem qualquer ordem em particular.Estes ficheiros são conhecidos por heap files.

Quando o ficheiro se dilata ou contrai em tamanho,páginas em disco são alocadas e des-alocadas.

Para suportar operações ao nível dos registos, temosde: registar as páginas num ficheiro registar o espaço livre em páginas registar os registos numa página

Existem muitas alternativas para registar isto. Vamos considerar 2

Page 23: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

23

9.2 Heap file implementado como uma lista

O header page id e o heap file name têm de serarmazenados algures. “catálogo” da base de dados

Cada página contém 2 ‘ponteiros’ + dados.

HeaderPage

DataPage

DataPage

DataPage

DataPage

DataPage

DataPage Pages with

Free Space

Full Pages

Page 24: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

24

9.3 Heap file implementado como umadirectoria de páginas

O verbete (entry) para uma página pode incluir onúmero de bytes livres na página.

A directoria é uma colecção de páginas; aimplementação por lista ligada é só uma alternativa. Muita mais pequena que a lista ligada de todas as

páginas HF!

DataPage 1

DataPage 2

DataPage N

headerpage

DIRECTORY

Page 25: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

25

9.4 Índices (uma antevisão furtiva)

Um heap file permite-nos devolver registos: pela especificação do rid, ou pelo escrutínio sequencial de todos os registos

Às vezes, nós queremos registos que são devolvidospor especificação dos valores num ou mais campos,p.ex. Encontrar todos os estudantes no DI Encontrar todos os estudantes com nota superior a 10

Índices são estruturas de ficheiros que nos permitemefectuar inquirições baseadas-em-valor duma formaeficiente.

Page 26: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

26

10. Formatos de Páginas

Basicamente, temos 2 formatos:

registos de tamanho fixo

registos de tamanho variável

Page 27: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

27

10.1 Formato de registos com tamanho fixo

Informação acerca dos tipos dos campos do registoé a mesma para todos os registos num ficheiro;armazenada nos catálogos do sistema.

Encontrar o i-ésimo campo faz-se por viaaritmética.

base address (B)

L1 L2 L3 L4

F1 F2 F3 F4

address = B+L1+L2

Fi = field iLi = length of field i

Page 28: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

28

10.2 Formato de registos com tamanhovariável

Dois formatos alternativos (#fields é fixo), como seilustra em baixo.

A segunda alternativa oferece acesso directo ao i-ésimo campo (field), armazenamento eficiente denulls (valor especial para don’t know); pequenasobrecarga de directorias.

$ F3F1 F2 F4$ $ $Fields delimited byspecial symbol $

F2 F3F1 F4Array of field offsets

Page 29: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

29

10.3 Formato de Páginas:registos de tamanho fixo

Record id = <page id, slot #>. Na primeira alternativa,quando se apaga um registo, move-se o último registo parao slot entretanto vago, o que altera o seu rid; isto pode nãoser aceitável para referências externas.

Slot 1Slot 2

Slot N

. . . . . .

N M10. . .

M ... 3 2 1PACKED UNPACKED, BITMAP

Slot 1Slot 2

Slot N

FreeSpace

Slot M

11

number of records

numberof slots

Page 30: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

30

10.4 Formato de Páginas:registos de tamanho variável

Pode mover registos sem alterar o rid; assim,também é atractivo para registos de tamanho fixo.

Page irid = (i,N)

rid = (i,2)

Rid = (i,1)

Pointer to startof free space

SLOT DIRECTORY

N . . . 2 120 16 24 N

# slots

FREE SPACE

DATA AREA

Offset of recordfrom start ofdata area

Page 31: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

31

11. Catálogos do Sistema

Para cada relação: nome, localização do ficheiro, estrutura do ficheiro (p.ex.

heap file) nome e tipo de cada atributo nome de cada índice restrições de integridade

Para cada índice: estrutura (p.ex. B+ tree) e campos-chave de pesquisa

Para cada vista: nome e definição

+ estatística, autorização, tamanho da buffer pool, etc. Catálogos são eles próprios armazenados como

relações!

Page 32: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

32

11.1 Exemplo

Attr_Cat(attr_name, rel_name, type, position)

attr_name rel_name type position

attr_name Attribute_Cat string 1

rel_name Attribute_Cat string 2

type Attribute_Cat string 3

position Attribute_Cat integer 4

sid Students string 1

name Students string 2

login Students string 3

age Students integer 4

gpa Students real 5

fid Faculty string 1

fname Faculty string 2

sal Faculty real 3

Page 33: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

33

Sumário

Discos fornecem memória barata e não-volátil. Acesso aleatório, mas o custo depende da localização da página

em disco; importante para organizar dados sequencialmente eminimizar os atrasos de procura e rotação do disco.

Gestor de buffers carrega páginas em RAM. Uma página fica em RAM até ser libertada pelo solicitador. Escrita para disco quando uma frame é seleccionada para

substituição (o que acontece às vezes após solicitador libertar apágina).

Escolha da frame baseia-se na política de substituição. Tenta pré-pesquisar várias páginas duma só vez.

DBMS vs. Suporte de Ficheiros do OS DBMS precisa de funcionalidades que a maioria do OS’s não

oferecem, p.ex. forçar a ida duma página para disco, controlar aordem de operações de escrita em disco, capacidade decontrolar pré-pesquisa e política de substituição baseada empadrões de acesso previsíveis, etc.

Page 34: Cap. 2 - Armazenamento de Dados: Discos e Ficheirosagomes/bd2-2008-09/teoricas/02-armazenamento.pdf · DBMS versus Sistema de Ficheiros do OS OS faz gestão de buffers & espaço em

34

Sumário

Formato de registos de tamanho variável comdirectoria de offsets de campos suporta acesso directoao i-ésimo campo e valores nulos.

Formato de entalhe (slotted) de páginas suportaregistos de tamanho variável; este formato permitemover os registos na página.

Camada de ficheiros toma nota das páginas numficheiro e suporta abstracção duma colecção deregistos. Páginas com espaço livre identificadas pela utilização

duma lista ligada ou estrutura de directorias. Índices suportam devolução eficiente de registos com

base em valores de alguns campos. Relações do catálogo armazenam informação acerca

de relações, índices e vistas (Informação que é comuma todos os registos numa dada colecção.)

FIM DE CAPÍTULO