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

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

INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 02 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC.

Apresentações semelhantes


Apresentação em tema: "INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 02 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC."— Transcrição da apresentação:

1 INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 02 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

2 Organização de Arquivos Informações em arquivos são, em geral, organizadas logicamente em campos e registros; Entretanto, campos e registros são conceitos lógicos, que não necessariamente correspondem a uma organização física; Dependendo de como a informação é mantida no arquivo, campos lógicos sequer podem ser recuperados.

3 Sequência de bytes (stream) Exemplo: Suponha que desejamos armazenar em um arquivo os nomes e endereços de várias pessoas; Suponha que decidimos representar os dados como uma sequência de bytes (sem delimitadores, contadores, etc.); AmesJohn123 MapleStillwaterOK74075MasonAlan90 EastgateAdaOK74820

4 Sequência de bytes (stream) Uma vez escritas as informações, não existe como recuperar porções individuais (nome ou endereço); Desta forma, perde-se a integridade das unidades fundamentais de organização dos dados: Os dados são agregados de caracteres com significado próprio; Tais agregados são chamados campos (fields).

5 Organização em campos Campo: menor unidade lógica de informação em um arquivo; uma noção lógica (ferramenta conceitual), não corresponde necessariamente a um conceito físico; Existem várias maneiras de organizar um arquivo mantendo a identidade dos campos A organização anterior não proporciona isso...

6 Métodos para organização em campos a)Comprimento fixo; b)Indicador de comprimento; c)Delimitadores; d)Uso de tags;

7 Campos com tamanho fixo Cada campo tem tamanho pré-determinado Recuperação facilitada Espaço alocado e não usado = desperdício Ruim para campos de dados com tamanho variável Razoável quando comprimento fixo ou com pouca variação

8 Campos com indicador de comprimento Tamanho de cada campo antes do dado Se tamanho do campo < 256 bytes um único byte para indicar o comprimento

9 Campos separados por delimitadores Caracteres especiais inseridos ao final de cada campo; Ex.: /, tab, #, etc... Espaços em branco geralmente não servem como delimitadores;

10 Uso de uma tag do tipo "keyword=value" Vantagem: informação (semântica) Facilidade de identificação de conteúdo do arquivo Facilidade de identificação de campos perdidos Possibilidade de padronização (html, XML,...) Desvantagem: keywords ocupam espaço

11 Organização em Registros Registro: conjunto de campos agrupado; Nível de organização do arquivo é mais alto; Também é uma ferramenta lógica, não física;

12 Métodos para organização em registros Tamanho fixo; Número fixo de campos; Indicador de tamanho; Uso de índice; Utilizar delimitadores;

13 Registros de tamanho fixo Todos os registros têm o mesmo número de bytes Muito comum Possível registros de tamanho fixo com campos de tamanho variável

14 Registros com número fixo de campos Ao invés de números fixo de bytes, número fixo de campos O tamanho do registro é variável Campos separados por delimitadores

15 Registros de tamanho variável

16 Indicador de tamanho para registros O indicador que precede o registro fornece o seu tamanho total, em bytes Os campos são separados internamente por delimitadores Boa solução para registros de tamanho variável

17 Utilizar um índice Um índice externo poderia indicar o deslocamento de cada registro relativo ao início do arquivo Pode ser utilizado também para calcular o tamanho dos registros Os campos seriam separados por delimitadores...

18 Utilizar delimitadores Separar os registros com delimitadores análogos aos de fim de campo O delimitador de campos é mantido, sendo que o método combina os dois delimitadores Note que delimitar fim de campo é diferente de delimitar fim de registro

19 Exercício Desenvolver um exemplo de banco de dados, onde tenha leitura e gravação em modo de registro. O programa tomará os dados de até 50 livros e os colocará numa matriz de estruturas na memória do computador. Uma simples escolha do usuário fará com que a matriz toda seja gravada num arquivo em disco. A interação com o usuário lhe permitirá ainda ler a matriz do arquivo novamente para a memória do computador.

20 Exercício /* livros.c */ /* Manutenção da lista de livros do arquivo */ #include #define TRUE 1 struct livro{ char titulo[30]; int regnum; double preco; }; struct livro livros[50]; int n = 0; char numstr[40]; main(){ char ch; while (TRUE){ printf("\n Digite a para adicionar um livro\n"); printf("\n i para imprimir todos os livros \n"); printf("\n g para gravar arquivo \n"); printf("\n l para ler arquivo \n"); printf("\n s para Sair \n"); ch = getche(); switch(ch){ case 'a': printf("novonome");break; case 'i': printf("listatudo");break; case 'g': printf("gravaarquivo");break; case 'l': printf("lerarquivo");break; case 's': return;break; default: printf("\nDigite somente opcao valida.");break; }


Carregar ppt "INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 02 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC."

Apresentações semelhantes


Anúncios Google