Independência de dados em DBMS

 engenheiro de banco de dados
  • introdução
  • o que é Independência de dados?
  • Tipos de Independência de Dados

Introdução

Hoje, nós estamos indo para ocupar um dos mais importantes tópicos de Gerenciamento de Banco de dados de sistemas, que é, Independência de Dados. A razão por trás da implementação de três níveis de abstração de dados não é outra senão alcançar a independência de dados. Independência de dados é algo que lida com mudanças que ocorrem em diferentes níveis de esquema. Além do significado da Independência de dados, você aprenderá sobre sua necessidade e seus tipos aqui. Então, vamos começar sem mais delongas!

o que é Independência de dados? Todos nós já estamos familiarizados com os dois termos ‘dados’ e ‘independência’ separadamente, para que possamos mais ou menos decifrar o Significado de todo o termo ‘independência de dados’ no mesmo sentido. É claro a partir do próprio termo que estamos falando de independência de dados presentes em um banco de dados. Em palavras técnicas, você pode colocá-lo da seguinte forma: ‘a independência de dados é a propriedade do DBMS que permite ao usuário alterar a definição do esquema em um nível, sem a necessidade de alterar a definição do esquema nos níveis superiores subsequentes’. É muito necessário que, quando estamos fazendo mudanças em um nível, isso não prejudique os outros níveis. Para ser mais preciso, independência de dados refere-se à independência ou autossuficiência dos dados presentes nos três níveis da arquitetura do banco de dados. Além disso, é algo que ajuda você a manter os dados separados dos programas aplicativos que o utilizam. Muitas vezes é visto como um tipo de transparência de dados com o qual um sistema centralizado de gerenciamento de banco de dados está altamente preocupado.

Antes de analisarmos um aspecto mais profundo da Independência de dados, façamos um recall rápido nos níveis de um banco de dados. Esquema interno ou físico é o primeiro nível que está em conexão direta com o banco de dados que também no nível de memória. O segundo é o esquema conceitual ou lógico que serve como mediador entre o terceiro e o primeiro níveis. O terceiro nível é o esquema externo que determina como o banco de dados é visível para os vários usuários finais. Supondo que uma instância de um banco de dados Biblioteca, a implementação destes três níveis um pouco parecido com este:

Esquema Interno Esquema Lógico Esquema Externo
não ordenada arquivos das relações de databaseFirst índice de coluna de Visitantes Visitantes (id: int, nome: string idade: int, entre em contato: numérico, endereço: string)Livros (id: int, título: string, autor: string, isbn: numérico) View1: BookRecords (b_id: int, b_name: string, autor: string)View2: VisitorRecords (v_id: int, v_name: string)

independência de Dados separa os dados do API e implementa as alterações feitas em qualquer um dos níveis de inter-nível de mapeamentos. Ajuda a manter a liberdade desses níveis individuais do banco de dados ao mesmo tempo. De algum ponto de vista, independência de dados e independência de operação juntos traz à tona o fenômeno de abstração de dados em um DBMS.

como alcançar a independência de dados no DBMS?

para adquirir independência de dados, garantimos que nosso banco de dados esteja cumprindo os requisitos de abstração de dados. Em palavras fáceis, a abstração de dados é o processo de manter os detalhes irrelevantes ocultos do usuário final. Se pensarmos em relação às Entidades do mundo real, podemos tomar o exemplo de um carro. Quando um motorista dirige um carro, ele tem conhecimento completo de dirigir um carro, mas se por algum motivo ele não conseguir ligar o carro, ele precisará da ajuda de um mecânico de automóveis. Isso porque o motorista só sabe dirigir um carro, ele não sabe como lidar com os problemas internos dos circuitos, razão pela qual o circuito interno e o mecanismo do carro estão escondidos dele. Da mesma forma, a estrutura interna é invisível para os programadores e usuários finais. Essa propriedade de limitar a visibilidade em um banco de dados é chamada de abstração de dados. Um banco de dados contém até três níveis de abstração. Esses três níveis estão listados abaixo:

  • nível Físico (esquema Interno)
  • nível Conceptual (nível Lógico)
  • Ver nível

Física nível de abstração de dados cuida do esquema interno. Esse nível de abstração define como os dados em um banco de dados são armazenados. Ele armazena as estruturas de dados detalhadas e complexas do banco de dados nas quais os usuários finais e programadores não estariam interessados. Também é considerado o nível mais baixo de abstração de dados.

o nível conceitual, que é o nível médio de abstração de dados, é para o nível lógico do esquema. O nível anterior responde à pergunta ‘ Como?’. Da mesma forma, esse nível responde à pergunta ‘Por quê? Ele descreve o que e que tipo de dados é armazenado no banco de dados.

o último e mais alto nível de abstração de dados é o nível de visualização. Este nível informa como os dados devem ser visualizados por diferentes n usuários. É responsável pela interação do usuário com o banco de dados.

vamos dar um exemplo de escala muito baixa Onde Armazenamos os detalhes dos clientes de uma loja. Então, se falamos sobre o nível físico, os dados são armazenados como blocos de memória em bytes, gigabytes, terabytes, etc. Basicamente, ele lida com armazenamento de memória complexo. Esta informação não é visível para os programadores. O nível lógico descreverá os detalhes do cliente inseridos e seus tipos de dados. A relação lógica é implementada entre os dados neste nível usando linguagens de programação. Este nível é tratado principalmente por programadores. No nível de visualização, o usuário interage com o sistema através da GUI para inserir os dados, talvez em um formato de formulário ou algum outro formato definido. Agora, cada nível deve ser independente do outro, de modo que quando fazemos mudanças em um nível, não somos obrigados a fazer mudanças no próximo nível superior. E é isso que a independência de dados faz.

para manter esses três níveis de abstração de dados, talvez seja necessário fazer alterações em um nível do banco de dados, o que poderia ser um grande incômodo se não fosse pela independência de dados. Você concordará com o ponto de que mudar todo o programa de aplicativos para refletir uma ligeira mudança no esquema físico não é de forma alguma a nosso favor em termos de tempo e programação. A independência de dados garante que fazer modificações em um nível não esteja afetando os outros níveis do banco de dados. Com base nos três níveis de abstração de dados, a independência de dados é ramificada em dois tipos.

Tipos de Independência de Dados

Vamos aprender sobre os dois tipos de independência de dados e suas propriedades. As duas categorias são:

  • independência de dados físicos
  • Independência de dados lógicos

Independência de dados físicos: Sob a independência de dados físicos, temos a liberdade de alterar o esquema físico sem ser obrigado a alterar os programas de aplicativos para isso. É responsável por separar o nível interno do nível conceitual de uma estrutura de banco de dados. A independência de dados físicos permite fornecer uma descrição lógica ou visão geral do banco de dados, não necessariamente necessária para especificar os detalhes da estrutura lógica de um banco de dados. De acordo com a independência física dos Dados, quaisquer alterações feitas no nível interno não devem alterar a definição do nível conceitual ou do esquema do nível de visualização.

a independência física permite modificar as estruturas de armazenamento de arquivos, algoritmos de hash, técnicas de compactação, dispositivos de armazenamento, localização do banco de dados, método de acesso, índices e assim por diante. Então, basicamente, trata da implementação de técnicas eficientes de armazenamento de memória. Qualquer alteração feita neste nível será aplicada no mapeamento entre os níveis interno e conceitual do banco de dados. Lembre-se de que as modificações introduzidas devem ser localizadas. A independência dos dados físicos é alcançada pelo nível físico e, em seguida, a transformação do nível conceitual para o interno do banco de dados é realizada.

ocasionalmente, somos obrigados a atualizar o nível interno para melhorar o desempenho de nossos DBMS em vista do gerenciamento de memória. Assim, a independência física dos dados, inegavelmente, desempenha um papel vital com base no fato de que fazer alterações nas técnicas de armazenamento de acordo com nossos requisitos é algo a que um SGBD eficiente deve estar sujeito.

Independência Lógica Dos Dados: A independência lógica de dados dá a liberdade de alterar o nível conceitual do esquema sem colocar qualquer compulsão de alterar as visualizações externas e programas externos ou API. As modificações feitas neste nível são aplicadas no mapeamento de nível de visualização lógica e final. Os programas de aplicativos que dependem fortemente do nível conceitual dificultam a independência lógica dos dados em comparação com a independência física dos dados. Qualquer mudança menor ou maior na estrutura lógica do banco de dados exigiria que mudássemos os programas também. Assim, alcançar a independência lógica dos dados pode ser bastante desafiador. A independência lógica dos dados governa a separação entre o nível de visualização final e o nível conceitual.

