DBMS - Estrutura do Arquivo
Dados e informações relativos são armazenados coletivamente em formatos de arquivo. Um arquivo é uma sequência de registros armazenados em formato binário. Uma unidade de disco é formatada em vários blocos que podem armazenar registros. Os registros de arquivo são mapeados nesses blocos de disco.
Organização de Arquivos
Organização de arquivo define como os registros de arquivo são mapeados em blocos de disco. Temos quatro tipos de organização de arquivos para organizar registros de arquivos -
Organização do arquivo heap
Quando um arquivo é criado usando Heap File Organization, o sistema operacional aloca área de memória para esse arquivo sem quaisquer detalhes de contabilidade adicionais. Os registros de arquivo podem ser colocados em qualquer lugar dessa área de memória. É responsabilidade do software gerenciar os registros. O arquivo Heap não oferece suporte a qualquer ordenação, sequência ou indexação por conta própria.
Organização de arquivo sequencial
Cada registro de arquivo contém um campo de dados (atributo) para identificar exclusivamente aquele registro. Na organização de arquivos sequenciais, os registros são colocados no arquivo em alguma ordem sequencial com base no campo-chave exclusivo ou chave de pesquisa. Praticamente, não é possível armazenar todos os registros sequencialmente na forma física.
Organização do arquivo hash
A Organização do Arquivo Hash usa o cálculo da função Hash em alguns campos dos registros. A saída da função hash determina a localização do bloco do disco onde os registros devem ser colocados.
Organização de arquivos em cluster
A organização de arquivos em cluster não é considerada boa para bancos de dados grandes. Nesse mecanismo, os registros relacionados de uma ou mais relações são mantidos no mesmo bloco de disco, ou seja, a ordenação dos registros não é baseada em chave primária ou chave de busca.
Operações de arquivo
As operações em arquivos de banco de dados podem ser amplamente classificadas em duas categorias -
Update Operations
Retrieval Operations
As operações de atualização alteram os valores dos dados por inserção, exclusão ou atualização. As operações de recuperação, por outro lado, não alteram os dados, mas os recuperam após a filtragem condicional opcional. Em ambos os tipos de operações, a seleção desempenha um papel significativo. Além da criação e exclusão de um arquivo, pode haver várias operações, que podem ser feitas nos arquivos.
Open - Um arquivo pode ser aberto em um dos dois modos, read mode ou write mode. No modo de leitura, o sistema operacional não permite que ninguém altere os dados. Em outras palavras, os dados são somente leitura. Os arquivos abertos no modo de leitura podem ser compartilhados entre várias entidades. O modo de gravação permite a modificação de dados. Os arquivos abertos no modo de gravação podem ser lidos, mas não podem ser compartilhados.
Locate- Cada arquivo possui um ponteiro de arquivo, que informa a posição atual onde os dados devem ser lidos ou gravados. Este ponteiro pode ser ajustado de acordo. Usando a operação de localização (busca), ele pode ser movido para frente ou para trás.
Read- Por padrão, quando os arquivos são abertos no modo de leitura, o ponteiro do arquivo aponta para o início do arquivo. Existem opções em que o usuário pode informar ao sistema operacional onde localizar o ponteiro do arquivo no momento de abri-lo. Os próximos dados para o ponteiro do arquivo são lidos.
Write- O usuário pode selecionar para abrir um arquivo no modo de gravação, o que permite editar seu conteúdo. Pode ser exclusão, inserção ou modificação. O ponteiro do arquivo pode ser localizado no momento da abertura ou pode ser alterado dinamicamente se o sistema operacional permitir.
Close- Esta é a operação mais importante do ponto de vista do sistema operacional. Quando uma solicitação para fechar um arquivo é gerada, o sistema operacional
- remove todos os bloqueios (se estiver no modo compartilhado),
- salva os dados (se alterados) na mídia de armazenamento secundária, e
- libera todos os buffers e manipuladores de arquivos associados ao arquivo.
A organização dos dados dentro de um arquivo desempenha um papel importante aqui. O processo para localizar o ponteiro do arquivo para um registro desejado dentro de um arquivo varia com base no fato de os registros estarem organizados sequencialmente ou agrupados.