A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Organização básica de arquivos

Apresentações semelhantes


Apresentação em tema: "Organização básica de arquivos"— Transcrição da apresentação:

1 Organização básica de arquivos
A organização de arquivo trata do arranjo ou a forma de distribuição dos registros dentro do arquivo, objetivando agilizar o processo de armazenamento e recuperação de dados. Um arquivo é organizado (logicamente), como uma seqüência de registros que são mapeados nos dispositivos de memória auxiliar.

2 Organização básica de arquivos
Ch – Chave E - Endereço - Tabela ou Entidade: - Registro: - Campo: - Chave Primária: nuno

3 Organização básica de arquivos
Os registros podem assumir tamanhos fixos e variáveis: Tamanho fixo – todos os registros do arquivo possuem o mesmo comprimento em bytes; Tamanho variável – o tamanho dos registros pode variar. Podem existir ‘campos’ que informem o tamanho do registro (ou dos campos do registro) ou ‘marcas’ (símbolos especiais - % $ # !) que separem cada campo e cada registro.

4 Registro de tamanho variável
Registro com campos de tamanho variável Registros com n° variável de ocorrências: A B C D E F01 F02 F03 A – Código B – Nome C – Tamanho do campo D D – Endereço E – Ocorrências de F (1 a 10) F – Disciplinas 01 Pascal 02 Inglês 03 Organização de Dados Registro com ‘marcadores’ entre campos (e separando os próprios registros): A # B D E F01 F02 & ... # – ‘Marca’ que indica fim de Campo & – ‘Marca’ que indica fim de Registro

5 Formas básicas de organização de arquivos
Seqüencial Seqüencial indexada Indexada Direta

6 Organização seqüencial – operações
Acesso (leitura) a um registro: O argumento de pesquisa é comparado com cada registro lido, de forma seqüencial. Inclusão de um registro Deve ser gerado um novo arquivo a partir do atual, intercalando o registo novo com base na chave primária. Inclusão

7 Exemplo: Inclusão em Arquivo Seqüencial
com Chave de Ordenação 0015 Início 0001 0002 0005 0012 0014 0016 0018 0028 0045 0050 0056

8 Exemplo: Inclusão em Arquivo Seqüencial
com Chave de Ordenação Início 0001 0002 0005 0012 0014 Início 0001 0002 0005 0012 0014 0016 0018 0028 0045 0050 0056

9 Exemplo: Inclusão em Arquivo Seqüencial
com Chave de Ordenação Início 0001 0002 0005 0012 0014 Início 0001 0002 0005 0012 0014 0016 0018 0028 0045 0050 0056 0015

10 Exemplo: Inclusão em Arquivo Seqüencial
com Chave de Ordenação Início 0001 0002 0005 0012 0014 Início 0001 0002 0005 0012 0014 0016 0018 0028 0045 0050 0056 0015 0016 0018 0028 0045 0050 0056

11 Organização seqüencial – operações
Exclusão de um registro Como na inclusão, deve ser gerado um novo arquivo a partir do atual, eliminado o registro desejado. Outra forma, para arquivos em disco, é indicar em um campo adicional o estado de registro excluído (um campo para “marcar” a exclusão). Exclusão

12 Organização seqüencial – operações
Alteração de um registro Para arquivos em disco, o registro pode ser recuperado, alterado e regravado na mesma posição (desde que os campos sejam de mesmo tamanho – para registros com campos de tamanhos variáveis, é provável que seja necessário uma reorganização de vários registros). Alteração Questionário 1

13 Indexação* Podemos usar um Campo de uma estrutura de registros para “identificar” esse registro. Chamamos a este campo de Chave. Índice é uma estrutura de dados que mantém o conjunto de Chaves de um arquivo e o endereço respectivo do registro de cada Chave. Índice Primário (ou Indexação por Chave Primária) é um índice único que organiza o arquivo através do campo considerado “mais importante”. Ex.: “funcionário” por Código. Índice Secundário (ou Indexação por Chave Secundária) é um índice que organiza o arquivo referenciando outro campo ou combinação de campos. Ex.: Indexamos “empregado” também por nome. Então, nome é um índice secundário. *Índice: seção de uma obra, com indicação de páginas; entidade destinada a controlar e atualizar a ordem seqüencial da informação armazenada no Banco de Dados associado. (Dicionário Aurélio).

14 Arquivos Seqüenciais Indexados: Características
Arquivo ordenado por Chave primária. Tabela de índices é usada para acessar áreas do arquivo. Originalmente essas tabelas ficavam no começo do próprio arquivo. Tabela de índices pode ter vários níveis. Inserções são realizadas na área de overflow ou área de espaço livre. Deleções somente são marcadas. Atualização periódica através de cópia do arquivo.

15 Arquivos Seqüenciais Indexados: Características
Exemplo mais típico: ISAM (IBM). Indexed Sequential Access Method Mais utilizado método de gerência de arquivos durante muito tempo. Suportado por linguagens de programação como COBOL. Algoritmos ainda suportados (de forma idêntica ou atualizados) em SGBDs (Sistema Gerenciador de Banco de Dados) atuais. Existia como Pacote de Software disponível inicialmente só para mainframes (Ex.: IBM 4341 e linha VMS). Mais tarde passou a existir também para PCs sob DOS e Unix.

16 Organização seqüencial INDEXADA
O arquivo seqüencial indexado é formado por um arquivo seqüencial e por um índice; Contém três áreas distintas: Área de índices Área de dados Área de extensão (overflow) Índices Dados Extensão

17 Índices Um índice é formado pela chave e pelo endereço do registro;
Cada entrada no índice corresponde a um grupo de registros (índice esparso) ou, uma entrada para cada registro (índice denso); Os índices podem ser estruturados em até três níveis.

18 Área de Extensão Na criação do arquivo seqüencial indexado os registros são armazenados na área de dados; Problema: Os novos registros incluídos no arquivo, a fim de se manterem na ordem seqüencial, implicaria que registros com valores de chaves mais altos do que o novo registro incluído precisariam ser deslocados.

19 Área de Extensão Solução: Os novos registros são inseridos na área de extensão (Overflow); O registro da Área de Dados exatamente anterior ao novo registro incluído (na Área de Extensão) “aponta” para o endereço físico deste novo registro. Este registro por sua vez, também aponta para o próximo registro da seqüência.

20 Área de Extensão: Re-indexação
De tempos em tempos, é indicado que o arquivo seja reorganizado e re-indexado. Nesta operação, todos os registros da Área de Extensão são copiados e inseridos fisicamente na ordem seqüencial correta, na Área de Dados, deixando então a Área de Extensão vazia (até que novas inclusões ocorram).

21 Organização seqüencial indexada – operações
Acesso a uma registro Os registros podem ser recuperados de forma seqüencial e aleatoriamente. Exclusão de um registro A exclusão de um registro pode ser implementada pela colocação de uma marca “excluído” em um campo adicional do registro. Programa Seqüencial indexado

22 Organização seqüencial indexada – operações
Alteração de um registro Se a alteração não envolver a chave do registro e não modificar o tamanho, seus campos podem ser alterados e o registro gravado novamente na mesma posição. Programa Seqüencial indexado

23 Organização seqüencial indexada – operações
Inclusão de um registro O registro será incluído na Área de Extensão, será ‘apontado’ pelo registro de Chave imediatamente anterior e, por sua vez, apontará para o registro de Chave imediatamente seguinte. Programa Seqüencial indexado

24 Reorganização do arquivo seqüencial indexado
O tempo de acesso para recuperar um registro da Área de Extensão é bem maior do que o tempo para ler um registro da Área de Dados; Em outras palavras, o desempenho vai diminuindo à medida que o arquivo cresce. No entanto, essa degeneração pode ser remediada através de reorganizações do arquivo. Os novos registros inseridos no arquivo são armazenados na Área de Dados: Provavelmente aumentando o número de entradas nos arquivos de índice.


Carregar ppt "Organização básica de arquivos"

Apresentações semelhantes


Anúncios Google