Conceitos Fundamentais de Arquivos e Bancos de Dados

Classificado em Computação

Escrito em em português com um tamanho de 9,63 KB

Dados: informações que um computador armazena e registra.

Campo: peça discreta de informação em um registro.

Registro: conjunto de informações relacionadas a um produto, evento ou pessoa. Um arquivo é um conjunto de registros.

Arquivo: conjunto de informações relacionadas. Esta informação é armazenada como um arquivo.

Consulta (Query): busca de um registro específico ou uma solicitação para selecionar os registros que atendam a um conjunto de critérios. Há consultas de seleção, exclusão, criação de tabela e atualização.

Relatório: lista de campos selecionados e registros em um formato fácil de ler. Ordenados.

Conceito de Arquivo

Um arquivo é uma riqueza de informações estruturadas no mesmo item, tratado como uma unidade de armazenamento. Seu formato e tipo de arquivo determinam como interpretar as informações contidas nele, pois é apenas um conjunto de 0s e 1s. Os arquivos de banco de dados contêm registros homogêneos com informações de cada objeto de banco de dados. Cada pedaço de informação em um registro é chamado de campo.

Tipos de Arquivo Permanente

Arquivos permanentes (cuja vida útil é tão longa, pelo menos, quanto a aplicação que os utiliza).

Arquivos Mestre (Master Files)

Contêm o estado atual dos dados relevantes para a aplicação.

Arquivos Constantes

Seus dados não são alterados, somente consultados.

Arquivos Históricos

Mantêm um rastreamento dos valores anteriores dos arquivos.

Arquivos Temporários

Arquivos temporários (criados e apagados durante a execução da aplicação).

Arquivos Intermediários

Os resultados são utilizados por outra aplicação. Salvos durante o processo.

Arquivos de Manobra

Dados armazenados na memória principal que não mudam.

Arquivos de Saída

Dados a serem enviados para um dispositivo de saída. Salvos no dispositivo.

Operações com Arquivos de Dados

  • Criação e exclusão (marcam o ciclo de vida de um arquivo).
  • Alteração do design ou estrutura do banco de dados.
  • Modificação, inserção e exclusão de registros.
  • Recuperação da informação (consulta).
  • Manutenção:
    • Reparos (verificar e corrigir erros nos registros, se possível).
    • Compactação de arquivos.

Organização de Arquivos de Dados

Sequencial

Mantém registros contíguos (elimina lacunas produzidas por exclusão). Só pode ser acrescentado ao final. A consulta requer a leitura dos registros precedentes. Operações de atualização reescrevem o arquivo inteiro.

Encadeado (Acorrentado)

Todos os registros contêm um ponteiro para o próximo. A inserção é feita no final. A alteração não reescreve o arquivo. A exclusão deixa espaço no arquivo de dados. A consulta ainda é sequencial.

Indexado

O arquivo de índice é processado sequencialmente e cada entrada do índice armazena o endereço onde a informação do registro foi salva. A exclusão é lógica (não libera o espaço ocupado pela informação do registro).

Direta ou Aleatória

Podemos calcular a posição do registro no arquivo com base no endereço.

  • Roteamento Direto: Usa uma fórmula numérica.
  • Endereçamento por Hash: O endereço é calculado por uma função hash.

Seleção e Pesquisa

Em um arquivo, a pesquisa pode ser ordenada ou não. A gestão sequencial não permite busca direta.

Algoritmos: Direta, Troca, Fusão, Classificação Rápida (Quick Sort).

Outros aspectos a considerar: Manutenção (Atualizações, ordenação, compactação...). Se há muita redundância, a manutenção será cara.

Política de Privacidade e Segurança: Restringir informação a pessoas não autorizadas, evitar alterações indesejadas.

Limitações dos Sistemas de Arquivos Tradicionais

  1. Redundância de dados.
  2. Pobre controle e capacidades de manipulação dos dados.
  3. Excessivo esforço de programação.

Características dos Dados

  1. Não devem mudar com o tempo (exceto dados efêmeros).
  2. Estruturados, para facilitar o acesso aos dados.
  3. Operacionais e transacionais, que podem ser usados pelos operadores para obter certos resultados.
  4. Com um significado específico (sentido semântico).
  5. Completos, devem existir na realidade.

Sistema de Gerenciamento de Banco de Dados (SGBD)

É um conjunto coordenado de programas, linguagens e procedimentos que nos fornecem os meios para descrever, recuperar e manipular dados, mantendo sua confidencialidade, integridade e segurança.

Estrutura

Usuário <-> Programa de Aplicação <-> Gerenciador do SGBD <-> Banco de Dados (DB)

Funções

  • Descrição ou Definição: Especifica os dados que estão na estrutura do DB e as relações entre eles.
  • Manuseio: Permite encontrar, eliminar ou modificar os dados no banco.
  • Uso: Fornece as interfaces necessárias para permitir aos usuários se comunicar com o banco de dados.

Características Básicas de um Banco de Dados

  • Integridade: Unificação de vários arquivos separados pode ser vista como um banco de dados, total ou parcialmente, eliminando a redundância entre eles.
  • Compartilhamento (Sharing): As partes individuais do DB devem ser capazes de ser compartilhadas entre diferentes usuários, mantendo a integridade dos dados.
  • Restrições de Segurança e Confidencialidade: É necessário criar uma hierarquia de acesso para manter o acesso seguro aos dados, permitindo ou proibindo que usuários executem determinadas ações no banco de dados.
  • Várias Exibições de Dados: Deve ser possível recuperar a informação desejada do banco de dados no formato exigido (listas, gráficos, etc.).
  • Proteção contra Falhas: É necessário verificar a integridade dos dados em todos os momentos e criar backups "just in case".
  • Interface de Alto Nível: Deve ser possível acessar e modificar (ex: SQL).

Vantagens dos Bancos de Dados

Em relação aos dados:

  1. Independência dos dados em relação aos programas que os tratam e vice-versa.
  2. Melhor disponibilidade dos dados.
  3. Maior eficiência de armazenamento, codificação e entrada.

Em relação aos resultados:

  1. Maior consistência.
  2. Maior valor informativo.
  3. Melhoria e mais documentação padronizada das informações.

Em relação aos usuários:

  1. Acesso mais rápido e fácil para usuários finais.
  2. Mais facilidades para compartilhar dados por todos os usuários.
  3. Maior flexibilidade para atender às demandas em mudança.

Desvantagens dos Bancos de Dados

Em relação à implementação/execução:

  1. Custo elevado em software e hardware.
  2. Ausência de padrões (em alguns casos).
  3. Implementação longa e difícil a médio prazo.
  4. Rentabilidade (pode demorar a ser percebida).

Em relação aos usuários:

  1. Necessidade de pessoal especializado.
  2. Lacuna entre a teoria e a prática.

Arquitetura de Bancos de Dados

(3 níveis de abstração)

Nível Externo

O mais alto nível. Contém esquemas externos que descrevem o conjunto de dados que as necessidades de cada usuário ou grupo. Os mesmos dados podem ter diferentes visões.

Nível Conceitual

Possui um arcabouço conceitual que descreve a estrutura geral do DB com estas características:

  1. Independente da estrutura física.
  2. Descreve as entidades, atributos, relacionamentos e restrições.
  3. É definida a partir do modelo de dados lógico.

Nível Interno (ou Físico)

Descreve a estrutura de armazenamento físico do banco de dados. Influencia a eficiência do banco de dados.

Modelos de Dados

(3 tipos)

Modelos Lógicos Baseados em Objeto

Modelos de Entidade-Relacionamento e Orientados a Objetos.

Modelos Lógicos Baseados em Registro

Usados para especificar a estrutura geral do banco de dados lógico. O mais usado é o Relacional. Os modelos Hierárquico e Rede estão em declínio.

  1. Modelo de Rede: Constituído por coleções de registros relacionados com ponteiros ou arestas em grafos sem restrições.
  2. Modelo Hierárquico: Os registros são organizados como coleções de árvores. Não permite relações N:M. O mesmo registro não pode pertencer a dois conjuntos.
  3. Modelo Relacional: As informações são armazenadas em tabelas onde as linhas têm a mesma estrutura (campos).

Modelos Físicos de Dados

Modelos de dados baseados em arquivos antigos. São pouco usados como um modelo conceitual do banco de dados.

O Modelo Entidade-Relacionamento (ER)

É baseado em uma percepção do mundo composto de objetos, chamados entidades, e as relações entre eles. Entidades diferem em seus atributos.

Elementos do modelo ER:

  1. Entidade: Objeto sobre o qual se deseja armazenar informações no banco de dados e que deve ser caracterizado.
  2. Relacionamento: É a associação ou correspondência entre as entidades.

Itens do Relacionamento:

  • Nome: Identifica a relação e através da qual é referenciada.
  • Grau: Número de tipos de entidades envolvidas em um relacionamento.
  • Cardinalidade: Máxima / Mínima.

Entradas relacionadas: