Independência de dados em DBMS: física e lógica com exemplos

⚡ Resumo Inteligente

A independência de dados é uma propriedade dos SGBDs (Sistemas de Gerenciamento de Banco de Dados) que permite que o esquema em um nível seja alterado sem forçar uma mudança no nível superior seguinte. Ela se apresenta de duas formas, física e lógica, e mantém os dados separados dos programas que os utilizam.

  • 🧩 Ideia central: Uma alteração em um nível de esquema é absorvida pelo mapa.pings, portanto, os níveis mais altos e os programas de aplicação permanecem intocados.
  • 💾 Independência física: Dispositivos de armazenamento, organização de arquivos e índices podem ser alterados sem afetar o esquema conceitual.
  • 🗂️ Independência lógica: Entidades e atributos podem ser adicionados ou alterados sem a necessidade de reescrever visualizações ou programas externos.
  • 🏛️ Três níveis: Os esquemas físicos, conceituais e externos fornecem as camadas que a independência separa.
  • ⚖️ Dificuldade relativa: A independência física é fácil de alcançar; a independência lógica é mais difícil porque os programas dependem de uma estrutura lógica.
  • 🔗 Mapapings: Mapa conceitual interno e externopingSão os "s" que tornam possível cada tipo de independência.
  • Benefício: Menor custo de manutenção, maior segurança e desenvolvedores focados no design em vez do armazenamento.

Independência de dados em SGBD

O que é independência de dados em um SGBD?

A independência de dados é definida como uma propriedade de um SGBD (Sistema de Gerenciamento de Banco de Dados) que permite alterar o esquema do banco de dados em um nível do sistema sem exigir alterações no esquema do nível superior seguinte. A independência de dados ajuda a manter os dados separados de todos os programas que os utilizam.

Você pode usar esses dados armazenados para computação e apresentação. Em muitos sistemas, a independência de dados é uma função essencial para os componentes do sistema.

Tipos de independência de dados

In DBMS Existem dois tipos de independência de dados:

  1. Independência de dados físicos.
  2. Independência lógica de dados.

Ambos os tipos se baseiam no design em camadas de um banco de dados, portanto, é útil revisar esses níveis primeiro.

Níveis de um banco de dados

Antes de aprendermos sobre independência de dados, é importante relembrar os níveis de um banco de dados. Um banco de dados possui três níveis, conforme mostrado no diagrama abaixo:

  1. Físico/Interno
  2. Conceitual
  3. Externo
Diagrama dos níveis de arquitetura de um SGBD
Níveis de SGBD Archidiagrama de arquitetura

Essas são as mesmas camadas descritas em detalhes em esquemas de SGBDConsidere o exemplo de um banco de dados universitário. Nos diferentes níveis, a implementação se parece com isto:

Tipo de Esquema Implementação
Esquema Externo

Vista 1: Informações do curso (cid:int, cname:string)

Vista 2: informações_do_aluno(id:int, nome:string)

Esquema conceitual
Students(id: int, name: string, login: string, age: integer)
Courses(id: int, cname: string, credits: integer)
Enrolled(id: int, grade: string)
Esquema Físico
  • Relações armazenadas como arquivos não ordenados.
  • Índice na primeira coluna de Alunos.

Independência de dados físicos

A independência física dos dados permite separar o nível conceitual do nível interno ou físico. Ela possibilita fornecer uma descrição lógica do banco de dados sem a necessidade de especificar estruturas físicas. Comparada à independência lógica, a independência física dos dados é mais fácil de alcançar.

Com independência física, você pode alterar as estruturas ou dispositivos de armazenamento físico sem afetar o esquema conceitual. Qualquer alteração feita é absorvida pelo mapa.ping entre os níveis conceitual e interno. A independência física dos dados é alcançada pela presença do nível interno do banco de dados e pela transformação do nível conceitual para o nível interno.

Exemplos de mudanças sob independência de dados físicos

