Componentes de um Sistema de Banco de Dados

Um sistema de banco de dados é composto por vários componentes que trabalham juntos para armazenar, gerenciar e fornecer acesso aos dados. Os principais componentes incluem:

  1. Dados:
  2. Hardware:
  3. Software:
  4. Usuários:

Diferença entre Banco de Dados, SGBD e Sistema de Banco de Dados

É importante distinguir entre os conceitos de banco de dados, Sistema de Gerenciamento de Banco de Dados (SGBD) e sistema de banco de dados:

  1. Banco de Dados:
  2. Sistema de Gerenciamento de Banco de Dados (SGBD):
  3. Sistema de Banco de Dados:

Objetivos de um Sistema de Banco de Dados

Os principais objetivos de um sistema de banco de dados incluem:

  1. Isolamento dos Usuários dos Detalhes Internos:

  2. Independência dos Dados:

  3. Controle Centralizado:

  4. Redução de Redundância e Inconsistência:

  5. Suporte a Transações:

    1. Atomicidade (Atomicity):
      • Definição: Garante que todas as operações de uma transação sejam concluídas com sucesso ou que nenhuma delas seja aplicada. Em outras palavras, uma transação é "atômica", o que significa que ou todas as mudanças são aplicadas ou nenhuma é.
      • Exemplo: Imagine uma transação bancária que envolve transferir dinheiro de uma conta para outra. A transação deve garantir que o dinheiro seja debitado da conta de origem e creditado na conta de destino. Se qualquer parte da transação falhar, nenhuma mudança deve ser aplicada, garantindo que o sistema não fique em um estado inconsistente.
    2. Consistência (Consistency):
      • Definição: Assegura que uma transação leve o banco de dados de um estado válido para outro estado válido, mantendo as regras e restrições do banco de dados. Em outras palavras, o banco de dados deve permanecer consistente após a conclusão de uma transação.
      • Exemplo: Se um banco de dados tem uma restrição que uma conta não pode ficar com um saldo negativo, a consistência garante que nenhuma transação permita que essa restrição seja violada.
    3. Isolamento (Isolation):
      • Definição: Garante que as transações sejam executadas de maneira isolada umas das outras. Isso significa que o resultado de uma transação não deve ser visível para outras transações até que a transação esteja completamente concluída. O isolamento previne que transações em andamento interfiram nas outras.
      • Exemplo: Se duas transações estão tentando modificar a mesma conta simultaneamente, o isolamento garante que uma transação não afete o resultado da outra, evitando problemas como leituras sujas ou atualizações perdidas.
    4. Durabilidade (Durability):
      • Definição: Assegura que, uma vez que uma transação é confirmada (committed), suas alterações são permanentes e persistem mesmo em caso de falhas de sistema ou desligamentos inesperados.
      • Exemplo: Após a conclusão de uma transação de transferência de dinheiro, o saldo atualizado das contas deve ser preservado mesmo se ocorrer um apagão ou falha de sistema logo após a transação ser confirmada.

    Essas propriedades trabalham juntas para garantir que os sistemas de banco de dados sejam robustos e confiáveis, permitindo que as aplicações realizem transações de maneira segura e consistente.

Conclusão

Imagine um sistema de banco de dados para uma biblioteca: