SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD)

 

SGBD é uma sigla para Sistema Gerenciador de Banco de Dados, o qual é uma coleção de programas que tem a função de gerenciar a interação entre os usuários e o banco de dados, possibilitando os usuários de criar, definir, construir, manipular e manter um banco de dados.

 
  • Definir um banco de dados é especificar os tipos de dados e as restrições para os dados que serão armazenados.

     
  • Construir um banco de dados é armazenar os dados em algum meio de armazenamento que seja controlado pelo SGBD.
  •  
  • Manipular um banco de dados inclui as operações que podem ser realizadas, como consultas, atualizações, geração de relatórios etc.
  •  
  • Refere-se às atividades contínuas para garantir o bom funcionamento do banco de dados ao longo do tempo. Inclui otimizações de desempenho, aplicação de correções, ajustes na estrutura do banco de dados conforme necessário e backup regular dos dados. Manter a integridade, disponibilidade e segurança do banco de dados é essencial para seu sucesso a longo prazo.
  •  

    Todas as solicitações de um usuário ao banco de dados são controladas pelo SGBD. Ele implementa a abstração do hardware para o usuário, em outras palavras, ele "esconde" do usuário os detalhes mais internos da máquina e, também, do banco de dados, facilitando a utilização destes conforme a imagem ilustrativa abaixo.

     

    SGBDs relacionais exigem que todos os campos que sejam chave primária sejam obrigatórios. Além disso, eles garantem a integridade dos dados automaticamente, através das restrições de integridade.

     

    A linguagem mais utilizada de consulta hoje em dia é o SQL - Structured Query Language. Existem diversos tipos de SGBDs no mercado, que atendem às mais diversas finalidades, como por exemplo o Oracle e o PostgreSQL, além dos softwares livres, como o MySQL e o Firebird.

     

    Arquitetura de Sistemas de bancos de dados

     

    Apresentar uma arquitetura de sistemas de banco de dados é fornecer um esboço (framework) sobre o qual possamos descrever conceitos gerais e explicar estrura de um SGBD. A arquitetura geral se divide em três níveis, conhecidos como nível interno, nível externo e nível conceitual, embora também sejam utilizados outros nomes na literatura. De modo geral:

     
    • O nível interno (também conhecido como nível de armazenamento) é o mais próximo do meio de armazenamento físico – ou seja, é aquele que se ocupa do modo como os dados são fisicamente armazenados dentro do sistema.
    •  
    • O nível externo (também conhecido como nível lógico do usuário) é o mais próximo dos usuários – ou seja, é aquele que se ocupa do modo como os dados são vistos por usuários individuais.
    •  
    • O nível conceitual (também conhecido como nível lógico de comunidade, ou às vezes apenas nível lógico, sem qualificação) é um nível “indireto” entre os outros dois.
    •  
     

    Arquivos de Dados

     

    Arquivo de dados desempenha um papel central na persistência e organização das informações. Ele é uma estrutura fundamental para armazenar registros, cada um representando uma entidade específica, com campos ou atributos associados. A abordagem de como esses dados são acessados impacta diretamente o desempenho e a eficiência do sistema. Métodos como acesso sequencial, indexado, direto e acesso direto por chave são empregados para manipular e recuperar dados de forma a atender às demandas específicas de cada operação. O SGBD, por sua vez, é responsável por gerenciar esses arquivos de dados, proporcionando uma camada de abstração que simplifica a interação dos usuários com as informações armazenadas. Essa interconexão entre arquivos de dados e SGBD é crucial para garantir a integridade, disponibilidade e segurança das informações ao longo do tempo.

     

    Acesso aos Arquivos de Dados

     

    Um arquivo de dados é uma estrutura utilizada para armazenar informações de forma persistente. Os dados são organizados em registros, que podem conter campos ou atributos com valores específicos. Para acessar os dados em um arquivo, existem diversos métodos de acesso, cada um com suas características e finalidades. Abaixo, serão detalhados os três tipos principais de acesso a arquivo, bem como um quarto tipo adicional.

     
    • 1. Acesso Sequencial:
    •  

    O acesso sequencial envolve a leitura ou escrita dos registros em ordem, do início ao fim do arquivo. Para acessar um registro específico, é necessário percorrer todos os registros anteriores. Isso torna esse método eficiente para leitura sequencial completa, mas ineficiente para acesso direto a registros específicos. É adequado quando se deseja processar todos os registros em uma ordem específica, como em geração de relatos.

     
    • 2. Acesso Indexado:
    •  

    No acesso indexado, é mantida uma estrutura de índice que armazena informações sobre a localização dos registros no arquivo. Isso permite que se acesse diretamente um registro específico, sem a necessidade de percorrer todos os registros anteriores. A estrutura de índice geralmente é mantida em memória ou em um arquivo separado. Esse método é adequado para acesso rápido a registros específicos, mas requer a manutenção do índice, o que pode consumir recursos.

     
    • 3. Acesso Direto:
    •  

    O acesso direto permite a leitura ou escrita direta de um registro específico, sem a necessidade de percorrer registros anteriores. Isso é viabilizado através do cálculo da posição física do registro no arquivo, com base em seu endereço. Esse método é eficiente para operações individuais em registros específicos, mas requer informações precisas sobre a estrutura do arquivo e a localização dos registros.

     
    • 4. Acesso Direto por Chave:
    •  

    O acesso direto por chave combina elementos do acesso direto e do acesso indexado. Cada registro é associado a uma chave única, e a posição física do registro no arquivo é calculada com base nessa chave. Isso permite acessar diretamente um registro específico por meio de sua chave, sem a necessidade de percorrer registros anteriores. Essa abordagem é eficiente para a recuperação rápida de registros individuais com base em uma chave conhecida, sem depender de uma estrutura de índice separada.

      

    No contexto do Sistema Gerenciador de Banco de Dados (SGBD), esses métodos de acesso são utilizados para manipular os dados armazenados em arquivos. Cada método tem suas vantagens e desvantagens, e a escolha do método adequado depende das necessidades específicas do sistema e das operações que serão realizadas sobre os dados. O SGBD é responsável por abstrair esses detalhes de acesso aos dados, permitindo que os usuários realizem operações de manipulação e consulta de maneira simplificada e eficiente.

     

    Métodos de acesso

     

    Métodos de acesso em banco de dados incluem Acesso Sequencial, Acesso Indexado, Acesso Direto, e Acesso Direto por Chave. Cada método tem suas características e finalidades, e a escolha depende das necessidades específicas do sistema.

     
    Com intuito de apoiar o aprendizado em Banco de Dados, sugere-se assistir a videoaula para o aperfeiçoamento no conhecimento deste conteúdo.

    • DDL (Data Definition Language)
    •  
     

    Linguagem utilizada para a especificação do esquema do BD (dados e seus tipos de dados, índices, ...).

     
    • DML (Data Manipulation Language)
    •  

    Linguagem utilizada para a manipulação de dados.

     

    Integridade semântica

     

    A integridade semântica garante que os dados estejam sempre corretos em relação ao domínio de aplicação. Isso inclui garantir estados válidos para os dados, como sexo e salário, e manter relacionamentos válidos entre os dados.

     

    É a garantia que os dados estarão sempre corretos com relação ao domínio de aplicação. Exemplos:

     
    • Estados válidos para os dados (sexo; salário);
    •  
    • Relacionamentos válidos entre os dados.
    •  

    Funções básicas de um SGBD

     

    As funções básicas de um Sistema Gerenciador de Banco de Dados (SGBD) incluem segurança, concorrência, e independência. Isso abrange segurança de acesso, prevenção de conflitos de acesso simultâneo, e independência dos dados em relação à organização física e lógica.

     
    • Segurança
    •  
      • Binário: Associação entre duas entidades. Exemplo:
      •  
      • Evitar violação de consistência dos dados, ou seja, evitar que dados interfiram uns nos outros;
      •  
      • Segurança de acesso para usuários e aplicações;
      •  
      • Segurança contra falhas;
      •  
      • Monitoração das operações que são realizadas no banco de dados;
      •  
      • Manutenção de histórico de atualizações (logs) e backups do banco de dados.
      •  
    • Concorrência
    •  
      • Evitar conflitos de acesso simultâneo a dados por operações.
      •  
    • Independência
    •  
      • Independência dos dados;
      •  
      • Transparência da organização dos dados.
      •  
      • Independência física: transparência da organização (esquema) física dos dados. Exemplo: organização dos arquivos;
      •  
      • Independência lógica: transparência do esquema lógico do banco de dados. Exemplo: visões (vários esquemas externos).
      •  
    Com intuito de apoiar o aprendizado em Banco de Dados, sugere-se assistir a videoaula para o aperfeiçoamento no conhecimento deste conteúdo.

    Componentes de um SGBD

     

    Alguns componentes relevantes de um SGBD incluem a Linguagem de Definição de Dados (DDL) para especificar o esquema do banco de dados, a Linguagem de Manipulação de Dados (DML) para manipular dados, e os aspectos de segurança, concorrência e independência.

     
     

    Atividade de Fixação

     

    No intuito de fixar a aprendizagem iniciada por meio deste módulo e verificar como está sua compreensão sobre o mesmo, são sugeridos alguns exercícios de fixação para serem resolvidos. Clique no link de exercícios ao lado, pois será por meio dele iniciada a lista de exercícios sobre os conteúdos estudados até este momento. Boa revisão sobre os mesmos!!