Independência de dados em DBMS: física e lógica com exemplos
O que é independência de dados do SGBD?
A Independência de Dados é definida como uma propriedade do SGBD que ajuda você a alterar o esquema do banco de dados em um nível de um sistema de banco de dados sem precisar alterar o esquema no próximo nível superior. A independência de dados ajuda você 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
- Independência física de dados
- Independência lógica de dados.
Níveis de banco de dados
Antes de aprendermos sobre independência de dados, é importante relembrar os níveis de banco de dados. O banco de dados possui 3 níveis conforme mostrado no diagrama abaixo
- Físico/Interno
- Conceitual
- Externo
Considere um exemplo de banco de dados universitário. Nos diferentes níveis, a implementação será assim:
Tipo de Esquema | Implementação |
---|---|
Esquema Externo |
Ver 1: Informações do curso (cid:int,cname:string) Ver 2: studeninfo(id:int. nome:string) |
Shemá 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 |
|
Independência de dados físicos
A independência física dos dados ajuda a separar os níveis conceituais dos níveis internos/físicos. Ele permite fornecer uma descrição lógica do banco de dados sem a necessidade de especificar estruturas físicas. Comparado à independência lógica, é fácil alcançar a independência física dos dados.
Com a independência física, você pode alterar facilmente as estruturas ou dispositivos de armazenamento físico com efeito no esquema conceitual. Qualquer mudança realizada seria absorvida pelo mapeamento 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 depois pela transformação do nível conceitual do banco de dados para o nível interno.
Exemplos de alterações na Independência de Dados Físicos
Devido à independência física, qualquer uma das alterações abaixo não afetará a camada conceitual.
- Usando um novo dispositivo de armazenamento como disco rígido ou fitas magnéticas
- Modificando 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.
- Mudanças nas técnicas de compressão ou algoritmos de hash.
- Mudança de localização do banco de dados da unidade C para a unidade D
Independência de dados lógicos
Independência Lógica de Dados é a capacidade de alterar o esquema conceitual sem alterar
- Visualizações externas
- API ou programas externos
Qualquer mudança realizada será absorvida pelo mapeamento entre os níveis externo e conceitual.
Quando comparado à independência dos dados físicos, é um desafio alcançar a independência lógica dos dados.
Exemplos de alterações na Independência de Dados Lógicos
Devido à independência lógica, qualquer uma das alterações abaixo não afetará a camada externa.
- Adicionar/Modificar/Excluir um novo atributo, entidade ou relacionamento é possível sem reescrever os programas aplicativos existentes
- Mesclando dois registros em um
- Quebrar um registro existente em dois ou mais registros
Diferença entre independência de dados físicos e lógicos
Independência de dados da Logica | Independência de dados físicos |
---|---|
A Independência Lógica de Dados preocupa-se principalmente com a estrutura ou alteração da definição de dados. | Principalmente preocupado com o armazenamento dos dados. |
É difícil porque a recuperação de dados depende principalmente da estrutura lógica dos dados. | É fácil de recuperar. |
Comparado à independência física lógica, é difícil alcançar a independência lógica dos dados. | Comparado à Independência Lógica, é fácil alcançar a independência física dos dados. |
Você precisará fazer alterações no programa Aplicativo se novos campos forem adicionados ou excluídos do banco de dados. | Uma mudança no nível físico geralmente não requer mudança no nível do programa aplicativo. |
A modificação nos níveis lógicos é significativa sempre que as estruturas lógicas do banco de dados são alteradas. | As modificações feitas nos níveis internos podem ou não ser necessárias para melhorar o desempenho da estrutura. |
Preocupado com o esquema conceitual | Preocupado com o esquema interno |
Exemplo: Adicionar/Modificar/Excluir um novo atributo | Exemplo: mudança nas técnicas de compressão, algoritmos de hash, dispositivos de armazenamento, etc. |
Importância da Independência de Dados
- Ajuda você a melhorar a qualidade dos dados
- A manutenção do sistema de banco de dados torna-se acessível
- Aplicação de padrões e melhoria na segurança do banco de dados
- Você não precisa alterar a estrutura de dados em programas aplicativos
- Permitir que os desenvolvedores se concentrem na estrutura geral do banco de dados em vez de se preocuparem com a implementação interna
- Ele permite que você melhore o estado que está intacto ou indiviso
- A incongruência do banco de dados é bastante reduzida.
- Fazer modificações facilmente no nível físico é necessário para melhorar o desempenho do sistema.
Resumo
- Independência de dados é propriedade do SGBD que ajuda você a alterar o Esquema do banco de dados em um nível de um sistema de banco de dados sem precisar alterar o esquema no próximo nível superior.
- Dois níveis de independência de dados são 1) Físico e 2) Lógico
- A independência física dos dados ajuda a separar os níveis conceituais dos níveis internos/físicos
- Independência Lógica de Dados é a capacidade de alterar o esquema conceitual sem alterar
- Quando comparado à independência de dados físicos, é um desafio alcançar a independência lógica de dados
- Independência de dados Ajuda você a melhorar a qualidade dos dados