A tecnologia de informação está passando por modificações de forma globalizada, atingindo toda a programação computacional, de dispositivos móveis e outros aparelhos eletrônicos. Em virtude do crescimento dessas informações, os usuários estão necessitando de forma mais intensa, de espaços para armazenar seus dados.

Toda aplicação desenvolvida, torna-se fundamental a presença de um banco de dados (SGBD), do qual tem o objetivo de armazenar os dados feitos via aplicação, possuindo uma interatividade entre base de dados, aplicação e usuário.

Vamos entender um pouco mais sobre os principais conceitos dos elementos básicos que determinam a estrutura do modelo de dados e a interação que é realizada com uma aplicação.

Abaixo são apresentados os itens que ajudam a formar um melhor entendimento sobre banco de dados.

Banco de dados

Abaixo estão apresentadas algumas definições de um banco de dados:

  • Coleção de dados inter-relacionados representando informações sobre um domínio específico;
  • Coleção de dados integrados que tem por objetivo atender as necessidades dos usuários;
  • Conjunto de dados persistentes e manipuláveis que obedecem a um padrão de armazenamento;
  • Conjunto de dados com uma estrutura regular que organizam uma informação;

Exemplos: dicionário, lista telefônica, controle do acervo de uma biblioteca, sistema de controle dos recursos humanos de uma empresa, dados pessoais.

Dados

Os dados referem-se a uma recolha de informações organizadas, eventos, atividades e transações que são gravados, classificados e armazenados dentro de um sistema de computador.

Exemplo: texto, fotos, figuras, sons gravados, animação, numéricos, alfanuméricos entre outros.

Informação

A informação é o dado organizado, sendo uma abstração informal (não pode ser gerada através de uma teoria lógica ou matemática), que está na mente da pessoa que está inserindo tal informação, possuindo algum significado.

Exemplo: um texto pode ser uma informação uma fonte de muitas informações ou um conjunto de informação, pois se os dados agrupados gerarem sentido para quem o lê e ficando claro ou não a que se refere, o dado passa a ser o valor de um determinado item, evento do que se refere. Outros exemplos de informação são relatórios, boletim escolar, folha de pagamento.

Conhecimento

O conhecimento é resultado de várias informações organizadas de forma lógica e suficiente para criar um evento. Pode ser caracterizado também como uma abstração interior, algo que foi experimentado, vivenciado por alguém.

Exemplo entre dados e informação

Abaixo é exibido uma tabela em que o dado é o nome, endereço e telefone de cada pessoa. Mostrando de forma individual, podendo ser gerado uma informação, quando estão aglomerados e cadastrados em uma lista telefônica.

Nome Endereço Telefone
Maria Joaquina Av. Flores dos Reis, 332 5568-4445
João Aparecido Rua Jardim Vieira, 122 5211-8854
Tabela 1. Exemplo de dados e informação da tabela lista telefônica que possui alocados dentro dela

Conceitos de um SGBD

As linguagens para manipulação de dados

Um SGBD implica a criação e manutenção de base de dados, eliminando a necessidade de uma especificação de definição de dados, agindo como um comunicador entre programas de aplicação e os ficheiros de dados físicos que separa as visões lógica e a concepção dos dados. São constituídos dos elementos citados abaixo:

  • DDL (Data Definition Language - Linguagem de Definição de dados) - é a execução das declarações que mostra as descrições dos esquemas e também guarda no catálogo do SGBD. A DDL é utilizada em SGBDs que a separação entre níveis interno e conceitual não são muito claras;
  • SDL (Storage Definition Language - Linguagem de Definição de Armazenamento) - é quando a separação entre os níveis internos e conceituais são claras em um SGBDs.
  • VDL (Vision Definition Language - Linguagem de Definição de Visões) - define as visões de em um SGBD.
  • DML (Data Manipulation Language - Linguagem de Manipulação de Dados) - quando o esquema está compilado e o banco de dados encontra-se populado. São usados com o princípio de recuperar, incluir, apagar e modificar/atualizar as informações em um banco de dados.

Sistema de Gerenciamento de Banco de Dados (SGBD)

Conhecidos como SGBD, em inglês Data Base Management System - DBMS - são um conjunto de programas que permite aos usuários criar e manter um banco de dados, do qual sua principal meta é retirar da aplicação cliente a responsabilidade de gerenciar o acesso, a manipulação e a organização dos dados. O SGBD disponibiliza uma interface para que os clientes possam consultar, alterar/atualizar, incluir ou deletar os dados armazenados em um banco de dados.

Tem como característica guardar grandes informações de dados em massa, estruturando em registros e tabelas com funções para acesso e processamento das informações. Abaixo encontram-se alguns exemplos:

  • Oracle;
  • MySQL;
  • SQL Server;
  • FireBird;
  • Access;
  • DBase;
  • Outros;
Configuração de um sistema de banco de dados
Figura 1. Configuração de um sistema de banco de dados

Características de um banco de dados

Serão apresentadas as principais características de banco de dados e processamento de arquivos.

Natureza autodestrutiva

Um ponto interessante no SGBD é na forma de armazenagem dos dados, essas informações são armazenadas no catálogo do SGBD, que possui informações como a estrutura de cada arquivo, o tipo e o formato de armazenamento de cada tipo de dado e restrições. Os metadados são conhecidos como essas informações que ficam dentro dos catálogos, são utilizados tanto pelos software SGBD como pelos usuários que necessitam de informações sobre a estrutura de dados.