a independência lógica de dados nos permite fazer alterações como adicionar, modificar ou excluir um atributo, entidade ou até mesmo um relacionamento. Fazer tais modificações não exige reescrever o programa do aplicativo, mas fazer alterações correspondentes no programa. Ele nos permite mesclar dois registros em um sem afetar a camada externa. Se alguém quiser dividir um registro existente em dois, é possível sem interferir na estrutura de nível de visualização do usuário final de um determinado banco de dados.

fazer modificações oportunas no nível conceitual para manter seu SGBD atualizado é essencial. É por isso que se diz que a independência lógica dos dados está liderando um papel fundamental. Isso não apenas ajuda a melhorar o desempenho e a velocidade do DBMS, mas também é útil para tornar seu banco de dados muito mais prático e confiável.

vantagens da Independência de dados

a independência de dados está em uma base indiscutível quando se trata de ser uma das características mais significativas de um sistema de gerenciamento de banco de dados. Existem várias razões para justificar a necessidade de independência de dados no DBMS. Então, vamos dar uma olhada nas vantagens que saciam as necessidades do DBMS.

  • qualidade dos dados-a independência dos dados ajuda a aumentar a qualidade dos dados armazenados em um banco de dados. Como a modificação da estrutura do banco de dados se torna mais conveniente com a independência de dados, o armazenamento de dados se torna eficiente. Facilita o aprimoramento do estado indiviso ou sem problemas. Assim, resulta na melhoria da qualidade dos dados armazenados.
  • manutenção econômica-a independência de dados nos evita passar pelo problema de fazer alterações em todos os níveis esquemáticos de nosso banco de dados se as alterações forem necessárias em um nível esquemático. Assim, manter nosso banco de dados se torna acessível em boa medida.
  • aspecto de segurança-a aplicação adequada dos padrões e protocolos para proteger o banco de dados torna-se mais fácil. Portanto, a independência de dados é realmente útil para melhorar a segurança do banco de dados.
  • desenvolvedores com foco na estrutura geral: os desenvolvedores podem se concentrar apenas no manuseio e atualização da estrutura lógica sem se preocupar com a implantação interna. As mudanças são absorvidas diretamente pelo nível conceitual e pelo mapeamento de nível interno.
  • redução da incongruência de dados-a independência de Dados suporta a modificação de nossa estrutura de banco de dados devido ao aumento de sua compatibilidade. Isso ajuda a controlar a incongruência de dados.
  • melhorar o desempenho-a independência dos dados alimenta a causa da abstração de dados. Além disso, facilita a implementação suave de novas mudanças. Como resultado, o acesso a dados, recuperação ou modificação de dados torna-se rápido e conveniente. É assim que a independência de dados se mostra útil para melhorar o desempenho do banco de dados.

como podemos inferir dos pontos listados acima, destacando os méritos da Independência de dados, a independência de dados atua como uma das armas do DBMS que superam as desvantagens dos sistemas baseados em arquivos. Pode-se vê-lo como a imunidade dos aplicativos do Usuário contra as alterações feitas na definição do esquema e na organização dos dados. Cada moeda tem duas faces, o mesmo acontece com isso também. Agora que você está bastante convencido de que a independência de dados é a chave para ganhar confiabilidade e segurança de um banco de dados, você deve estar se perguntando sobre seu aspecto mais sombrio. Então, deixe-me dizer que existem apenas duas grandes deficiências que comumente encontramos ao lidar com a independência de dados. O primeiro é o aumento da complexidade que vem com a adoção da Independência de dados. Os bancos de dados devem ser cuidadosamente projetados para fazer o melhor uso da Independência de dados. A segunda desvantagem está relacionada à primeira. Os programas de aplicativos dependem severamente do esquema lógico dos dados. Portanto, alterar a estrutura conceitual exige a alteração do respectivo programa de Aplicação.

espero que este blog tenha sido capaz de lançar luz adequada sobre a independência de dados e agregar valor ao seu conhecimento sobre DBMS. Além da Independência de dados, existem vários outros fatores que implantam um grande impacto em um banco de dados. Para obter uma boa compreensão sobre esses tópicos relevantes do DBMS, você pode consultar outros blogs de grande aprendizado. Fique atento e continue sua jornada de aprendizado conosco. Você pode preferir optar por um curso intensivo no DBMS com uma boa chance de ganhar um certificado. Temos inúmeros cursos certificados que irão beneficiá-lo de uma ou outra forma. Então, o que mais Você está esperando? Vá e inscreva-se para um novo curso aqui! Aprendizagem feliz!

Leave a Reply