Este meu segundo artigo sobre Modelagem de Banco de Dados é relacionado a Arquitetura de um SGBD, que mostra de uma forma gráfica os níveis de arquitetura e exemplos de comunicações de dados com outros bancos.

Modelagem de Dados

Um modelo de dados é usado para descrever a estrutura lógica e física de um banco de dados. Os relacionamentos, tipos de dados e restrições são conhecidos como essa estrutura ou nível, se dividindo em 2 tipos:

  • Alto Nível - podemos chamar de modelo de dados conceitual ou modelo Entidade-Relacionamento, o seu principal conceito é uma projeção dos dados que deixa o mais próximo possível da visão que o usuário tem dos dados.
  • Baixo Nível - conhecido como modelo de dados físico, é o que fornece uma visão mas detalhada do modo como os dados estão aramazenados no computador.

Esquemas

Quando é usado o termo descrição do banco de dados, entendemos como a chamada de “esquema de uma banco de dados” que é especificada durante um projeto de banco de dados.

Instâncias

As instâncias são formadas quando um dados são guardados no banco por um determinado tempo onde que se forma essas instâncias de banco de dados, sendo alterada toda vez que uma alteração na base de dados é realizada. O SGBD garante que todas instâncias satisfaça ao esquema do banco de dados, respeitando sua estrutura e suas restrições.

Na arquitetura de um SGBD têm como principal objetivo, separar aplicações do usuário dos dados físico que são dividos nos esquemas abaixo:

  • Nível interno ou esquema interno - usa um modelo de dados que mostra a estrutura de armazenamento físico do banco de dados, os detalhes dos dados guardados e os caminhos de acesso.
  • Nível conceitual ou esquema conceitual - efetua uma descrição total da estrutura do banco de dados mas não ofere detalhes dos dados guardados no banco de dados.
  • Nível externo ou esquema de visão - descreve as visões do banco de dados para um grupo de usuários que mostra quais usuários terão acesso à esse banco.
Arquitetura das Camadas de um SGBD
Figura 1: Arquitetura das Camadas de um SGBD

Independência de Dados

Podemos dizer que é permitido efetuar alterações no esquema ou no nível de um banco de dados, sem alterar um nível superior. Apenas lembrando que esses níveis ou esquemas estão representados na Figura 1. Abaixo está representando dois tipos de independência de dados:

  • Independência de dados lógica: permite alterar apenas o nível conceitual, não havendo nenhuma alteração no nível externo ou nas aplicações do usuário.
  • Independência de dados física: permite alterar o nível interno sem ter que alterar o nível conceitual, nível externo ou as aplicações do usuário.

Linguagens para Manipulação de Dados

O uso da linguagem DDL (Data Definition Language - Linguagem de Definição de Dados) é definido pelo nível conceitual e interno. Quando há uma separação do nível interno e conceitual que não é absorvido uma visão clara do usuário, o SGBD tem a ação de compilar o DDL, tendo como ação, a permissão de executar as declarações identificadas pelas suas descrições dos esquemas/níveis onde irá armazená-las no catálogo do SGBD.

Nos casos que essa separação tem um entendimento do usuário utiliza-se a linguagem SDL (Storage Definition Language - Linguagem de Definição de Armazenamento) para a especificação do esquema/nível interno.

Por final, quando o SGBD usa a arquitetura com os três níveis, é utilizado a linguagem VDL (Vision Definition Language) que serve para a deinição das visões (views) do banco.

Quando o desenvolvedor tem o conhecimento em uma linguagem SQL (Strucuture Query Language) basta apenas usar a base dos comandos que formam as linguagens DDL, DCL e a DML, que estão descritos abaixo:

  • DDL (comandos que criam, alteram ou removem objetos) - CREATE, ALTER, DROP.
  • DCL (comandos que ajudam na segurança do banco de dados) - GRANT, REVOKE.
  • DML (comandos responsáveis pela manipulação dos dados) - SELECT, DELETE, UPDATE, INSERT.

Classificação dos SGBDs

  • Usuários: monousuários, são usados em estações de trabalho, minicomputadores e máquinas de grande porte.
  • Localização: possuem 2 estados localizado e distribuído. Quando é localizado todos os dados encontram-se em um único disco, se for distribuído os dados estarão em várias máquinas.
  • Ambiente: possui 2 tipos, os homogêneo que é o ambiente formado por um único SGBD e o heterogêneo que é o ambiente composto por diferentes SGBDs. Um exemplo é ter um sistema rodando 2 tipos de banco de dados.
Estrutura de um Sistema Gerenciador de Banco de Dados
Figura 2: Estrutura de um Sistema Gerenciador de Banco de Dados

Fico por aqui com mais este artigo no qual conhecemos melhor mais alguns conceitos relacionados a modelagem de dados. Espero que tenham gostado e até a próxima oportunidade.


Saiu na DevMedia!

  • Série Autenticação em Aplicações Web:
    Tornar algumas páginas acessíveis apenas a um grupo de usuários autenticados é uma tarefa trivial em aplicações web. Existem diferentes frameworks para isso, mas a maioria deles cobre desde o cadastro até as credenciais, passando pela autenticação e controle de acesso. Quer saber qual a lógica por trás dessas etapas?
  • React Native: do Hello World ao CRUD:
    React é um framework JavaScript criado pelo Facebook para facilitar a construção de interfaces de usuário. React Native, da mesma empresa, nos permite criar aplicações mobile nativas utilizando JavaScript, na lógica, e React, para estruturar as views.

Saiba mais sobre SGBDs ;)

  • Cursos de Banco de Dados:
    Aprenda a modelar, implementar e administrar bancos de dados usando as ferramentas mais solicitadas do mercado. Domine a linguagem SQL e os principais SGBDs: SQL Server, Oracle, MySQL e outros.
  • Banco de Dados para Programadores:
    Todo programador deveria entender de banco de dados para ser um profissional mais completo, mas isso não é tarefa simples. Nesse guia você irá aprofundar seus conhecimentos em SQL, modelagem, e os principais SGBDs do mercado. Vamos evoluir!
  • ÚLTIMAS ATUALIZAÇÕES BANCO DE DADOS:
    Nesta página listamos os últimos artigos, vídeos e cursos sobre Banco de dados e suas tecnologias. Aprenda Modelagem, SQL, SGBDs e NoSQL. Veja mais!