Organização básica de arquivos

Slides:



Advertisements
Apresentações semelhantes
INE5408 Estruturas de Dados Gerência de Arquivos.
Advertisements

Organização de Arquivos e Indexação
HARDWARE (Parte II). 2 Hardware – Memória  Componente de um sistema de computação cuja função é armazenar informações que são (ou serão) manipuladas.
Linguagem de Programação – Aula 03 Prof. Me. Ronnison Reges Vidal.
Banco de Dados I Banco de Dados I Professora: Sílvia C. Matos Soares Análise de Sistemas.
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Variáveis e Atribuições.
Diagrama de Use Cases. Objetivo  O Diagrama de Use Cases tem o objetivo de auxiliar a comunicação entre os analistas e o cliente.
Introdução à Computação para Engenharia MAC2166
Gerência de Arquivos.
XVIII Escola de Verão IAG/USP Python Contêiner Marcelo Bianchi
Outros sistemas de numeração
Banco de Dados I Modelagem Relacional
Márcio Soussa Estrutura de Dados Márcio Soussa
Diagrama de Use Cases.
Fundamentos de Programação 1
Produção Institucional Produções Importadas da
Comandos da Linguagem C
O que é Fluxograma? Conceito e definição da palavra
Medidas de Dispersão.
UMA BREVE APRESENTAÇÃO
Disciplina: Manutenção e organização de Computadores
O que é um banco de dados? Antes precisamos entender o que são dados.
GESTÃO DE MOVIMENTAÇÃO ARMAZENAMENTO DE MATERIAIS
Prof. Wellington Franco
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
A.L. 1.0│Medição em Química.
Prof. Wellington Franco Manipulação de Arquivos em C
Estruturas de Dados - T.332 Capítulo 11 Gerenciamento de Arquivos
SISTEMAS OPERACIONAIS
Prof: Márcio Soussa Centro Universitário Jorge Amado
Arquitetura de Computadores
FUNDAMENTO DE PROGRAMAÇÃO
IP – Repetições Prof. Eduardo Falcão.
INE 5201 – INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO
Modelos de Banco de Dados
CES-11 ALGORITMOS E ESTRUTURAS DE DADOS
Algoritmos e Programação MC102
Representação dos dados
Prof. Msc. Diovani Milhorim
prof. Msc. Diovani Milhorim
Arranjo Físico Celular
Análise Sintática Botton Up Diomara M. R. Barros
, operações, intervalos e desigualdades.
A.L. 1.0│Medição em Química.
Software.
Estruturas de Dados aula 4
Sistemas Operacionais
Complexidade de Algoritmos
Linguagem PASCAL Tipos Estruturados
Produção Institucional Produções Importadas da
EDA - Prof. Paulemir Campos
Árvores Binárias de Pesquisa e Balanceamento usando Árvores AVL
Produção Institucional Produções Importadas da
Instalação e Manutenção de Computadores Técnico em Informática MAI1
Filas Prof. Kariston Pereira
MEMORIAS RAUL DIAZ ROSAS.
Mestrado Profissional em Física Médica
PL/SQL Triggers e Procedures
INSTITUTO DE PESQUISAS ENERGÉTICAS E NUCLEARES IPEN–CNEN/SP
Diagrama de Atividades
Filas.
Arrays de caracteres: strings
ALGORITMOS.
Prof. Rafael Mesquita Listas Encadeadas Prof. Rafael Mesquita
Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2018 Intervalo de Confiança Camilo Daleles Rennó
Técnicas de análise da conjuntura
INE5408/5609 Estruturas de Dados
Aula 9 Professores: Conteúdo: Dante Corbucci Filho
Sistemas de Informação
Transcrição da apresentação:

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.

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

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.

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

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

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

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

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

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

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

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

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

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).

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.

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.

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

Í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.

Á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.

Á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.

Á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).

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

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

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

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.