Na etapa de processamento de arquivos é permitido o acesso a um único banco de dados específico, podendo a aplicação utilizar várias bases de dados, enquanto utilizar a abordagem banco de dados.

Separação entre programas e dados

Na estrutura de arquivos, qualquer alteração realizada sofre uma alteração no código fonte de todos os programas, pois no processamento tradicional de arquivos a estrutura dos dados está vinculada ao programa de acesso.

A identificação bem definida é importante para banco de dados evoluídos.

Abstração de Dados

Modelagem A abstração de dados é um modelo de dados que fornecem uma utilização de representação conceitual, utilizando objetos, propriedades e relacionamentos, não gerando muitos detalhes de como as informações são guardadas fisicamente para os usuários.

Exemplo de abstração de dados. Descreve a representação e armazenagem de dados em uma situação real em um banco de dados
Figura 2. Exemplo de abstração de dados. Descreve a representação e armazenagem de dados em uma situação real em um banco de dados

Múltiplas Visões de dados

Possuir views para efetuar consultas especializadas de parte dos dados de um banco de dados.

Compartilhamento de dados

O SGBD deve permitir acesso simultâneo para os usuários acessarem ao mesmo tempo o banco de dados. Sendo assim os dados sempre tem que estar armazenados em um único base de dados.

Vantagens de um SGBD

Independência dos dados

O SGBD deve oferecer isolamento das aplicações em relação aos dados. Esta característica permite Modelagem modificar o modelo de dados do banco sem a necessidade de reescrever ou recompilar todos os programas que estão prontos. As definições dos dados e os relacionamentos entre os dados são separados dos códigos aos programas.

Facilidade uso/desempenho

Os arquivos devem ser projetados para atender a diferentes necessidades, permitindo desenvolver aplicações melhores, mais seguras e mais rápidas, onde devem ter comandos avançados em sua linguagem de acesso.

Integridade dos dados

Garantir a integridade dos dados, através da implementação de restrições adequadas, até porque os dados são a parte mais importante de uma aplicação.

Redundância dos dados

Manter a redundância de dados sob controle, ou seja, não pode haver mais de uma representação do mesmo dado, uma boa prática é que esta informação seja armazenada uma única vez.

No processamento tradicional de arquivos, cada grupo de usuários deve manter seu próprio conjunto de arquivos e dados. Sendo assim, ocorre redundâncias que prejudicam os sistemas com problemas como:

  • Toda vez que for necessário atualizar um arquivo de um grupo, é necessário atualizar todos os grupos para manterem a integridade dos dados no ambiente como um todo;
  • Redundância desnecessária de dados, acaba levando ao armazenamento excessivo de informações, ocupando espaço que poderia ser utilizado com outras informações.

Segurança e privacidade dos dados

Deve assegurar que os dados armazenados só poderão ser acessados ou modificados por usuários autorizados.

Agilidade na recuperação após falha no retorno dos dados

Os dados são de importância vital e não podem ser perdidos. Sendo assim, o SGBD deve implementar sistemas de tolerância a falhas, tais como estrutura automática de recuperação e uso do conceito de transação.

Uso compartilhado

Um SGBD deve permitir que múltiplos usuários acessem o banco de dados ao mesmo tempo. Este fator é essencial para que múltiplas aplicações integradas que acessam o mesmo banco em tempo paralelo. O SGBD multiusuário deve manter o controle de concorrência para assegurar que os resultados de atualizações sejam corretos.

Exemplo: O mesmo sistema de uma farmácia que possui suas redes em duas ou mais cidades, precisa acessar e manipulando os dados a todo momento no banco.

Controle do espaço de armazenamento

Possuir controle das áreas de disco ocupadas, evitando a ocorrência de falhas por falta de espaço de armazenamento.

Restrição a Acesso não Autorizado

Fornece um subsistema de autorização e segurança, do qual é utilizado pelo DBA (Administrador de Banco de Dados) que efetua a criação das “contas” e específica as restrições destas contas. O controle de restrições se aplica tanto ao acesso aos dados quanto ao uso de softwares inerentes ao SGBD.

Representação de Relacionamentos Complexos entre Dados

Poder incluir em um banco de dados uma variedade de dados que estão inter-relacionados de várias formas. O SGBD deve fornecer recursos para se representar uma grande variedade de relacionamentos entre os dados, bem como, recuperar e atualizar os dados de maneira prática e eficiente.

Tolerância a Falhas e Rápida recuperação após falha

Objetivos de um Sistema de Bases de Dados

  • Isolar os usuários dos detalhes mais internos do banco de dados (abstração de dados);
  • Prover independência de dados às aplicações (estrutura física de armazenamento e à estratégia de acesso);
  • Capacitação de modelagem de dados;
  • Implementação de vários tipos de informações em diversos tipos de SGBDs;
  • Ter condições de elaboração de um projeto de SGBD desde a construção conceitual, passando pela parte lógica e aplicando todos os conceitos para a implantação física do banco de dados.

Por que utilizar bancos de dados informatizados?

  • Compacto (elimina arquivos de papéis);
  • Rapidez;
  • Integrado (vários aplicativos utilizam o mesmo repositório de dados);
  • Compartilhado (vários usuários podem acessar);
  • Seguro (controle de acesso);
  • Padronizado;
  • Consistente;
  • Suporte a transações.

Saiu na DevMedia!

  • 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 Modelagem de Dados ;)

  • Guia de Modelagem de Dados: Essa guia terá como objetivo apresentar a modelagem de dados, desde seus primeiros passos com banco pequenos até a modelagem para bancos Big Data.