logo

Abstração de dados e independência de dados

Os sistemas de banco de dados compreendem estruturas de dados complexas. Para tornar o sistema eficiente em termos de recuperação de dados e reduzir a complexidade em termos de usabilidade dos usuários, os desenvolvedores usam abstração, ou seja, ocultam detalhes irrelevantes dos usuários. Essa abordagem simplifica o design do banco de dados. 

Nível de abstração em um SGBD

Existem principalmente 3 níveis de abstração de dados: 



  • Nível Físico ou Interno
  • Nível Lógico ou Conceitual
  • Visualização ou Nível Externo

Nível Físico ou Interno

Este é o nível mais baixo de abstração de dados. Diz-nos como os dados são realmente armazenados na memória. Métodos de acesso como acesso sequencial ou aleatório e métodos de organização de arquivos como árvores B+ e hashing são usados ​​para o mesmo. O tamanho da memória de usabilidade e o número de vezes que os registros são fatores que precisamos saber ao projetar o banco de dados. 
Suponha que precisemos armazenar os detalhes de um funcionário. Os blocos de armazenamento e a quantidade de memória usada para esses fins são mantidos ocultos do usuário. 

Nível Lógico ou Conceitual

Este nível compreende as informações que estão efetivamente armazenadas no banco de dados na forma de tabelas. Também armazena o relacionamento entre as entidades de dados em estruturas relativamente simples. Neste nível, as informações disponíveis ao usuário no nível da visualização são desconhecidas. 
Podemos armazenar os vários atributos de um funcionário e relacionamentos, por exemplo. com o gerente também pode ser armazenado. 

O nível lógico descreve assim todo o banco de dados em termos de um pequeno número de estruturas relativamente simples. Embora a implementação de estruturas simples no nível lógico possa envolver estruturas complexas no nível físico, o usuário do nível lógico não precisa estar ciente desta complexidade. Isso é conhecido como independência física de dados. Os administradores de banco de dados que devem decidir quais informações manter no banco de dados usam o nível lógico de abstração.



Visualização ou Nível Externo

Este é o nível mais alto de abstração. Apenas uma parte do banco de dados real é visualizada pelos usuários. Este nível existe para facilitar a acessibilidade do banco de dados por um usuário individual. Os usuários visualizam os dados na forma de linhas e colunas. Tabelas e relações são usadas para armazenar dados. Podem existir múltiplas visualizações do mesmo banco de dados. Os usuários podem apenas visualizar os dados e interagir com o armazenamento do banco de dados e os detalhes de implementação ficam ocultos para eles. Embora o nível lógico utilize estruturas mais simples, a complexidade permanece devido à variedade de informações armazenadas em um grande banco de dados. Muitos usuários do sistema de banco de dados não precisam de todas essas informações; em vez disso, eles precisam acessar apenas uma parte do banco de dados. O nível de abstração da visão existe para simplificar sua interação com o sistema

Exemplo: No caso de armazenar dados do cliente

algoritmo rr
  • Nível físico - conterá bloco de armazenamentos (bytesGBTBetc)
  • Nível lógico -  ele conterá os campos e os atributos dos dados.
  • Ver nível - funciona com CLI ou GUI acesso ao banco de dados




Abstração de dados' src='//techcodeview.com/img/dbms/89/data-abstraction-and-data-independence.webp' title=Abstração de dados

O principal objetivo da abstração de dados é alcançar a independência dos dados, a fim de economizar tempo e custos necessários quando o banco de dados é modificado ou alterado. 

Independência de dados

Independência de dados é definido principalmente como uma propriedade do DBMS que ajuda a alterar o esquema do banco de dados em um nível de um sistema sem precisar alterar o esquema no próximo nível. ajuda a manter os dados separados de todos os programas que os utilizam.
Temos nomeadamente dois níveis de independência de dados decorrentes destes níveis de abstração: 

  • Física eu independência de dados em nível cal
  • Independência de dados em nível lógico
Abstração de dados e independência de dados' src='//techcodeview.com/img/dbms/89/data-abstraction-and-data-independence-1.webp' title=Independência de dados

Independência de dados de nível físico

Refere-se à característica de ser capaz de modificar o esquema físico sem quaisquer alterações no esquema conceitual ou lógico feito para fins de otimização, por exemplo. a Estrutura Conceitual do banco de dados não seria afetado por nenhuma alteração no tamanho do armazenamento do servidor do sistema de banco de dados. Mudar de arquivos de acesso sequencial para aleatório é um exemplo. Essas alterações ou modificações na estrutura física podem incluir: 

  • Utilizando novos dispositivos de armazenamento.
  • Modificando estruturas de dados usadas para armazenamento.
  • Alterar índices ou usar técnicas alternativas de organização de arquivos, etc.

Independência de dados em nível lógico

Refere-se à característica de poder modificar o esquema lógico sem afetar o esquema externo ou programa aplicativo. A visão dos dados do usuário não seria afetada por quaisquer alterações na visão conceitual dos dados. Essas alterações podem incluir a inserção ou exclusão de atributos, alterando entidades de estruturas de tabela ou relacionamentos com o esquema lógico, etc.