Devido à independência física, nenhuma das alterações abaixo afetará a camada conceitual:

  • Utilizando um novo dispositivo de armazenamento, como um disco rígido ou uma fita magnética.
  • Modificar a técnica de organização de arquivos no banco de dados.
  • Mudando para diferentes estruturas de dados.
  • Alterando o método de acesso.
  • Modificando índices.
  • Alterações nas técnicas de compressão ou algoritmos de hash.
  • Alterar a localização do banco de dados, por exemplo, da unidade C para a unidade D.

Independência de dados lógicos

A independência lógica de dados é a capacidade de alterar o esquema conceitual sem alterar:

  1. Vistas externas.
  2. APIs ou programas externos.

Qualquer alteração feita é absorvida pelo mapa.ping entre os níveis externo e conceitual. Em comparação com a independência física dos dados, alcançar a independência lógica dos dados é um desafio.

Exemplos de alterações sob independência lógica de dados

Devido à independência lógica, nenhuma das alterações abaixo afetará a camada externa:

  1. É possível adicionar, modificar ou excluir um novo atributo, entidade ou relacionamento sem reescrever os programas de aplicação existentes.
  2. Unir dois registros em um só.
  3. Dividir um recorde existente em dois ou mais recordes.

Diferença entre independência de dados físicos e lógicos

Independência de dados lógicos Independência de dados físicos
Preocupa-se principalmente com a estrutura ou com a alteração da definição dos dados. Principalmente preocupado com o armazenamento dos dados.
Difícil, pois a recuperação dos dados depende principalmente da estrutura lógica. Fácil de recuperar.
Comparada à independência física, é difícil de alcançar. Comparado à independência lógica, é fácil de alcançar.
Você precisa fazer alterações no programa do aplicativo se novos campos forem adicionados ou excluídos. Uma alteração no nível físico geralmente não exige uma alteração no nível do programa aplicativo.
A modificação no nível lógico é significativa sempre que as estruturas lógicas do banco de dados são alteradas. Modificações no nível interno podem ou não ser necessárias para melhorar o desempenho.
Preocupado com o esquema conceitual. Preocupado com o esquema interno.
Exemplo: adicionar, modificar ou excluir um novo atributo. Exemplo: mudanças nas técnicas de compressão, algoritmos de hash, dispositivos de armazenamento, etc.

Importância da Independência de Dados

  • Ajuda a melhorar a qualidade dos dados.
  • Torna a manutenção do sistema de banco de dados mais acessível.
  • Garante o cumprimento de normas e aprimora a segurança do banco de dados.
  • Não é necessário alterar as estruturas de dados nos programas de aplicação.
  • Permite que os desenvolvedores se concentrem na estrutura geral do banco de dados em vez da implementação interna.
  • Reduz substancialmente a inconsistência do banco de dados.
  • Permite fazer modificações no nível físico para melhorar o desempenho do sistema.

Perguntas Frequentes

Os programas e visualizações de aplicativos dependem da estrutura lógica, portanto, alterações em entidades ou atributos podem se propagar por eles. O armazenamento físico fica abaixo do esquema conceitual, de modo que suas alterações permanecem ocultas.

O mapapings entre níveis. A independência física depende do mapa conceitual-interno.pinge a independência lógica depende do mapa conceitual externopingAssim, cada mudança é absorvida em vez de propagada.

Não. Adicionar ou removerping Um índice é uma mudança física absorvida pela independência física dos dados. As consultas retornam os mesmos resultados, apenas mais rápido ou mais devagar, e nenhum código do aplicativo precisa ser alterado.

Como o armazenamento pode ser alterado livremente, uma ferramenta de ajuste de IA pode migrar dados para armazenamento colunar ou adicionar índices para acelerar o treinamento do modelo, tudo isso sem alterar as consultas que os aplicativos já utilizam.

Físico. A realocação de arquivos de uma unidade para outra altera apenas o nível interno. Graças à independência física dos dados, o esquema conceitual e todas as visões do aplicativo permanecem inalterados.

Resuma esta postagem com: